Не удалось изменить состояние активности виртуальной машины на HLT в VMX - PullRequest
0 голосов
/ 23 мая 2018

Я изучаю Intel VMX и написал модуль ядра Linux для запуска ВМ.
ВМ выполнит инструкцию 'hlt', и произойдет VMExit, равный 12.
Но после VMExit 'состояние активности'0, а не 1. Я проверил MSR 0x485, это 0x401E0, что означает, что биты [6: 8] равны 1, состояние HLT поддерживается.
Почему состояние активности НЕ равно 1, когда VMзапускает инструкцию 'hlt'?

1 Ответ

0 голосов
/ 23 мая 2018

Выход vm происходит за до выполнения команды остановки.Если вы хотите ввести гостя в состоянии остановки, установите состояние активности и возобновите гостя.

Если вы отключите выход из режима остановки, гость войдет в состояние остановки.Если у вас разрешен выход из прерывания, то при выходе vm из-за следующего прерывания вы увидите, что состояние активности «остановлено».

...