Virtual Machine Extensions (VMX) instructions set
VM extension allows multiple operating systems to share simultaneously x86 processor resources in a safe and efficient manner. An Intel platform with VMX can function as multiple virtual systems or virtual machines. Each virtual machine can run operating systems and applications in separate partitions. VMX also provides programming interface for a new layer of system software, called the Virtual Machine Monitor (VMM), used to manage the operation of virtual machines.
Contents
Tip: For detailed information about each instruction please read: Intel Architectures Software Developer’s Manual Volume 2: Instruction Set Reference, A-Z
VMCS-maintenance Instructions
Instruction | Meaning |
---|---|
VMXON | Takes a single 64-bit source operand in memory. It causes a logical processor to enter VMX root operation and to use the memory referenced by the operand to support VMX operation |
VMPTRLD | Takes a single 64-bit source operand in memory. It makes the referenced VMCS active and current |
VMPTRST | Takes a single 64-bit destination operand that is in memory. Current-VMCS pointer is stored into the destination operand |
VMCLEAR | Takes a single 64-bit operand in memory. The instruction sets the launch state of the VMCS referenced by the operand to "clear", renders that VMCS inactive, and ensures that data for the VMCS have been written to the VMCS-data area in the referenced VMCS region |
VMREAD | Reads a component from the VMCS (the encoding of that field is given in a register operand) and stores it into a destination operand |
VMWRITE | Writes a component to the VMCS (the encoding of that field is given in a register operand) from a source operand |
VMLAUNCH | Launches a virtual machine managed by the VMCS. A VM entry occurs, transferring control to the VM |
VMRESUME | Resumes a virtual machine managed by the VMCS. A VM entry occurs, transferring control to the VM |
VMXOFF | Causes the processor to leave VMX operation |
VMX-specific TLB-management Instructions
Instruction | Meaning |
---|---|
INVEPT | Invalidate cached EPT mappings in the processor to synchronize address translation in virtual machines with memory-resident EPT pages |
INVVPID | Invalidate cached mappings of address translation based on the Virtual Processor ID (VPID) |
Guest-available Instructions
Instruction | Meaning |
---|---|
VMCALL | Allows a guest in VMX non-root operation to call the VMM for service. A VM exit occurs, transferring control to the VMM |
VMFUNC | 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. No VM exit occurs |