Comments 9
Получается, что виртуальная машина KVM всегда загружается в режиме Legacy?
Насколько я знаю, можно настроить любой режим процессора. Ну и если вместо seabios в память закинуть какой-нибудь UEFI, то можно будет бутаться в режиме UEFI.
Да, можно еще уточнить, что если вопрос был про запуск KVM вручную (через API /dev/kvm), то перед вызовом KVM_RUN, используя KVM_SET_REGS и KVM_SET_SREGS можно настроить регистры процессора как угодно, в том числе так, чтобы он сразу стартовал в Protected mode. Но по умолчанию (если их не менять), значения регистров устанавливаются как при старте условного физического процессора.
А если вопрос по поводу запуска из QEMU, то по умолчанию он использует SeaBIOS (legacy BIOS), но с помощью опций -bios или -pflash, можно задать ему какой-то UEFI, например OVMF и он будет грузить его. Ну и еще, QEMU может запускать ядро Linux напрямую.
Спасибо за статью, прекрасный разбор изложен отличным языком.
Правильно ли я понимаю, что ioctl(vcpu_fd, KVM_RUN, 0); вызов блокирующий и выполняется на вызывающем потоке в пользовательском пространстве?
А как происходит взаимодействие хост вызова kill(9) вызывающей программы и KVM?
Если виртуальный процессор представлен как хост-поток, то с точки зрения виртуальной машины как выглядит kill рабочего потока? Аппаратный отказ процессора?
Еще раз спасибо за проделанную работу.
выглядит как "я перестал существовать"
Правильно ли я понимаю, что ioctl(vcpu_fd, KVM_RUN, 0); вызов блокирующий и выполняется на вызывающем потоке в пользовательском пространстве?
Да, все верно.
А как происходит взаимодействие хост вызова kill(9) вызывающей программы и KVM?
Если имеется ввиду kill -9 vm_pid
, то так же, как и с любым другим процессом, операционная система его просто принудительно завершит.
Если виртуальный процессор представлен как хост-поток, то с точки зрения виртуальной машины как выглядит kill рабочего потока? Аппаратный отказ процессора?
Если kill -9, то скорее как будто выдернули шнур питания.
Отличная статья! Буду ждать продолжения.
Спасибо, побольше бы таких статей на Habr
Уважаемый автор, огромное спасибо за интереснейшую статью!!!
Но вот вопрос, а где продолжение? Очень надо -)
KVM: Что такое Kernel-based Virtual Machine?