Top Qs
Timeline
Chat
Perspective

List of x86 virtualization instructions

From Wikipedia, the free encyclopedia

Remove ads

Instruction set extensions that have been added to the x86 instruction set in order to support hardware virtualization. These extensions provide instructions for entering and leaving a virtualized execution context and for loading virtual-machine control structures (VMCSs), which hold the state of the guest and host, along with fields which control processor behavior within the virtual machine.

Remove ads

AMD-V instructions

More information Instruction, Opcode ...
  1. For the rAX argument to the VMRUN, VMLOAD, VMSAVE, INVLPGA and PVALIDATE instructions, the choice of AX/EAX/RAX depends on address-size, which can be overridden with the 67h prefix.
  2. Support for AMD-V was added in stepping F of the AMD K8, and is not available on earlier steppings.
  3. The VMRUN instruction will load only a limited subset of CPU state - VMLOAD should be run before VMRUN to load additional state.
    Similarly, #VMEXIT will store only a limited amount of guest state to the VMCB, and VMSAVE is needed to store additional state.
    For simple intercept conditions where the VMM doesn't need to make use of the state items handled by VMSAVE/VMLOAD, the VMM may improve performance by abstaining from performing VMSAVE/VMLOAD before re-entering the virtual machine with VMRUN.
  4. On CPUs that support VMLOAD/VMSAVE virtualization (Excavator and later), the VMLOAD and VMSAVE instructions can be executed in guest mode as well.
  5. On CPUs that support Virtual GIF (Excavator and later), the STGI and CLGI instructions can be executed in guest mode as well.
  6. VMGEXIT is executed as VMMCALL if not executed by a SEV-ES guest.
Remove ads

Intel VT-x instructions

Summarize
Perspective

Intel virtualization instructions. VT-x is also supported on some processors from VIA and Zhaoxin.

More information Instruction, Opcode ...
  1. Executing any of the VT-x VMM instructions while within the VM guest will cause a VMEXIT.
    If VMX operation has not been entered through VMXON, then all of the VT-x instructions (except VMXON) will cause #UD.
  2. The m64 argument to VMPTRLD, VMPTRST, VMCLEAR and VMXON is a 64-bit physical address.
  3. The m64 argument to VMXON is the 64-bit physical address to a "VMXON region", which is a 4Kbyte region that must be 4 Kbyte aligned. This region may be used by the processor to support VMX operation in an implementation-dependent manner and should never be accessed by software until the processor has left VMX operation through the VMXOFF instruction.
  4. If "VMCS Shadowing" is enabled (available on Haswell and later), the VMREAD and VMWRITE instructions can be executed by the guest as well.
  5. The VMCALL instruction can be executed by the VMM as well – doing so will cause a special SMM VM exit.
  6. The invalidation types available for the reg argument of INVEPT are:
    More information Value, Function ...
  7. The invalidation types available for the reg argument of INVVPID are:
    More information Value, Function ...
  8. The functions available for VMFUNC in the EAX register are:
    More information EAX, Function ...
  9. The operations available for SEAMOPS in the RAX register are: Any unsupported value in RAX will cause a #GP(0) exception.
    More information RAX, Operation ...
Remove ads

References

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads