KVM EXIT_QUALIFICATION的目的是什么

时间:2015-06-06 15:08:10

标签: unix virtualization kvm

在kvm / arch / x86 / vmx.c中,许多地方使用EXIT_QUALIFICATION(类型为u64)。根据我的理解,它被用于中断和故障处理。但不确定这一点。它获取值的具体位是什么意思?

任何有关理解EXIT_QUALIFICATION的目的和功能的指导或参考都将非常有用

请求

我不知道为什么它会因为谷歌搜索被拒绝但无济于事。在投票失败之前,如果您认为我没有投入研究工作,我可以在投票结束前发布链接以供参考,以解释我的问题所需的概念

1 个答案:

答案 0 :(得分:1)

EXIT_QUALIFICATION指的是x86虚拟机控制结构(VMCS)的字段。单句中的VMCS控制着很多虚拟机状态,也可用于确定导致虚拟机退出虚拟机管理程序的原因。

从Intel x86参考手册第3卷第24.9.1节:

  

退出资格(64位;不支持Intel 64体系结构的处理器上为32位)。此字段包含其他内容   有关由于以下原因导致VM退出的原因的信息:debug   例外情况;页面错误异常;启动IPI(SIPIs);任务   开关; INVEPT; INVLPG; INVVPID; LGDT;激光损伤阈值; LLDT; LTR; SGDT; SIDT;   SLDT; STR; VMCLEAR; VMPTRLD; VMPTRST; VMREAD; VMWRITE; VMXON;   控制寄存器访问; MOV DR; I / O指令;和MWAIT。该   字段的格式取决于VM退出的原因。见章节   27.2.1了解详情。

查看使用EXIT_QUALIFICATION的地方,会发现很多vmcs_readl(EXIT_QUALIFICATION)。这基本上是读取VMCS的EXIT_QUALFICIATION字段。必须通过特殊指令vmread读取VMCS。