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

Table Of Contents
24-18 Vol. 3
SUPPORT FOR ADDRESS TRANSLATION
caused the EPT violation. If that guest-physical address was the translation of a
linear address, the EPT violation also invalidates any dual-tagged mappings for
that linear address associated with the current VPID and the current EPTP.
If the “enable VPID” VM-execution control is 0, VM entries and VM exits
invalidate VPID-tagged mappings and dual-tagged mappings associated with
VPID 0000H. Dual-tagged mappings for VPID 0000H are invalidated for all EPTPs.
Execution of the INVVPID instruction invalidates VPID-tagged mappings and
dual-tagged mappings. Invalidation is based on instruction operands, called the
INVVPID type and the INVVPID descriptor. Four INVVPID types are currently
defined:
Individual-address. If the INVVPID type is 0, the logical processor
invalidates VPID-tagged mappings and dual-tagged mappings associated
with the VPID specified in the INVVPID descriptor and that would be used to
translate the linear address specified in of the INVVPID descriptor. Dual-
tagged mappings for that VPID and linear address are invalidated for all
EPTPs. (The instruction may also invalidate mappings associated with other
VPIDs and for other linear addresses.)
Single-context. If the INVVPID type is 1, the logical processor invalidates all
VPID-tagged mappings and dual-tagged mappings associated with the VPID
specified in the INVVPID descriptor. Dual-tagged mappings for that VPID are
invalidated for all EPTPs. (The instruction may also invalidate mappings
associated with other VPIDs.)
All-context. If the INVVPID type is 2, the logical processor invalidates VPID-
tagged mappings and dual-tagged mappings associated with all VPIDs. Dual-
tagged mappings are invalidated for all EPTPs.
Single-context-retaining-globals. If the INVVPID type is 3, the logical
processor invalidates VPID-tagged mappings and dual-tagged mappings
associated with the VPID specified in the INVVPID descriptor. Dual-tagged
mappings for that VPID are invalidated for all EPTPs. The logical processor is
not required to invalidate information that was used for global translations
(although it may do so). See Section 3.12, “Translation Lookaside Buffers
(TLBs)” for details regarding global translations. (The instruction may
invalidate mappings associated with other VPIDs.)
See Chapter 5 of the Intel® 64 and IA-32 Architectures Software Developer’s
Manual, Volume 2B for details of the INVVPID instruction. See Section 24.3.3.3
for guidelines regarding use of this instruction.
Execution of the INVEPT instruction invalidates EPTP-tagged mappings and dual-
tagged mappings. Invalidation is based on instruction operands, called the
INVEPT type and the INVEPT descriptor. Two INVEPT types are currently defined:
Single-context. If the INVEPT type is 1, the logical processor invalidates all
EPTP-tagged mappings and dual-tagged mappings associated with the EPTP
specified in the INVEPT descriptor. Dual-tagged mappings for that EPTP are
invalidated for all VPIDs. (The instruction may invalidate mappings
associated with other EPTPs.)