VMFUNC

Invoke VM function

Opcode/InstructionOp/EnDescription
NP 0F 01 D4 VMFUNCZOInvoke VM function specified in EAX.

Instruction Operand Encoding

Op/EnOperand 1Operand 2Operand 3Operand 4
ZONANANANA

Description

This instruction allows software in VMX non-root operation to invoke a VM function, which is processor functionality enabled and configured by software in VMX root operation. The value of EAX selects the specific VM function being invoked.

The behavior of each VM function (including any additional fault checking) is specified in Section 26.5.6, “VM Functions.”

Operation

Perform functionality of the VM function specified in EAX;

Flags Affected

Depends on the VM function specified in EAX. See Section 26.5.6, “VM Functions.”

Protected Mode Exceptions (not including those defined by specific VM functions)

#​​​UD If executed outside VMX non-root operation.

If “enable VM functions” VM-execution control is 0.

If EAX ≥ 64.

Real-Address Mode Exceptions

Same exceptions as in protected mode.

Virtual-8086 Exceptions

Same exceptions as in protected mode.

Compatibility Mode Exceptions

Same exceptions as in protected mode.

64-Bit Mode Exceptions

Same exceptions as in protected mode.

This UNOFFICIAL, mechanically-separated, non-verified reference is provided for convenience, but it may be incomplete or broken in various obvious or non-obvious ways. Refer to Intel® 64 and IA-32 Architectures Software Developer’s Manual for anything serious.