Intel 64 and IA-32 Architectures Software Developers Manual Volume 2B, Instruction Set Reference, N-Z

5-16 Vol. 2B
VMX INSTRUCTION REFERENCE
VMPTRST—Store Pointer to Virtual-Machine Control Structure
Description
Stores the current-VMCS pointer into a specified memory address. The operand of this instruc-
tion is always 64 bits and is always in memory.
Operation
IF (register operand) or (not in VMX operation) or (RFLAGS.VM = 1) or
(IA32_EFER.LMA = 1 and CS.L = 0)
THEN #UD;
ELSIF in VMX non-root operation
THEN VMexit;
ELSIF CPL
> 0
THEN #GP(0);
ELSE
64-bit in-memory destination operand current-VMCS pointer;
VMsucceed;
FI;
Flags Affected
See the operation section and Section 5.2.
Use of Prefixes
LOCK Causes #UD
REP* Cause #UD (includes REPNE/REPNZ and REP/REPE/REPZ)
Segment overrides Treated normally
Operand size Causes #UD
Address size Treated normally
REX Register extensions treated normally; operand-size overrides
ignored
Protected Mode Exceptions
#GP(0) If the current privilege level is not 0.
If the memory destination operand effective address is outside
the CS, DS, ES, FS, or GS segment limit.
Opcode Instruction Description
0F C7 /7 VMPTRST Stores the current VMCS pointer into memory.