Vol. 3C 29-11
APIC VIRTUALIZATION AND VIRTUAL INTERRUPTS
access’s linear address. Section 29.4.6.1 discusses the treatment of guest-physical accesses to the APIC-
access page.
•
An access is called a physical access if (1) either (a) the “enable EPT” VM-execution control is 0; or (b) the
access’s physical address is not the result of a translation through the EPT paging structures; and (2) either
(a) the access is not generated by a linear address; or (b) the access’s physical address is not the translation
of its linear address. Section 29.4.6.2 discusses the treatment of physical accesses to the APIC-access page.
29.4.6.1 Guest-Physical Accesses to the APIC-Access Page
Guest-physical accesses include the following when guest-physical addresses are being translated using EPT:
•
Reads from the guest paging structures when translating a linear address (such an access uses a guest-
physical address that is not the translation of that linear address).
•
Loads of the page-directory-pointer-table entries by MOV to CR when the logical processor is using (or that
causes the logical processor to use) PAE paging (see Section 4.4).
•
Updates to the accessed and dirty flags in the guest paging structures when using a linear address (such an
access uses a guest-physical address that is not the translation of that linear address).
Every guest-physical access to an address on the APIC-access page causes an APIC-access VM exit. Such accesses
are never virtualized regardless of the page offset.
The following items specify the priority relative to other events of APIC-access VM exits caused by guest-physical
accesses to the APIC-access page.
•
The priority of an APIC-access VM exit caused by a guest-physical access to memory is below that of any EPT
violation that that access may incur. That is, a guest-physical access does not cause an APIC-access VM exit if
it would cause an EPT violation.
•
With respect to all other events, any APIC-access VM exit caused by a guest-physical access has the same
priority as any EPT violation that the guest-physical access could cause.
29.4.6.2 Physical Accesses to the APIC-Access Page
Physical accesses include the following:
•
If the “enable EPT” VM-execution control is 0:
— Reads from the paging structures when translating a linear address.
— Loads of the page-directory-pointer-table entries by MOV to CR when the logical processor is using (or that
causes the logical processor to use) PAE paging (see Section 4.4).
— Updates to the accessed and dirty flags in the paging structures.
•
If the “enable EPT” VM-execution control is 1, accesses to the EPT paging structures (including updates to the
accessed and dirty flags for EPT).
•
Any of the following accesses made by the processor to support VMX non-root operation:
— Accesses to the VMCS region.
— Accesses to data structures referenced (directly or indirectly) by physical addresses in VM-execution
control fields in the VMCS. These include the I/O bitmaps, the MSR bitmaps, and the virtual-APIC page.
•
Accesses that effect transitions into and out of SMM.
13
These include the following:
— Accesses to SMRAM during SMI delivery and during execution of RSM.
— Accesses during SMM VM exits (including accesses to MSEG) and during VM entries that return from SMM.
12. “Enable EPT” is a secondary processor-based VM-execution control. If bit 31 of the primary processor-based VM-execution controls
is 0, VMX non-root operation functions as if the “enable EPT” VM-execution control were 0. See Section 24.6.2.
13. Technically, these accesses do not occur in VMX non-root operation. They are included here for clarity.