如何删除来宾VM使用RDRAND指令的能力?

时间:2017-12-05 20:39:19

标签: x86 intel virtualization

如果虚拟机管理程序希望删除访客VM使用该虚拟机的能力 RDRAND指令,必须采取哪些步骤来实现这一目标

1 个答案:

答案 0 :(得分:1)

是的,英特尔VMX硬件虚拟化具有硬件支持,可以使rdrandrdseed进入虚拟机出口。

例如,请参阅discussion on the Linux kernel mailing list有关修补KVM(内置于Linux的虚拟机管理程序)的信息:

  

即使主持人,也可能未将来宾配置为支持RDSEED   确实。如果访客不支持RDSEED,则拦截该指令   并合成#UD。同时清除RDSEED退出的“allowed-1”位   在IA32_VMX_PROCBASED_CTLS2 MSR。

相关的VMX ctrls为SECONDARY_EXEC_RDRAND_EXITINGSECONDARY_EXEC_RDSEED_EXITING。 (请参阅在KVM源代码中重命名的this patch以匹配英特尔在x86 Software Development Manuals (SDM)中调用它们的内容,您可以在其中找到有关如何对VMX进行编程以执行所需操作的更多详细信息。)

我刚刚使用了KVM的链接,因为当我检查是否有硬件支持时,它首先出现在Google上。