Intel IA-32 User Manual
Page 21

Vol. 3A
xxi
CONTENTS
PAGE
22.3.2.1
Loading Guest Control Registers, Debug Registers, and MSRs . . . . . . . . 21-14
22.3.2.2
Loading Guest Segment Registers and Descriptor-Table
Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-16
22.3.2.3
Loading Guest RIP, RSP, and RFLAGS . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-17
22.3.2.4
Loading Page-Directory Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-17
22.3.3
Clearing Address-Range Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-17
22.4
LOADING MSRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-17
22.5
EVENT INJECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-18
22.5.1
Details of Event Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-18
22.5.2
VM Exits During Event Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-20
22.6
SPECIAL FEATURES OF VM ENTRY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-21
22.6.1
Interruptibility State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-21
22.6.2
Activity State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-22
22.6.3
Delivery of Pending Debug Exceptions after VM Entry . . . . . . . . . . . . . . . . . . 21-22
22.6.4
Interrupt-Window Exiting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-23
22.6.5
VM Entries and Advanced Debugging Features . . . . . . . . . . . . . . . . . . . . . . . 21-24
22.7
VM-ENTRY FAILURES DURING OR AFTER LOADING GUEST STATE. . . . . . 21-24
22.8
MACHINE CHECKS DURING VM ENTRY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-25
CHAPTER 23
VM EXITS
23.1
ARCHITECTURAL STATE BEFORE A VM EXIT . . . . . . . . . . . . . . . . . . . . . . . . . 22-1
23.2
RECORDING VM-EXIT INFORMATION AND UPDATING CONTROLS. . . . . . . . 22-4
23.2.1
Basic VM-Exit Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-5
23.2.2
Information for VM Exits Due to Vectored Events . . . . . . . . . . . . . . . . . . . . . . . 22-9
23.2.3
Information for VM Exits During Event Delivery. . . . . . . . . . . . . . . . . . . . . . . . 22-10
23.2.4
Information for VM Exits Due to Instruction Execution. . . . . . . . . . . . . . . . . . . 22-11
23.3
SAVING GUEST STATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-12
23.3.1
Saving Control Registers, Debug Registers, and MSRs . . . . . . . . . . . . . . . . . 22-12
23.3.2
Saving Segment Registers and Descriptor-Table Registers . . . . . . . . . . . . . . 22-13
23.3.3
Saving RIP, RSP, and RFLAGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-14
23.3.4
Saving Non-Register State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-15
23.4
SAVING MSRS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-17
23.5
LOADING HOST STATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-17
23.5.1
Loading Host Control Registers, Debug Registers, MSRs . . . . . . . . . . . . . . . 22-18
23.5.2
Loading Host Segment and Descriptor-Table Registers . . . . . . . . . . . . . . . . . 22-19
23.5.3
Loading Host RIP, RSP, and RFLAGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-20
23.5.4
Checking and Loading Host Page-Directory Pointers . . . . . . . . . . . . . . . . . . . 22-20
23.5.5
Updating Non-Register State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-21
23.5.6
Clearing Address-Range Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-21
23.6
LOADING MSRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-21
23.7
VMX ABORTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-22
23.8
MACHINE CHECK DURING VM EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-23
CHAPTER 24
SYSTEM MANAGEMENT
24.1
SYSTEM MANAGEMENT MODE OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-1
24.1.1
System Management Mode and VMX Operation . . . . . . . . . . . . . . . . . . . . . . . 26-2
24.2
SYSTEM MANAGEMENT INTERRUPT (SMI). . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-2
24.3
SWITCHING BETWEEN SMM AND THE OTHER
PROCESSOR OPERATING MODES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-3
24.3.1
Entering SMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-3