LoongArch KVM
概况
依据LoongArch CPU虚拟化硬件特性在Linux内核中实现了KVM虚拟化软件处理流程。目前可以配合用户态QEMU程序正常运行LoongArchKVM虚拟机。
LoongArch KVM虚拟化组件包含用户态QEMU程序,内核态Linux KVM模块,以及物理硬件支持。
LoongArch KVM虚拟化整体运行流程如图所示首先用户态OEMU创建KVM虚拟机并初始化运行环境,然后进入内核态KVM,让CPU在虚拟化模式下运行虚拟机程序。
当vCPU触发异常时会退出到内核态KVM来处理异常如果KVM能够处理则重新进入虚拟化模式运行,否贝I再退出到用户态处理,处理完成后返回KVM再进入虚拟机。
目前在Linux内核中提交的补丁为LoongArch KVM的基础版本,包含CPU虚拟化和内存虚拟化。后续会进一步完善如中断控制器下移至内核态、向量指令支持、hypercall指今支、硬件PMU支持等功能