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

Table Of Contents
Vol. 3 24-17
SUPPORT FOR ADDRESS TRANSLATION
No dual-tagged mappings are created with information derived from guest
paging-structure entries that are not present or that set reserved bits.
No VPID-tagged mappings are created while EPT is in use.
The following items detail the use of the various mappings:
If EPT is not in use (e.g., when outside VMX non-root operation), a logical
processor may use cached mappings as follows:
For accesses using linear addresses, it may use VPID-tagged mappings
associated with the current VPID.
No EPTP-tagged or dual-tagged mappings are used while EPT is not in use.
If EPT is in use, a logical processor may use cached mappings as follows:
For accesses using linear addresses, it may use dual-tagged mappings
associated with the current VPID and the current EPTP.
For accesses using guest-physical addresses, it may use EPTP-tagged
mappings associated with the current EPTP.
No VPID-tagged mappings are used while EPT is in use.
24.3.3 Invalidating Cached Translation Information
Software modifications of paging structures (including EPT paging structures) may
result in inconsistencies between those structures and the mappings cached by a
logical processor. Certain operations invalidate information cached by a logical
processor and can be used to eliminate such inconsistencies.
24.3.3.1 Operations that Invalidate Cached Mappings
The following operations invalidate cached mappings as indicated:
Operations that architecturally invalidate entries in the TLBs or paging-structure
caches independent of VMX operation (e.g., the INVLPG instruction) invalidate
VPID-tagged mappings and dual-tagged mappings. They are required to do so
only for the current VPID (but, for dual-tagged mappings, all EPTPs). VPID-
tagged mappings for the current VPID are invalidated even if EPT is in use.
1
Dual-
tagged mappings for the current VPID are invalidated even if EPT is not in use.
2
An EPT violation invalidates any EPTP-tagged mappings (associated with the
current EPTP) that would be used to translate the guest-physical address that
1. While no VPID-tagged mappings are created while EPT is in use, a logical processor may retain,
while EPT is in use, VPID-tagged mappings (for the same VPID as the current one) there were
created earlier, when EPT was not in use.
2. While no dual-tagged mappings are created while EPT is not in use, a logical processor may
retain, while EPT is in not use, dual-tagged mappings (for the same VPID as the current one)
there were created earlier, when EPT was in use.