background image

Vol. 3D B-1

APPENDIX B

FIELD ENCODING IN VMCS

Every component of the VMCS is encoded by a 32-bit field that can be used by VMREAD and VMWRITE. Section 
24.11.2 
describes the structure of the encoding space (the meanings of the bits in each 32-bit encoding). 
This appendix enumerates all fields in the VMCS and their encodings. Fields are grouped by width (16-bit, 32-bit, 
etc.) and type (guest-state, host-state, etc.)

B.1 16-BIT 

FIELDS

A value of 0 in bits 14:13 of an encoding indicates a 16-bit field. Only guest-state areas and the host-state area 
contain 16-bit fields. As noted in Section 24.11.2, each 16-bit field allows only full access, meaning that bit 0 of its 
encoding is 0. Each such encoding is thus an even number.

B.1.1  

16-Bit Control Fields

A value of 0 in bits 11:10 of an encoding indicates a control field. These fields are distinguished by their index value 
in bits 9:1. Table B-1 enumerates the 16-bit control fields.

B.1.2  

16-Bit Guest-State Fields

A value of 2 in bits 11:10 of an encoding indicates a field in the guest-state area. These fields are distinguished by 
their index value in bits 9:1. Table B-2 enumerates 16-bit guest-state fields.

Table B-1.  Encoding for 16-Bit Control Fields (0000_00xx_xxxx_xxx0B)

Field Name

Index

Encoding

Virtual-processor identifier (VPID)

1

NOTES:

1. This field exists only on processors that support the 1-setting of the “enable VPID” VM-execution control.

000000000B

00000000H

Posted-interrupt notification vector

2

2. This field exists only on processors that support the 1-setting of the “process posted interrupts” VM-execution control.

000000001B

00000002H

EPTP index

3

3. This field exists only on processors that support the 1-setting of the “EPT-violation #VE” VM-execution control.

000000010B

00000004H

Table B-2.  Encodings for 16-Bit Guest-State Fields (0000_10xx_xxxx_xxx0B)

Field Name

Index

Encoding

Guest ES selector

000000000B

00000800H

Guest CS selector

000000001B

00000802H

Guest SS selector

000000010B

00000804H

Guest DS selector

000000011B

00000806H

Guest FS selector

000000100B

00000808H

Guest GS selector

000000101B

0000080AH

Guest LDTR selector

000000110B

0000080CH

Guest TR selector

000000111B

0000080EH