【发布时间】:2018-03-19 12:29:57
【问题描述】:
VMX 模式是否为虚拟化系统架构师提供了检测以前无法捕获的敏感指令的能力?
【问题讨论】:
-
你的意思是像CPUID?我想是的。
标签: x86 intel cpu-architecture processor
VMX 模式是否为虚拟化系统架构师提供了检测以前无法捕获的敏感指令的能力?
【问题讨论】:
标签: x86 intel cpu-architecture processor
不,不是在所有情况下。相反,VMX 模式会改变其中一些指令的行为,使其不敏感。
以下是几个敏感指令在 VMX 非 root 模式下的行为示例:
SMSW:在 VMX 模式下它不会捕获,但它会替代
VMM 为某些位的实际值指定的值。POPF:指令的行为没有改变,但控制
中断可以被 VMCS 中的控件覆盖,以防止
访客更改为 IF 不会影响 VMM 或其他访客。此参考在第 28 页上有一个敏感 x86 指令列表:https://www.cs.cmu.edu/~410-s14/lectures/L30_Virtualization.pdf。 Intel SDM 第 3 卷第 25 章详细描述了每条指令的行为变化。
【讨论】:
我会说是的。根据this Virtualization and Virtual Machines presentation 的第 13 至 17 页,硬件虚拟化似乎是解决该问题的一种尝试。
pdf @prl posted 在幻灯片 45 上还说:
如果客户内核运行敏感指令,硬件会向 VMM 执行“VM 退出”,指示被捕获的指令
【讨论】: