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

Table Of Contents
Vol. 3 24-11
SUPPORT FOR ADDRESS TRANSLATION
VMX capability MSR IA32_VMX_EPT_VPID_CAP to determine whether this value
is supported (see Appendix G.10).
The value of bits 2:0 of an EPT paging-structure entry is not 000b (the entry is
present) and one of the following holds:
A reserved bit is set. This includes the setting of a bit in the range 51:12 that
is beyond the logical processor’s physical-address width.
1
See Section 24.2.3
for details of which bits are reserved in which EPT paging-structure entries.
The entry is the last one used to translate a guest physical address (either an
EPT PDE with bit 7 set to 1 or an EPT PTE) and the value of bits 5:3 (EPT
memory type) is 2, 3, or 7 (these values are reserved).
EPT misconfigurations result when an EPT paging-structure entry is configured with
settings reserved for future functionality. Software developers should be aware that
such settings may be used in the future and that an EPT paging-structure entry that
causes an EPT misconfiguration on one processor might not do so in the future.
24.2.4.2 EPT Violations
An EPT violation may occur during an access using a guest-physical address whose
translation does not cause an EPT misconfiguration. An EPT violation occurs in any of
the following situations:
Translation of the guest-physical address encounters an EPT paging-structure
entry that is not present (see Section 24.2.2).
The access is a data read and bit 0 was clear in any of the EPT paging-structure
entries used to translate the guest-physical address. Reads by the logical
processor of guest paging structures to translate a linear address are considered
to be data reads.
The access is a data write and bit 1 was clear in any of the EPT paging-structure
entries used to translate the guest-physical address. Writes by the logical
processor to guest paging structures to update accessed and dirty flags are
considered to be data writes.
The access is an instruction fetch and bit 2 was clear in any of the EPT paging-
structure entries used to translate the guest-physical address.
24.2.4.3 Prioritization of EPT-Induced VM Exits
The translation of a linear address to a physical address requires multiple translations
of guest-physical addresses using EPT (see Section 24.2.1). This section specifies the
relative priority of EPT-induced VM exits with respect to each other and to other
events that may be encountered when accessing memory using a linear address.
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.