background image

Vol. 3C 30-15

VMX INSTRUCTION REFERENCE

ELSE

Attempt to load MSRs from VM-entry MSR-load area;
IF failure

THEN VM entry fails
(see Section 26.7);
ELSE

IF VMLAUNCH

THEN launch state of VMCS ← “launched”;

FI;
IF in SMM and “entry to SMM” VM-entry control is 0

THEN

IF “deactivate dual-monitor treatment” VM-entry
control is 0

THEN SMM-transfer VMCS pointer ←

current-VMCS pointer;

FI;
IF executive-VMCS pointer is VMXON pointer

THEN current-VMCS pointer ←

VMCS-link pointer;
ELSE current-VMCS pointer ←

executive-VMCS pointer;

FI;
leave SMM;

FI;
VM entry succeeds;

FI;

FI;

FI;

FI;
Further details of the operation of the VM-entry appear in Chapter 26.

Flags Affected

See the operation section and Section 30.2.

Protected Mode Exceptions

#GP(0)

If the current privilege level is not 0.

#UD

If executed outside VMX operation.

Real-Address Mode Exceptions

#UD

If executed outside VMX root operation.

Virtual-8086 Mode Exceptions

#UD

The VMLAUNCH and VMRESUME instructions are not recognized in virtual-8086 mode.

Compatibility Mode Exceptions

#UD

The VMLAUNCH and VMRESUME instructions are not recognized in compatibility mode.

64-Bit Mode Exceptions

#GP(0)

If the current privilege level is not 0.

#UD

If executed outside VMX operation.