【发布时间】:2017-12-05 20:39:18
【问题描述】:
如果虚拟机管理程序希望取消来宾 VM 使用 RDRAND指令,要实现这个需要什么步骤
【问题讨论】:
-
@MichaelPetch 如果您模拟 cpiud 并删除 cpuid 中的 rdrand 功能怎么办?
-
@MichaelPetch:像 VMX 这样的硬件虚拟化可以选择在 CPUID 上退出 VM。但我仍然不确定您是否真的可以禁用 ISA 扩展而不仅仅是它们的 CPUID 功能标志。在 CPUID 中禁用 AVX 将导致客户机操作系统不启用对它的支持,因此 AVX 指令实际上会在客户机中出错。但 RDRAND 或 BMI2 不同。
-
@PeterCordes :我可能错误地认为,因为没有提到它不适用的硬件辅助虚拟化(即 Intel-VT)。这可能是一个错误的假设,应该是 OP 应该澄清的事情。
-
@MichaelPetch:我假设是 VMX,因为它被标记为
[intel]。如今,基本上所有 CPU 都支持硬件虚拟化。并且绝对是当今进行虚拟化的主流方式。 -
@Peter,CPUID 是少数几条无条件导致虚拟机退出的指令之一。
标签: x86 intel virtualization