KVM 的用途是什么 EXIT_QUALIFICATION

KVM what is the purpose of EXIT_QUALIFICATION

在kvm/arch/x86/vmx.c中EXIT_QUALIFICATION(u64类型)用在很多地方。据我了解,它被用于中断和故障处理。但不确定这一点。它在哪里获得价值它的特定位是什么意思?

任何帮助理解 EXIT_QUALIFICATION 的目的和功能的指导或参考都将是极大的帮助

请求

我不知道为什么它被否决了,因为我用谷歌搜索但无济于事。如果您认为我没有投入研究工作,我请求 post link 以供参考,以解释我的问题中所需的概念

EXIT_QUALIFICATION指的是x86虚拟机控制结构(VMCS)的一个字段。一句话VMCS控制了很多虚拟机的状态,也可以用来判断是什么原因导致虚拟机退出到hypervisor。

来自英特尔 x86 参考手册第 3 卷第 24.9.1 节:

Exit qualification (64 bits; 32 bits on processors that do not support Intel 64 architecture). This field contains additional information about the cause of VM exits due to the following: debug exceptions; page-fault exceptions; start-up IPIs (SIPIs); task switches; INVEPT; INVLPG;INVVPID; LGDT; LIDT; LLDT; LTR; SGDT; SIDT; SLDT; STR; VMCLEAR; VMPTRLD; VMPTRST; VMREAD; VMWRITE; VMXON; control-register accesses; MOV DR; I/O instructions; and MWAIT. The format of the field depends on the cause of the VM exit. See Section 27.2.1 for details.

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

读取 VMCS