Virtual Machine Control Structure (VMCS) Field IDs
Fields you can read or change using the Hypervisor framework’s read and write functions.
Overview
You can examine the state of, or control the operation of the framework and indivudal guests through various fields in the Virtual Machine Control Structure. The VMCS fields listed below describe which fields are read-only or read-write using the Hypervisor framework’s read and write functions.
Readable and Writable VMCS Guest Fields
These are fields, states, flags, and registers in hypervisor guests that you can read from or write to. In some instances there are limitations on what you can read or write, such as specific regsters or bit positions as indicated for each field.
RIP,RSP,RFLAGSCR3,CR4,DR7PDTR— {0,1,2,3}CR3-Target — {0,1,2,3}IA32_SYSENTER_CSIA32_SYSENTER_ESPIA32_SYSENTER_EIPIA32_EFERInterruptibility State
Pending Debug Exceptions
Selector — {
ES,CS,SS,DS,FS,GS,LDTR,TR}Base — {
ES,CS,SS,DS,FS,GS,LDTR,TR,GDTR,ITDR}Limit — {
ES,CS,SS,DS,FS,GS,LDTR,TR,GDTR,ITDR}Access Rights — {
ES,CS,SS,FS,GS,LDTR,TR}.
Readable and Writable VMCS Control Fields
These control fields that you can both read and write.
Exception Bitmap
Framework
Hypervisor
Page-Fault Error-Code Mask
VM-Entry Interruption-Information Field
VM-Entry Exception Error Code
VM-Entry Instruction Length
TPR Threshold
PLE Gap
PLE Window
CR0Guest/Host MaskCR4Guest/Host MaskCR0Read ShadowCR4Read Shadow
Readable and Conditionally Writable VMCS Guest Fields
These guest fields describe the guest’s control registers and activity state. Updating these field requires the conditions listed for each field:
CR0—CR0.CDandCR0.NWare unsetActivity State — The current state must be either
ACTIVEorHLT
Readable and Conditionally Writable VMCS Control Fields
These fields describe VM execution controls, and access to the framework’s guest/host mask. Reading or updating these field requires the conditions listed for each field:
Pin-Based VM-Execution Controls — hv_vmx_read_capability(_:_:) must be
truePrimary Processor-Based VM-Execution Controls — hv_vmx_read_capability(_:_:) must be
trueSecondary Processor-Based VM-Execution Controls — hv_vmx_read_capability(_:_:) must be
trueVM Entry Controls — hv_vmx_read_capability(_:_:) must be
trueCR0Guest/Host Mask —CR0.CDandCR0.NWare set
Read-Only VMCS Control Fields
These read-only fields provide information about time-stamp counter offsets and programmable interrupt controllers addresses:
TCS Offset
APIC-Access Address
Read-Only VMCS Data Fields
These read-only fields describe error and exit information, interrupt descriptor tables, or guest address information:
VM-Instruction Error
Exit Reason
VM-Exit Interruption Information
VM-Exit Interruption Error Code
IDT-Vectoring Information Field
IDT-Vectoring Error Code
VM-Exit Instruction Length
VM-Exit Instruction Information
Guest-Physical Address
Exit Qualification
Guest-Linear Address