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

Table Of Contents
Vol. 3 20-11
VIRTUAL-MACHINE CONTROL STRUCTURES
20.6.2 Processor-Based VM-Execution Controls
The processor-based VM-execution controls constitute two 32-bit vectors that
govern the handling of synchronous events, mainly those caused by the execution of
specific instructions.
1
These are the primary processor-based VM-execution
controls and the secondary processor-based VM-execution controls.
Table 20-6 lists the primary processor-based VM-execution controls. See Chapter 21
for more details of how these controls affect processor behavior in VMX non-root
operation.
1. Some instructions cause VM exits regardless of the settings of the processor-based VM-execu-
tion controls (see Section 21.1.2), as do task switches (see Section 21.3).
Table 20-6. Definitions of Primary Processor-Based VM-Execution Controls
Bit Position(s) Name Description
2Interrupt-window
exiting
If this control is 1, a VM exit occurs at the beginning of any
instruction if RFLAGS.IF = 1 and there are no other blocking
of interrupts (see Section 20.4.2).
3 Use TSC offsetting This control determines whether executions of RDTSC,
executions of RDTSCP, and executions of RDMSR that read
from the IA32_TIME_STAMP_COUNTER MSR return a value
modified by the TSC offset field (see Section 20.6.5 and
Section 21.4).
7 HLT exiting This control determines whether executions of HLT cause
VM exits.
9 INVLPG exiting This determines whether executions of INVLPG cause
VM exits.
10 MWAIT exiting This control determines whether executions of MWAIT cause
VM exits.
11 RDPMC exiting This control determines whether executions of RDPMC cause
VM exits.
12 RDTSC exiting This control determines whether executions of RDTSC and
RDTSCP cause VM exits.
15 CR3-load exiting In conjunction with the CR3-target controls (see Section
20.6.7), this control determines whether executions of MOV
to CR3 cause VM exits. See Section 21.1.3.
Note that the first processors to support the virtual-machine
extensions supported only the 1-setting of this control.
16 CR3-store exiting This control determines whether executions of MOV from
CR3 cause VM exits.
Note that the first processors to support the virtual-machine
extensions supported only the 1-setting of this control.