background image

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.