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

Table Of Contents
22-4 Vol. 3
VM ENTRIES
controls must be set properly. Software may consult the VMX capability MSRs to
determine the proper settings (see Appendix G.3.3).
If the “activate secondary controls” primary processor-based VM-execution
control is 0 (or if the processor does not support the 1-setting of that control),
no checks are performed on the secondary processor-based VM-execution
controls. The logical processor operates as if all the secondary processor-based
VM-execution controls were 0.
The CR3-target count must not be greater than 4. Future processors may support
a different number of CR3-target values. Software should read the VMX capability
MSR IA32_VMX_MISC to determine the number of values supported (see
Appendix G.6).
If the “use I/O bitmaps” VM-execution control is 1, bits 11:0 of each I/O-bitmap
address must be 0. On processors that support Intel 64 architecture, neither
address should set any bits beyond the processor’s physical-address width.
1
On
processors that do not support Intel 64 architecture, neither address should set
any bits in the range 63:32.
If the “use MSR bitmaps” VM-execution control is 1, bits 11:0 of the MSR-bitmap
address must be 0. On processors that support Intel 64 architecture, the address
should not set any bits beyond the processor’s physical-address width. On
processors that do not support Intel 64 architecture, the address should not set
any bits in the range 63:32.
If the “use TPR shadow” VM-execution control is 1, the virtual-APIC address must
satisfy the following checks:
Bits 11:0 of the address must be 0.
On processors that support Intel 64 architecture, the address should not set
any bits beyond the processor's physical-address width.
On processors that support the IA-32 architecture, the address should not set
any bits in the range 63:32.
The following items describe the treatment of bytes 81H-83H on the virtual-
APIC page (see Section 20.6.8) if all of the above checks are satisfied and the
“use TPR shadow” VM-execution control is 1, treatment depends upon the
setting of the “virtualize APIC accesses” VM-execution control:
2
If the “virtualize APIC accesses” VM-execution control is 0, the bytes may be
cleared. (If the bytes are not cleared, they are left unmodified.)
If the “virtualize APIC accesses” VM-execution control is 1, the bytes are
cleared.
1. Software can determine a processor’s physical-address width by executing CPUID with
80000008H in EAX. The physical-address width is returned in bits 7:0 of EAX.
2. Note that “virtualize APIC accesses” is a secondary processor-based VM-execution control. If
bit 31 of the primary processor-based VM-execution controls is 0, VM entry functions as if the
“virtualize APIC accesses” VM-execution control were 0. See Section 20.6.2.