我正在尝试阅读 qemu-kvm 和 kvm 模块,但很难理解以下内容:
How does qemu-kvm interact with kvm kernel module?
任何解释或指示将不胜感激。
qemu-kvm 通过 ioctls 与 KVM 交互。KVM_CREATE_VM ioctl,发送到 /dev/kvm 的文件描述符,创建一个 VM 文件描述符。发送到 VM 文件描述符的 KVM_CREATE_VCPU 创建一个 VCPU 文件描述符。发送到 VCPU 文件描述符的 KVM_SET_REGS ioctl 初始化寄存器。更多信息通过映射 VCPU 文件描述符在 QEMU 和 KVM 之间传递。最后,客户机使用发送到 VCPU 文件描述符的 KVM_RUN ioctl 运行,直到内核需要 QEMU 做某事(通常模拟一些虚拟硬件)。
它使用ioctl()
了有关 ioctl 类型的更多详细信息,请参见此处