# INVLPG
# Invalidate TLB Entry
Opcode | Mnemonic | Description |
---|---|---|
0F 01/7 | INVLPG m | Invalidate TLB Entry for page that contains m. |
# Description
Invalidates (flushes) the translation lookaside buffer (TLB) entry specified with the source operand. The source operand is a memory address. The processor determines the page that contains that address and flushes the TLB entry for that page.
The INVLPG instruction is a privileged instruction. When the processor is running in protected mode, the CPL of a program or procedure must be 0 to execute this instruction.
The INVLPG instruction normally flushes the TLB entry only for the specified page; however, in some cases, it flushes the entire TLB. See "MOV-Move to/from Control Registers" in this chapter for further information on operations that flush the TLB.
# Operation
Flush(RelevantTLBEntries);
ContinueExecution();
2
3
# Flags affected
None.
# IA-32 Architecture Compatibility
The INVLPG instruction is implementation dependent, and its function may be implemented differently on different families of IA-32 processors. This instruction is not supported on IA-32 processors earlier than the Intel486 processor.
# Protected Mode Exceptions
#GP(0) | If the current privilege level is not 0. |
#GP(0) | If the current privilege level is not 0. |
# Real-Address Mode Exceptions
#UD | Operand is a register. |
# Virtual-8086 Mode Exceptions
#GP(0) | The INVLPG instruction cannot be executed at the virtual-8086 mode. |
← INVD IRET/IRETD →