Я пытаюсь читать модули qemu-kvm и kvm, и мне довольно сложно понять следующее:
How does qemu-kvm interact with kvm kernel module?
Приветствуются любые объяснения или указатели.
Я пытаюсь читать модули qemu-kvm и kvm, и мне довольно сложно понять следующее:
How does qemu-kvm interact with kvm kernel module?
Приветствуются любые объяснения или указатели.
qemu-kvm взаимодействует с KVM через ioctls. KVM_CREATE_VM ioctl, отправленный в файловый дескриптор для / dev / kvm, создает файловый дескриптор виртуальной машины. KVM_CREATE_VCPU, отправленный в файловый дескриптор виртуальной машины, создает файловый дескриптор VCPU. KVM_SET_REGS ioctl, отправленный файловому дескриптору VCPU, инициализирует регистры. Дополнительная информация передается между QEMU и KVM путем преобразования дескриптора файла VCPU. Наконец, гость работает с KVM_RUN ioctl, отправленным в файловый дескриптор VCPU, до тех пор, пока ядру не понадобится QEMU для выполнения каких-либо действий (обычно имитирующих какое-то виртуальное оборудование).
Он использует ioctl()
, более подробную информацию о типах ioctl см. здесь