Intel 64 and IA-32 Architectures Software Developers Manual Volume 3B, System Programming Guide Part 2

Table Of Contents
Vol. 3 21-1
CHAPTER 21
VMX NON-ROOT OPERATION
In a virtualized environment using VMX, the guest software stack typically runs on a
logical processor in VMX non-root operation. This mode of operation is similar to that
of ordinary processor operation outside of the virtualized environment. This chapter
describes the differences between VMX non-root operation and ordinary processor
operation with special attention to causes of VM exits (which bring a logical processor
from VMX non-root operation to root operation). The differences between VMX non-
root operation and ordinary processor operation are described in the following
sections:
Section 21.1, “Instructions That Cause VM Exits”
Section 21.2, “APIC-Access VM Exits
Section 21.3, “Other Causes of VM Exits”
Section 21.4, “Changes to Instruction Behavior in VMX Non-Root Operation”
Section 21.5, “APIC Accesses That Do Not Cause VM Exits”
Section 21.6, “Other Changes in VMX Non-Root Operation”
Section 21.7, “Features Specific to VMX Non-Root Operation”
Chapter 20, “Virtual-Machine Control Structures,” describes the data control struc-
ture that governs VMX operation (root and non-root). Chapter 22, “VM Entries,
describes the operation of VM entries which allow the processor to transition from
VMX root operation to non-root operation.
21.1 INSTRUCTIONS THAT CAUSE VM EXITS
Certain instructions may cause VM exits if executed in VMX non-root operation.
Unless otherwise specified, such VM exits are “fault-like,” meaning that the instruc-
tion causing the VM exit does not execute and no processor state is updated by the
instruction. Section 23.1 details architectural state in the context of a VM exit.
Section 21.1.1 defines the prioritization between faults and VM exits for instructions
subject to both. Section 21.1.2 identifies instructions that cause VM exits whenever
they are executed in VMX non-root operation (and thus can never be executed in
VMX non-root operation). Section 21.1.3 identifies instructions that cause VM exits
depending on the settings of certain VM-execution control fields (see Section 20.6).
21.1.1 Relative Priority of Faults and VM Exits
The following principles describe the ordering between existing faults and VM exits: