qemu-kvm 如何与 kvm 模块交互?

jae*_*ong 1 kvm qemu

我正在尝试阅读 qemu-kvm 和 kvm 模块,但很难理解以下内容:

How does qemu-kvm interact with kvm kernel module?
Run Code Online (Sandbox Code Playgroud)

任何解释或指示将不胜感激。

Pao*_*ini 5

qemu-kvm 通过 ioctls 与 KVM 交互。KVM_CREATE_VM ioctl 发送到 /dev/kvm 的文件描述符,创建 VM 文件描述符。发送到 VM 文件描述符的 KVM_CREATE_VCPU 创建 VCPU 文件描述符。发送到 VCPU 文件描述符的 KVM_SET_REGS ioctl 初始化寄存器。通过映射 VCPU 文件描述符,在 QEMU 和 KVM 之间传递更多信息。最后,guest 运行时将 KVM_RUN ioctl 发送到 VCPU 文件描述符,直到内核需要 QEMU 来做某事(通常模拟一些虚拟硬件)。