# VMFUNC — Invoke VM function

Opcode/Instruction | Op/En | Description
--- | --- | ---
NP 0F 01 D4 VMFUNC | ZO | Invoke VM function specified in EAX.

## Instruction Operand Encoding ¶

Op/En | Operand 1 | Operand 2 | Operand 3 | Operand 4
ZO | NA | NA | NA | NA

## 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.