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

Vol. 2B 5-25
VMX INSTRUCTION REFERENCE
VMXOFF—Leave VMX Operation
Description
Takes the logical processor out of VMX operation, unblocks INIT signals, re-enables
A20M, and clears any address-range monitoring.
1
Operation
IF (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);
ELSIF dual-monitor treatment of SMIs and SMM is active
THEN VMfail(VMXOFF under dual-monitor treatment of SMIs and SMM);
ELSE
leave VMX operation;
unblock INIT;
unblock and enable A20M;
clear address-range monitoring;
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 Ignored
Operand size Causes #UD
Opcode Instruction Description
0F 01 C4 VMXOFF Leaves VMX operation.
1. See the information on MONITOR/MWAIT in Chapter 7, “Multiple-Processor Management,” of the
Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A.