linux - 无法在 VMX 中将 VM 的事件状态更改为 HLT

标签 linux x86 virtualization

我正在研究 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/

相关文章:

64-bit - 我可以在 32 位计算机上运行 64 位 VMware 镜像吗?

c++ - 如何在 Linux 上用 C++ 计算 SHA-512 哈希值?

assembly - 如何在汇编中实现 mod 运算符

assembly - 我什么时候应该单独使用 AESIMC,而不是使用 AESDEC

c - 将CPU寄存器保存到GCC中的变量中

python - 如何使用 conda 使用 Flask 设置虚拟环境?

c - 当我希望我的代码(客户端和服务器)在各种场景下工作时,系统化的方式是什么?

java - 来自/usr/share/java 的 JAR 依赖解析

java - 如何登录linux服务器?

mysql - 在容器中找不到 Docker MariaDB 卷?