background image

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.