在kvm / arch / x86 / vmx.c中,许多地方使用EXIT_QUALIFICATION(类型为u64)。根据我的理解,它被用于中断和故障处理。但不确定这一点。它获取值的具体位是什么意思?
任何有关理解EXIT_QUALIFICATION的目的和功能的指导或参考都将非常有用
请求
我不知道为什么它会因为谷歌搜索被拒绝但无济于事。在投票失败之前,如果您认为我没有投入研究工作,我可以在投票结束前发布链接以供参考,以解释我的问题所需的概念
答案 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。