beautypg.com

Intel IA-32 User Manual

Page 20

background image

CONTENTS

xx

Vol. 3A

PAGE

20.7

VM-EXIT CONTROL FIELDS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-14

20.7.1

VM-Exit Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-14

20.7.2

VM-Exit Controls for MSRs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-15

20.8

VM-ENTRY CONTROL FIELDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-15

20.8.1

VM-Entry Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-16

20.8.2

VM-Entry Controls for MSRs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-16

20.8.3

VM-Entry Controls for Event Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-17

20.9

VM-EXIT INFORMATION FIELDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-18

20.9.1

Basic VM-Exit Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-18

20.9.2

Information for VM Exits Due to Vectored Events . . . . . . . . . . . . . . . . . . . . . . .20-19

20.9.3

Information for VM Exits That Occur During Event Delivery . . . . . . . . . . . . . . .20-19

20.9.4

Information for VM Exits Due to Instruction Execution . . . . . . . . . . . . . . . . . . .20-20

20.9.5

VM-Instruction Error Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-22

20.10

SOFTWARE ACCESS TO THE VMCS AND RELATED STRUCTURES . . . . . . 20-22

20.10.1

Software Access to the Virtual-Machine Control Structure . . . . . . . . . . . . . . . .20-22

20.10.2

VMREAD, VMWRITE, and Encodings of VMCS Fields . . . . . . . . . . . . . . . . . .20-23

20.10.3

Software Access to Related Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-26

20.10.4

The VMXON Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-26

20.11

USING VMCLEAR TO INITIALIZE A VMCS REGION. . . . . . . . . . . . . . . . . . . . . 20-26

CHAPTER 21
VMX NON-ROOT OPERATION
21.1

INSTRUCTIONS THAT CAUSE VM EXITS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1

21.1.1

Relative Priority of IA-32 Faults and VM Exits. . . . . . . . . . . . . . . . . . . . . . . . . . . 19-2

21.1.2

Instructions That Cause VM Exits Unconditionally . . . . . . . . . . . . . . . . . . . . . . . 19-2

21.1.3

Instructions That Cause VM Exits Conditionally . . . . . . . . . . . . . . . . . . . . . . . . . 19-3

21.2

OTHER CAUSES OF VM EXITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-5

21.3

CHANGES TO INSTRUCTION BEHAVIOR IN VMX NON-ROOT OPERATION . 19-7

21.4

OTHER CHANGES IN VMX NON-ROOT OPERATION . . . . . . . . . . . . . . . . . . . 19-10

21.4.1

Event Blocking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-10

21.4.2

Treatment of Task Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-10

CHAPTER 22
VM ENTRIES
22.1

BASIC VM-ENTRY CHECKS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-2

22.2

CHECKS ON VMX CONTROLS AND HOST-STATE AREA . . . . . . . . . . . . . . . . . 21-3

22.2.1

Checks on VMX Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-3

22.2.1.1

VM-Execution Control Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-3

22.2.1.2

VM-Exit Control Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-4

22.2.1.3

VM-Entry Control Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-5

22.2.2

Checks on Host Control Registers and MSRs. . . . . . . . . . . . . . . . . . . . . . . . . . . 21-6

22.2.3

Checks on Host Segment and Descriptor-Table Registers . . . . . . . . . . . . . . . . . 21-6

22.2.4

Checks Related to Address-Space Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-7

22.3

CHECKING AND LOADING GUEST STATE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-7

22.3.1

Checks on the Guest State Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-7

22.3.1.1

Checks on Guest Control Registers, Debug Registers, and MSRs . . . . . . . . 21-8

22.3.1.2

Checks on Guest Segment Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-8

22.3.1.3

Checks on Guest Descriptor-Table Registers . . . . . . . . . . . . . . . . . . . . . . .21-11

22.3.1.4

Checks on Guest RIP and RFLAGS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-11

22.3.1.5

Checks on Guest Non-Register State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-12

22.3.1.6

Checks on Guest Page-Directory Pointers . . . . . . . . . . . . . . . . . . . . . . . . . .21-14

22.3.2

Loading Guest State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-14