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

Table Of Contents
21-24 Vol. 3
VMX NON-ROOT OPERATION
2. If the value of bits 3:0 of the TPR threshold VM-execution control field is greater
than the value of bits 7:4 at offset 80H on the virtual-APIC page, a VM exit will
occur.
TPR-shadow updates take priority over system-management interrupts (SMIs), INIT
signals, and lower priority events. A TPR-shadow update thus has priority over any
debug exceptions that may have been triggered by the operation causing the TPR-
shadow update. TPR-shadow updates (and any VM exits they cause) are not blocked
if RFLAGS.IF = 0 or by the MOV SS, POP SS, or STI instructions.
21.6 OTHER CHANGES IN VMX NON-ROOT OPERATION
Treatments of event blocking and of task switches differ in VMX non-root operation as
described in the following sections.
21.6.1 Event Blocking
Event blocking is modified in VMX non-root operation as follows:
If the “external-interrupt exiting” VM-execution control is 1, RFLAGS.IF does not
control the blocking of external interrupts. In this case, an external interrupt that
is not blocked for other reasons causes a VM exit (even if RFLAGS.IF = 0).
If the “external-interrupt exiting” VM-execution control is 1, external interrupts
may or may not be blocked by STI or by MOV SS (behavior is implementation-
specific).
If the “NMI exiting” VM-execution control is 1, non-maskable interrupts (NMIs)
may or may not be blocked by STI or by MOV SS (behavior is implementation-
specific).
21.6.2 Treatment of Task Switches
Task switches are not allowed in VMX non-root operation. Any attempt to effect a
task switch in VMX non-root operation causes a VM exit. However, the following
checks are performed (in the order indicated), possibly resulting in a fault, before
there is any possibility of a VM exit due to task switch:
1. If a task gate is being used, appropriate checks are made on its P bit and on the
proper values of the relevant privilege fields. The following cases detail the
privilege checks performed:
a. If CALL, INT n, or JMP accesses a task gate in IA-32e mode, a general-
protection exception occurs.
b. If CALL, INT n, INT3, INTO, or JMP accesses a task gate outside IA-32e mode,
privilege-levels checks are performed on the task gate but, if they pass,