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

Table Of Contents
22-30 Vol. 3
VM ENTRIES
22.6.4 VMX-Preemption Timer
If the “activate VMX-preemption timer” VM-entry control is 1, VM entry starts the
VMX-preemption timer with the unsigned value in the VMX-preemption timer-value
field.
If the “activate VMX-preemption timer” 1 and the value in the VMX-preemption
timer-value field is zero, a VM exit occurs before execution of any instruction
following VM entry (if it is not blocked by activity state). The VM exit occurs with its
normal priority after any event injection. For example, any pending debug exceptions
established by VM entry (see Section 22.6.3) take priority over a timer-induced
VM exit. (The timer-induced VM exit will occur after delivery of the debug exception,
unless that exception or its delivery causes a different VM exit.)
See Section 21.7.1 for details of the operation of the VMX-preemption timer in VMX
non-root operation, including the blocking and priority of the VM exits that it causes.
22.6.5 Interrupt-Window Exiting
The “interrupt-window exiting” VM-execution control may cause a VM exit to occur
immediately after VM entry (see Section 21.3 for details).
The following items detail the treatment of these VM exits:
These VM exits follow event injection if such injection is specified for VM entry.
Non-maskable interrupts (NMIs) and higher priority events take priority over
VM exits caused by this control. VM exits caused by this control take priority over
external interrupts and lower priority events.
VM exits caused by this control wake the logical processor if it just entered the
HLT state because of a VM entry (see Section 22.6.2). They do not occur if the
logical processor just entered the shutdown state or the wait-for-SIPI state.
22.6.6 NMI-Window Exiting
The “NMI-window exiting” VM-execution control may cause a VM exit to occur imme-
diately after VM entry (see Section 21.3 for details).
The following items detail the treatment of these VM exits:
These VM exits follow event injection if such injection is specified for VM entry.
Debug-trap exceptions (see Section 22.6.3) and higher priority events take
priority over VM exits caused by this control. VM exits caused by this control take
priority over non-maskable interrupts (NMIs) and lower priority events.
VM exits caused by this control wake the logical processor if it just entered either
the HLT state or the shutdown state because of a VM entry (see Section 22.6.2).
They do not occur if the logical processor just entered the wait-for-SIPI state.