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

Table Of Contents
Vol. 3 G-7
VMX CAPABILITY REPORTING FACILITY
G.5 VM-ENTRY CONTROLS
The IA32_VMX_ENTRY_CTLS MSR (index 484H) reports on the allowed settings of
most of the VM-entry controls (see Section 20.8.1):
Bits 31:0 indicate the allowed 0-settings of these controls. VM entry fails if bit X
is 0 in the VM-entry controls and bit X is 1 in this MSR.
Exceptions are made for the VM-entry controls in the default1 class (see
Appendix G.2). These are bits 0–8 and 12; the corresponding bits of the
IA32_VMX_ENTRY_CTLS MSR are always read as 1. The treatment of these
controls by VM entry is determined by bit 55 in the IA32_VMX_BASIC MSR:
If bit 55 in the IA32_VMX_BASIC MSR is read as 0, VM entry fails if any
VM-entry control in the default1 class is 0.
If bit 55 in the IA32_VMX_BASIC MSR is read as 1, the
IA32_VMX_TRUE_ENTRY_CTLS MSR (see below) reports which of the
VM-entry controls in the default1 class can be 0 on VM entry.
Bits 63:32 indicate the allowed 1-settings of these controls. VM entry fails if bit X
is 1 in the VM-entry controls and bit 32+X is 0 in this MSR.
If bit 55 in the IA32_VMX_BASIC MSR is read as 1,
the IA32_VMX_TRUE_ENTRY_CTLS MSR (index 490H) reports on the allowed
settings of all of the VM-entry controls:
Bits 31:0 indicate the allowed 0-settings of these controls. VM entry fails if bit X
is 0 in the VM-entry controls and bit X is 1 in this MSR. There are no exceptions.
Bits 63:32 indicate the allowed 1-settings of these controls. VM entry fails if bit X
is 1 in the VM-entry controls and bit 32+X is 0 in this MSR.
Note that it is necessary for software to consult only one of the capability MSRs to
determine the allowed settings of the VM-entry controls:
If bit 55 in the IA32_VMX_BASIC MSR is read as 0, all information about the
allowed settings of the VM-entry controls is contained in the
IA32_VMX_ENTRY_CTLS MSR. (The IA32_VMX_TRUE_ENTRY_CTLS MSR is not
supported.)
If bit 55 in the IA32_VMX_BASIC MSR is read as 1, all information about the
allowed settings of the VM-entry controls is contained in the
IA32_VMX_TRUE_ENTRY_CTLS MSR. Assuming that software knows that the
default1 class of VM-entry controls contains bits 0–8 and 12, there is no need for
software to consult the IA32_VMX_ENTRY_CTLS MSR.
G.6 MISCELLANEOUS DATA
The IA32_VMX_MISC MSR (index 485H) consists of the following fields:
Bits 4:0 report a value X that specifies the relationship between the rate of the
VMX-preemption timer and that of the timestamp counter (TSC). Specifically, the