Intel 64 and IA-32 Architectures Software Developers Manual Volume 3B, System Programming Guide Part 2

Table Of Contents
Vol. 3 22-9
VM ENTRIES
The selector fields for CS and TR cannot be 0000H.
The selector field for SS cannot be 0000H if the “host address-space size” VM-exit
control is 0.
On processors that support Intel 64 architecture, the base-address fields for FS,
GS, GDTR, IDTR, and TR must contain canonical addresses.
22.2.4 Checks Related to Address-Space Size
On processors that support Intel 64 architecture, the following checks related to
address-space size are performed on VMX controls and fields in the host-state area:
If the logical processor is outside IA-32e mode (if IA32_EFER.LMA = 0) at the
time of VM entry, the following must hold:
The “IA-32e mode guest” VM-entry control is 0.
The “host address-space size” VM-exit control is 0.
If the logical processor is in IA-32e mode (if IA32_EFER.LMA = 1) at the time of
VM entry, the “host address-space size” VM-exit control must be 1.
If the “host address-space size” VM-exit control is 0, the following must hold:
The “IA-32e mode guest” VM-entry control is 0.
Bits 63:32 in the RIP field is 0.
If the “host address-space size” VM-exit control is 1, the following must hold:
Bit 5 of the CR4 field (corresponding to CR4.PAE) is 1.
The RIP field contains a canonical address.
On processors that do not support Intel 64 architecture, checks are performed to
ensure that the “IA-32e mode guest” VM-entry control and the “host address-space
size” VM-exit control are both 0.
22.3 CHECKING AND LOADING GUEST STATE
If all checks on the VMX controls and the host-state area pass (see Section 22.2), the
following operations take place concurrently: (1) the guest-state area of the VMCS is
checked to ensure that, after the VM entry completes, the state of the logical
processor is consistent with IA-32 and Intel 64 architectures; (2) processor state is
loaded from the guest-state area or as specified by the VM-entry control fields; and
(3) address-range monitoring is cleared.
Because the checking and the loading occur concurrently, a failure may be discov-
ered only after some state has been loaded. For this reason, the logical processor
responds to such failures by loading state from the host-state area, as it would for a
VM exit. See Section 22.7.