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

Table Of Contents
Vol. 3 20-3
VIRTUAL-MACHINE CONTROL STRUCTURES
Section 20.9. To ensure proper behavior in VMX operation, software should maintain
the VMCS region and related structures (enumerated in Section 20.10.3) in
writeback cacheable memory. Future implementations may allow or require a
different memory type
1
. Software should consult the VMX capability MSR
IA32_VMX_BASIC (see Appendix G.1).
20.3 ORGANIZATION OF VMCS DATA
The VMCS data are organized into six logical groups:
Guest-state area. Processor state is saved into the guest-state area on
VM exits and loaded from there on VM entries.
Host-state area. Processor state is loaded from the host-state area on VM exits.
VM-execution control fields. These fields control processor behavior in VMX
non-root operation. They determine in part the causes of VM exits.
VM-exit control fields. These fields control VM exits.
VM-entry control fields. These fields control VM entries.
VM-exit information fields. These fields receive information on VM exits and
describe the cause and the nature of VM exits. They are read-only.
The VM-execution control fields, the VM-exit control fields, and the VM-entry control
fields are sometimes referred to collectively as VMX controls.
20.4 GUEST-STATE AREA
This section describes fields contained in the guest-state area of the VMCS. As noted
earlier, processor state is loaded from these fields on every VM entry (see Section
22.3.2) and stored into these fields on every VM exit (see Section 23.3).
20.4.1 Guest Register State
The following fields in the guest-state area correspond to processor registers:
Control registers CR0, CR3, and CR4 (64 bits each; 32 bits on processors that do
not support Intel 64 architecture).
Debug register DR7 (64 bits; 32 bits on processors that do not support Intel 64
architecture).
1. Alternatively, software may map any of these regions or structures with the UC memory type.
Doing so is strongly discouraged unless necessary as it will cause the performance of transitions
using those structures to suffer significantly. In addition, the processor will continue to use the
memory type reported in the VMX capability MSR IA32_VMX_BASIC with exceptions noted in
Appendix G.1.