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

Table Of Contents
Vol. 3 22-3
VM ENTRIES
VM-instruction error field. See Chapter 5 of the Intel® 64 and IA-32 Architec-
tures Software Developer’s Manual, Volume 2B for the error numbers.
22.2 CHECKS ON VMX CONTROLS AND HOST-STATE AREA
If the checks in Section 22.1 do not cause VM entry to fail, the control and host-state
areas of the VMCS are checked to ensure that they are proper for supporting VMX
non-root operation, that the VMCS is correctly configured to support the next
VM exit, and that, after the next VM exit, the processors state is consistent with the
Intel 64 and IA-32 architectures.
VM entry fails if any of these checks fail. When such failures occur, control is passed
to the next instruction, RFLAGS.ZF is set to 1 to indicate the failure, and the
VM-instruction error field is loaded with an error number that indicates whether the
failure was due to the controls or the host-state area (see Chapter 5 of the Intel® 64
and IA-32 Architectures Software Developer’s Manual, Volume 2B).
These checks may be performed in any order. Thus, an indication by error number of
one cause (for example, host state) does not imply that there are not also other
errors. Different processors may thus give different error numbers for the same
VMCS.
The checks on the controls and the host-state area are presented in Section 22.2.1
through Section 22.2.4. These sections reference VMCS fields that correspond to
processor state. Unless otherwise stated, these references are to fields in the host-
state area.
22.2.1 Checks on VMX Controls
This section identifies VM-entry checks on the VMX control fields.
22.2.1.1 VM-Execution Control Fields
VM entries perform the following checks on the VM-execution control fields:
1
Reserved bits in the pin-based VM-execution controls must be set properly.
Software may consult the VMX capability MSRs to determine the proper settings
(see Appendix G.3.1).
Reserved bits in the primary processor-based VM-execution controls must be set
properly. Software may consult the VMX capability MSRs to determine the proper
settings (see Appendix G.3.2).
If the “activate secondary controls” primary processor-based VM-execution
control is 1, reserved bits in the secondary processor-based VM-execution
1. If the “activate secondary controls” primary processor-based VM-execution control is 0, VM entry
operates as if each secondary processor-based VM-execution control were 0.