Linux Assemblycollection of fast libraries

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

InstructionMeaning
VMXONTakes 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
VMPTRLDTakes a single 64-bit source operand in memory. It makes the referenced VMCS active and current
VMPTRSTTakes a single 64-bit destination operand that is in memory. Current-VMCS pointer is stored into the destination operand
VMCLEARTakes 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
VMREADReads a component from the VMCS (the encoding of that field is given in a register operand) and stores it into a destination operand
VMWRITEWrites a component to the VMCS (the encoding of that field is given in a register operand) from a source operand
VMLAUNCHLaunches a virtual machine managed by the VMCS. A VM entry occurs, transferring control to the VM
VMRESUMEResumes a virtual machine managed by the VMCS. A VM entry occurs, transferring control to the VM
VMXOFFCauses the processor to leave VMX operation

VMX-specific TLB-management Instructions

InstructionMeaning
INVEPTInvalidate cached EPT mappings in the processor to synchronize address translation in virtual machines with memory-resident EPT pages
INVVPIDInvalidate cached mappings of address translation based on the Virtual Processor ID (VPID)

Guest-available Instructions

InstructionMeaning
VMCALLAllows a guest in VMX non-root operation to call the VMM for service. A VM exit occurs, transferring control to the VMM
VMFUNCThis 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
Copyright 2012-2018 Jack Black. All rights reserved.