23-4 Vol. 3C
INTRODUCTION TO VIRTUAL MACHINE EXTENSIONS
“Supporting Processor Operating Modes in Guest Environments,” for a discussion of how a VMM
might support guest software that expects to run in unpaged protected mode or in real-address
mode.
Later processors support a VM-execution control called “unrestricted guest” (see Section 24.6.2).
If this control is 1, CR0.PE and CR0.PG may be 0 in VMX non-root operation (even if the capability
MSR IA32_VMX_CR0_FIXED0 reports otherwise).
1
Such processors allow guest software to run in
unpaged protected mode or in real-address mode.
•
VMXON fails if a logical processor is in A20M mode (see “VMXON—Enter VMX Operation” in Chapter 30). Once
the processor is in VMX operation, A20M interrupts are blocked. Thus, it is impossible to be in A20M mode in
VMX operation.
•
The INIT signal is blocked whenever a logical processor is in VMX root operation. It is not blocked in VMX non-
root operation. Instead, INITs cause VM exits (see Section 25.2, “Other Causes of VM Exits”).
•
Intel
®
Processor Trace (Intel PT) can be used in VMX operation only if IA32_VMX_MISC[14] is read as 1 (see
Appendix A.6). On processors that support Intel PT but which do not allow it to be used in VMX operation,
execution of VMXON clears IA32_RTIT_CTL.TraceEn (see “VMXON—Enter VMX Operation” in Chapter 30); any
attempt to set that bit while in VMX operation (including VMX root operation) using the WRMSR instruction
causes a general-protection exception.
1. “Unrestricted guest” is a secondary processor-based VM-execution control. If bit 31 of the primary processor-based VM-execution
controls is 0, VMX non-root operation functions as if the “unrestricted guest” VM-execution control were 0. See Section 24.6.2.