background image

30-28 Vol. 3C

VMX INSTRUCTION REFERENCE

FI;

FI;

FI;

ELSIF in VMX non-root operation

THEN VMexit;

ELSIF CPL > 0

THEN #GP(0);
ELSE VMfail(“VMXON executed in VMX root operation”);

FI;

Flags Affected

See the operation section and Section 30.2.

Protected Mode Exceptions

#GP(0)

If executed outside VMX operation with CPL>0 or with invalid CR0 or CR4 fixed bits.
If executed in A20M mode.
If the memory source operand effective address is outside the CS, DS, ES, FS, or GS segment 

limit.

If the DS, ES, FS, or GS register contains an unusable segment.
If the source operand is located in an execute-only code segment.

#PF(fault-code) 

If a page fault occurs in accessing the memory source operand.

#SS(0) 

If the memory source operand effective address is outside the SS segment limit.
If the SS register contains an unusable segment.

#UD

If operand is a register.
If executed with CR4.VMXE = 0.

Real-Address Mode Exceptions

#UD

If executed outside VMX root operation.

Virtual-8086 Mode Exceptions

#UD

The VMXON instruction is not recognized in virtual-8086 mode.

Compatibility Mode Exceptions

#UD

The VMXON instruction is not recognized in compatibility mode.

64-Bit Mode Exceptions

#GP(0)

If executed outside VMX operation with CPL > 0 or with invalid CR0 or CR4 fixed bits.
If executed in A20M mode.
If the source operand is in the CS, DS, ES, FS, or GS segments and the memory address is in 

a non-canonical form.

#PF(fault-code) 

If a page fault occurs in accessing the memory source operand.

#SS(0) 

If the source operand is in the SS segment and the memory address is in a non-canonical 

form.

#UD

If operand is a register.
If executed with CR4.VMXE = 0.