我正在研究 Intel VMX,并编写了一个 Linux 内核模块来运行 VM。
VM将执行'hlt'指令,并发生VMExit of 12。
但是在VMExit之后,'activity state'是0,不是1。我查看了0x485的MSR,是0x401E0,也就是说bit[6:8]都是1,支持HLT状态。
当 VM 运行“hlt”指令时,为什么事件状态不是 NOT 1?
最佳答案
vm 退出发生在 停止指令执行之前。如果想进入halt状态的guest,设置activity状态,resume guest。
如果关闭halt exiting,guest将进入halt状态。如果您启用了中断退出,当虚拟机因下一个中断而退出时,您将看到事件状态为“暂停”。
关于linux - 无法在 VMX 中将 VM 的事件状态更改为 HLT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50480472/