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

Table Of Contents
Vol. 3 22-21
VM ENTRIES
If the control is 0, the PDPTEs are loaded from the page-directory-pointer table
referenced by the physical address in the value of CR3 being loaded by the
VM entry (see Section 22.3.2.1). The values loaded are treated as physical
addresses in VMX non-root operation.
If the control is 1, the PDPTEs are loaded from corresponding fields in the guest-
state area (see Section 20.4.2). The values loaded are treated as guest-physical
addresses in VMX non-root operation.
22.3.2.5 Updating Non-Register State
Section 24.3 describe how the VMX architecture controls how a logical processor
manages information in the TLBs and paging-structure caches. The following items
detail how VM entries invalidate cached mappings:
If the “enable VPID” VM-execution control is 0, the logical processor invalidates
VPID-tagged mappings and dual-tagged mappings associated with VPID 0000H;
dual-tagged mappings for VPID 0000H are invalidated for all EPTPs.
VM entries are not required to invalidate any EPTP-tagged mappings, nor are
they required to invalidate any VPID-tagged mappings or dual-tagged mappings
if the “enable VPID” VM-execution control is 1.
22.3.3 Clearing Address-Range Monitoring
The Intel 64 and IA-32 architectures allow software to monitor a specified address
range using the MONITOR and MWAIT instructions. See Section 7.11.4 in the Intel®
64 and IA-32 Architectures Software Developer’s Manual, Volume 3A. VM entries
clear any address-range monitoring that may be in effect.
22.4 LOADING MSRS
VM entries may load MSRs from the VM-entry MSR-load area (see Section 20.8.2).
Specifically each entry in that area (up to the number specified in the VM-entry MSR-
load count) is processed in order by loading the MSR indexed by bits 31:0 with the
contents of bits 127:64 as they would be written by WRMSR.
Processing of an entry fails in any of the following cases:
The value of bits 31:0 is either C0000100H (the IA32_FS_BASE MSR) or
C0000101 (the IA32_GS_BASE MSR).
The value of bits 31:8 is 000008H, meaning that the indexed MSR is one that
allows access to an APIC register when the local APIC is in x2APIC mode.
The value of bits 31:0 indicates an MSR that can be written only in system-
management mode (SMM) and the VM entry did not commence in SMM.
(IA32_SMM_MONITOR_CTL is an MSR that can be written only in SMM.)