Software Archive
Read-only legacy content
17061 Discussions

Exit qualification VMCS field has an incorrect value

vmmcall
Beginner
763 Views
Hi, I'm a developer of a simple and tiny hypervisor. Now I have a huge trouble with behavior of VMCS' "Exit qualification" field.
For example, this guest assembly code...
...
mov eax, CR4_PSE_BIT
mov cr4, eax
...
... causes #VMEXIT with exit reason 0x1C.
At the next step my hypervisor analizes a value of "Exit qualification" field to determine a type of instruction and registers' numbers.
And its value is wrong. For "mov cr4, eax" this is 0x13, but it's an incorrect value (it's correct for "mov eax, cr3"). When I change an instruction in guest to another "MOV CR" instruction this value changes, but often it isn't correct too.
Can anybody help me? What's the probable reason of such behavior?
My hypervisor works with EPT and Unrestricted guest extensions.
0 Kudos
1 Reply
Quoc-Thai_L_Intel
763 Views

After searching for the information, I founda section in the System Programming Guide, Part 2 of Volume 3B that talks about the Exit qualification. This may provide you some hints.
-Thai

0 Kudos
Reply