Я пытаюсь лучше понять, как libvirt взаимодействует с KVM, чтобы иметь возможность запускать экземпляры KVM из одного процесса на хост-компьютере, который я разрабатываю.
Использует ли он ioctl, как qemu-kvm? Использует ли он какой-то удаленный обмен сообщениями, такой как dbus, или прямой обмен сообщениями с локальным сокетом (я склоняюсь к локальному сокету)? Или у него есть прямая привязка к ABI ядра для KVM?
Возможно ли (как возможно выше в ядре, а не в ядре) (и не самая плохая идея) обойти libvirt и напрямую общаться с KVM способом, который использует libvirt? (Эта часть больше любопытна)