---
title: Virtual Machine control structure (VMCS) Field IDs
framework: Hypervisor
role: collectionGroup
role_heading: API Collection
path: hypervisor/1469436-virtual_machine_control_structur-enum
---

# Virtual Machine control structure (VMCS) Field IDs

Identify the fields of the virtual machine control structure.

## Overview

Overview Used by the functions hv_vmx_vcpu_read_vmcs(_:_:_:) and hv_vmx_vcpu_write_vmcs(_:_:_:). The VMCS fields are read-only or read-write by the Hypervisor framework, according to the following table: Readable and Writable VMCS Fields - Guest Fields  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |  Readable and Writable VMCS Fields - Control Fields

Readable and Conditionally Writable VMCS Fields - Guest Fields  |   |   |  Readable and Conditionally Writable VMCS Fields - Control Fields  |   |   |   |   |   |  Read-Only VMCS Fields - Control Fields

Read-Only VMCS Fields - Data Fields

## Topics

### IDs

- [VMCS_VPID](hypervisor/vmcs_vpid.md)
- [VMCS_CTRL_POSTED_INT_N_VECTOR](hypervisor/vmcs_ctrl_posted_int_n_vector.md)
- [VMCS_CTRL_EPTP_INDEX](hypervisor/vmcs_ctrl_eptp_index.md)
- [VMCS_GUEST_ES](hypervisor/vmcs_guest_es.md)
- [VMCS_GUEST_CS](hypervisor/vmcs_guest_cs.md)
- [VMCS_GUEST_SS](hypervisor/vmcs_guest_ss.md)
- [VMCS_GUEST_DS](hypervisor/vmcs_guest_ds.md)
- [VMCS_GUEST_FS](hypervisor/vmcs_guest_fs.md)
- [VMCS_GUEST_GS](hypervisor/vmcs_guest_gs.md)
- [VMCS_GUEST_LDTR](hypervisor/vmcs_guest_ldtr.md)
- [VMCS_GUEST_TR](hypervisor/vmcs_guest_tr.md)
- [VMCS_GUEST_INT_STATUS](hypervisor/vmcs_guest_int_status.md)
- [VMCS_GUESTPML_INDEX](hypervisor/vmcs_guestpml_index.md)
- [VMCS_HOST_ES](hypervisor/vmcs_host_es.md)
- [VMCS_HOST_CS](hypervisor/vmcs_host_cs.md)
- [VMCS_HOST_SS](hypervisor/vmcs_host_ss.md)
- [VMCS_HOST_DS](hypervisor/vmcs_host_ds.md)
- [VMCS_HOST_FS](hypervisor/vmcs_host_fs.md)
- [VMCS_HOST_GS](hypervisor/vmcs_host_gs.md)
- [VMCS_HOST_TR](hypervisor/vmcs_host_tr.md)
- [VMCS_CTRL_IO_BITMAP_A](hypervisor/vmcs_ctrl_io_bitmap_a.md)
- [VMCS_CTRL_IO_BITMAP_B](hypervisor/vmcs_ctrl_io_bitmap_b.md)
- [VMCS_CTRL_MSR_BITMAPS](hypervisor/vmcs_ctrl_msr_bitmaps.md)
- [VMCS_CTRL_VMEXIT_MSR_STORE_ADDR](hypervisor/vmcs_ctrl_vmexit_msr_store_addr.md)
- [VMCS_CTRL_VMEXIT_MSR_LOAD_ADDR](hypervisor/vmcs_ctrl_vmexit_msr_load_addr.md)
- [VMCS_CTRL_VMENTRY_MSR_LOAD_ADDR](hypervisor/vmcs_ctrl_vmentry_msr_load_addr.md)
- [VMCS_CTRL_EXECUTIVE_VMCS_PTR](hypervisor/vmcs_ctrl_executive_vmcs_ptr.md)
- [VMCS_CTRL_PML_ADDR](hypervisor/vmcs_ctrl_pml_addr.md)
- [VMCS_CTRL_TSC_OFFSET](hypervisor/vmcs_ctrl_tsc_offset.md)
- [VMCS_CTRL_VIRTUAL_APIC](hypervisor/vmcs_ctrl_virtual_apic.md)
- [VMCS_CTRL_APIC_ACCESS](hypervisor/vmcs_ctrl_apic_access.md)
- [VMCS_CTRL_POSTED_INT_DESC_ADDR](hypervisor/vmcs_ctrl_posted_int_desc_addr.md)
- [VMCS_CTRL_VMFUNC_CTRL](hypervisor/vmcs_ctrl_vmfunc_ctrl.md)
- [VMCS_CTRL_EPTP](hypervisor/vmcs_ctrl_eptp.md)
- [VMCS_CTRL_EOI_EXIT_BITMAP_0](hypervisor/vmcs_ctrl_eoi_exit_bitmap_0.md)
- [VMCS_CTRL_EOI_EXIT_BITMAP_1](hypervisor/vmcs_ctrl_eoi_exit_bitmap_1.md)
- [VMCS_CTRL_EOI_EXIT_BITMAP_2](hypervisor/vmcs_ctrl_eoi_exit_bitmap_2.md)
- [VMCS_CTRL_EOI_EXIT_BITMAP_3](hypervisor/vmcs_ctrl_eoi_exit_bitmap_3.md)
- [VMCS_CTRL_EPTP_LIST_ADDR](hypervisor/vmcs_ctrl_eptp_list_addr.md)
- [VMCS_CTRL_VMREAD_BITMAP_ADDR](hypervisor/vmcs_ctrl_vmread_bitmap_addr.md)
- [VMCS_CTRL_VMWRITE_BITMAP_ADDR](hypervisor/vmcs_ctrl_vmwrite_bitmap_addr.md)
- [VMCS_CTRL_VIRT_EXC_INFO_ADDR](hypervisor/vmcs_ctrl_virt_exc_info_addr.md)
- [VMCS_CTRL_XSS_EXITING_BITMAP](hypervisor/vmcs_ctrl_xss_exiting_bitmap.md)
- [VMCS_CTRL_ENCLS_EXITING_BITMAP](hypervisor/vmcs_ctrl_encls_exiting_bitmap.md)
- [VMCS_CTRL_SPP_TABLE](hypervisor/vmcs_ctrl_spp_table.md)
- [VMCS_CTRL_TSC_MULTIPLIER](hypervisor/vmcs_ctrl_tsc_multiplier.md)
- [VMCS_GUEST_PHYSICAL_ADDRESS](hypervisor/vmcs_guest_physical_address.md)
- [VMCS_GUEST_LINK_POINTER](hypervisor/vmcs_guest_link_pointer.md)
- [VMCS_GUEST_IA32_DEBUGCTL](hypervisor/vmcs_guest_ia32_debugctl.md)
- [VMCS_GUEST_IA32_PAT](hypervisor/vmcs_guest_ia32_pat.md)
- [VMCS_GUEST_IA32_EFER](hypervisor/vmcs_guest_ia32_efer.md)
- [VMCS_GUEST_IA32_PERF_GLOBAL_CTRL](hypervisor/vmcs_guest_ia32_perf_global_ctrl.md)
- [VMCS_GUEST_PDPTE0](hypervisor/vmcs_guest_pdpte0.md)
- [VMCS_GUEST_PDPTE1](hypervisor/vmcs_guest_pdpte1.md)
- [VMCS_GUEST_PDPTE2](hypervisor/vmcs_guest_pdpte2.md)
- [VMCS_GUEST_PDPTE3](hypervisor/vmcs_guest_pdpte3.md)
- [VMCS_GUEST_IA32_BNDCFGS](hypervisor/vmcs_guest_ia32_bndcfgs.md)
- [VMCS_GUEST_IA32_RTIT_CTL](hypervisor/vmcs_guest_ia32_rtit_ctl.md)
- [VMCS_HOST_IA32_PAT](hypervisor/vmcs_host_ia32_pat.md)
- [VMCS_HOST_IA32_EFER](hypervisor/vmcs_host_ia32_efer.md)
- [VMCS_HOST_IA32_PERF_GLOBAL_CTRL](hypervisor/vmcs_host_ia32_perf_global_ctrl.md)
- [VMCS_CTRL_PIN_BASED](hypervisor/vmcs_ctrl_pin_based.md)
- [VMCS_CTRL_CPU_BASED](hypervisor/vmcs_ctrl_cpu_based.md)
- [VMCS_CTRL_EXC_BITMAP](hypervisor/vmcs_ctrl_exc_bitmap.md)
- [VMCS_CTRL_PF_ERROR_MASK](hypervisor/vmcs_ctrl_pf_error_mask.md)
- [VMCS_CTRL_PF_ERROR_MATCH](hypervisor/vmcs_ctrl_pf_error_match.md)
- [VMCS_CTRL_CR3_COUNT](hypervisor/vmcs_ctrl_cr3_count.md)
- [VMCS_CTRL_VMEXIT_CONTROLS](hypervisor/vmcs_ctrl_vmexit_controls.md)
- [VMCS_CTRL_VMEXIT_MSR_STORE_COUNT](hypervisor/vmcs_ctrl_vmexit_msr_store_count.md)
- [VMCS_CTRL_VMEXIT_MSR_LOAD_COUNT](hypervisor/vmcs_ctrl_vmexit_msr_load_count.md)
- [VMCS_CTRL_VMENTRY_CONTROLS](hypervisor/vmcs_ctrl_vmentry_controls.md)
- [VMCS_CTRL_VMENTRY_MSR_LOAD_COUNT](hypervisor/vmcs_ctrl_vmentry_msr_load_count.md)
- [VMCS_CTRL_VMENTRY_IRQ_INFO](hypervisor/vmcs_ctrl_vmentry_irq_info.md)
- [VMCS_CTRL_VMENTRY_EXC_ERROR](hypervisor/vmcs_ctrl_vmentry_exc_error.md)
- [VMCS_CTRL_VMENTRY_INSTR_LEN](hypervisor/vmcs_ctrl_vmentry_instr_len.md)
- [VMCS_CTRL_TPR_THRESHOLD](hypervisor/vmcs_ctrl_tpr_threshold.md)
- [VMCS_CTRL_CPU_BASED2](hypervisor/vmcs_ctrl_cpu_based2.md)
- [VMCS_CTRL_PLE_GAP](hypervisor/vmcs_ctrl_ple_gap.md)
- [VMCS_CTRL_PLE_WINDOW](hypervisor/vmcs_ctrl_ple_window.md)
- [VMCS_RO_INSTR_ERROR](hypervisor/vmcs_ro_instr_error.md)
- [VMCS_RO_EXIT_REASON](hypervisor/vmcs_ro_exit_reason.md)
- [VMCS_RO_VMEXIT_IRQ_INFO](hypervisor/vmcs_ro_vmexit_irq_info.md)
- [VMCS_RO_VMEXIT_IRQ_ERROR](hypervisor/vmcs_ro_vmexit_irq_error.md)
- [VMCS_RO_IDT_VECTOR_INFO](hypervisor/vmcs_ro_idt_vector_info.md)
- [VMCS_RO_IDT_VECTOR_ERROR](hypervisor/vmcs_ro_idt_vector_error.md)
- [VMCS_RO_VMEXIT_INSTR_LEN](hypervisor/vmcs_ro_vmexit_instr_len.md)
- [VMCS_RO_VMX_INSTR_INFO](hypervisor/vmcs_ro_vmx_instr_info.md)
- [VMCS_GUEST_ES_LIMIT](hypervisor/vmcs_guest_es_limit.md)
- [VMCS_GUEST_CS_LIMIT](hypervisor/vmcs_guest_cs_limit.md)
- [VMCS_GUEST_SS_LIMIT](hypervisor/vmcs_guest_ss_limit.md)
- [VMCS_GUEST_DS_LIMIT](hypervisor/vmcs_guest_ds_limit.md)
- [VMCS_GUEST_FS_LIMIT](hypervisor/vmcs_guest_fs_limit.md)
- [VMCS_GUEST_GS_LIMIT](hypervisor/vmcs_guest_gs_limit.md)
- [VMCS_GUEST_LDTR_LIMIT](hypervisor/vmcs_guest_ldtr_limit.md)
- [VMCS_GUEST_TR_LIMIT](hypervisor/vmcs_guest_tr_limit.md)
- [VMCS_GUEST_GDTR_LIMIT](hypervisor/vmcs_guest_gdtr_limit.md)
- [VMCS_GUEST_IDTR_LIMIT](hypervisor/vmcs_guest_idtr_limit.md)
- [VMCS_GUEST_ES_AR](hypervisor/vmcs_guest_es_ar.md)
- [VMCS_GUEST_CS_AR](hypervisor/vmcs_guest_cs_ar.md)
- [VMCS_GUEST_SS_AR](hypervisor/vmcs_guest_ss_ar.md)
- [VMCS_GUEST_DS_AR](hypervisor/vmcs_guest_ds_ar.md)
- [VMCS_GUEST_FS_AR](hypervisor/vmcs_guest_fs_ar.md)
- [VMCS_GUEST_GS_AR](hypervisor/vmcs_guest_gs_ar.md)
- [VMCS_GUEST_LDTR_AR](hypervisor/vmcs_guest_ldtr_ar.md)
- [VMCS_GUEST_TR_AR](hypervisor/vmcs_guest_tr_ar.md)
- [VMCS_GUEST_INTERRUPTIBILITY](hypervisor/vmcs_guest_interruptibility.md)
- [VMCS_GUEST_IGNORE_IRQ](hypervisor/vmcs_guest_ignore_irq.md)
- [VMCS_GUEST_ACTIVITY_STATE](hypervisor/vmcs_guest_activity_state.md)
- [VMCS_GUEST_SMBASE](hypervisor/vmcs_guest_smbase.md)
- [VMCS_GUEST_IA32_SYSENTER_CS](hypervisor/vmcs_guest_ia32_sysenter_cs.md)
- [VMCS_GUEST_VMX_TIMER_VALUE](hypervisor/vmcs_guest_vmx_timer_value.md)
- [VMCS_HOST_IA32_SYSENTER_CS](hypervisor/vmcs_host_ia32_sysenter_cs.md)
- [VMCS_CTRL_CR0_MASK](hypervisor/vmcs_ctrl_cr0_mask.md)
- [VMCS_CTRL_CR4_MASK](hypervisor/vmcs_ctrl_cr4_mask.md)
- [VMCS_CTRL_CR0_SHADOW](hypervisor/vmcs_ctrl_cr0_shadow.md)
- [VMCS_CTRL_CR4_SHADOW](hypervisor/vmcs_ctrl_cr4_shadow.md)
- [VMCS_CTRL_CR3_VALUE0](hypervisor/vmcs_ctrl_cr3_value0.md)
- [VMCS_CTRL_CR3_VALUE1](hypervisor/vmcs_ctrl_cr3_value1.md)
- [VMCS_CTRL_CR3_VALUE2](hypervisor/vmcs_ctrl_cr3_value2.md)
- [VMCS_CTRL_CR3_VALUE3](hypervisor/vmcs_ctrl_cr3_value3.md)
- [VMCS_RO_EXIT_QUALIFIC](hypervisor/vmcs_ro_exit_qualific.md)
- [VMCS_RO_IO_RCX](hypervisor/vmcs_ro_io_rcx.md)
- [VMCS_RO_IO_RSI](hypervisor/vmcs_ro_io_rsi.md)
- [VMCS_RO_IO_RDI](hypervisor/vmcs_ro_io_rdi.md)
- [VMCS_RO_IO_RIP](hypervisor/vmcs_ro_io_rip.md)
- [VMCS_RO_GUEST_LIN_ADDR](hypervisor/vmcs_ro_guest_lin_addr.md)
- [VMCS_GUEST_CR0](hypervisor/vmcs_guest_cr0.md)
- [VMCS_GUEST_CR3](hypervisor/vmcs_guest_cr3.md)
- [VMCS_GUEST_CR4](hypervisor/vmcs_guest_cr4.md)
- [VMCS_GUEST_ES_BASE](hypervisor/vmcs_guest_es_base.md)
- [VMCS_GUEST_CS_BASE](hypervisor/vmcs_guest_cs_base.md)
- [VMCS_GUEST_SS_BASE](hypervisor/vmcs_guest_ss_base.md)
- [VMCS_GUEST_DS_BASE](hypervisor/vmcs_guest_ds_base.md)
- [VMCS_GUEST_FS_BASE](hypervisor/vmcs_guest_fs_base.md)
- [VMCS_GUEST_GS_BASE](hypervisor/vmcs_guest_gs_base.md)
- [VMCS_GUEST_IDTR_BASE](hypervisor/vmcs_guest_idtr_base.md)
- [VMCS_GUEST_TR_BASE](hypervisor/vmcs_guest_tr_base.md)
- [VMCS_GUEST_GDTR_BASE](hypervisor/vmcs_guest_gdtr_base.md)
- [VMCS_GUEST_LDTR_BASE](hypervisor/vmcs_guest_ldtr_base.md)
- [VMCS_GUEST_DR7](hypervisor/vmcs_guest_dr7.md)
- [VMCS_GUEST_RSP](hypervisor/vmcs_guest_rsp.md)
- [VMCS_GUEST_RIP](hypervisor/vmcs_guest_rip.md)
- [VMCS_GUEST_RFLAGS](hypervisor/vmcs_guest_rflags.md)
- [VMCS_GUEST_DEBUG_EXC](hypervisor/vmcs_guest_debug_exc.md)
- [VMCS_GUEST_SYSENTER_ESP](hypervisor/vmcs_guest_sysenter_esp.md)
- [VMCS_GUEST_SYSENTER_EIP](hypervisor/vmcs_guest_sysenter_eip.md)
- [VMCS_HOST_CR0](hypervisor/vmcs_host_cr0.md)
- [VMCS_HOST_CR3](hypervisor/vmcs_host_cr3.md)
- [VMCS_HOST_CR4](hypervisor/vmcs_host_cr4.md)
- [VMCS_HOST_FS_BASE](hypervisor/vmcs_host_fs_base.md)
- [VMCS_HOST_GS_BASE](hypervisor/vmcs_host_gs_base.md)
- [VMCS_HOST_TR_BASE](hypervisor/vmcs_host_tr_base.md)
- [VMCS_HOST_GDTR_BASE](hypervisor/vmcs_host_gdtr_base.md)
- [VMCS_HOST_IDTR_BASE](hypervisor/vmcs_host_idtr_base.md)
- [VMCS_HOST_IA32_SYSENTER_ESP](hypervisor/vmcs_host_ia32_sysenter_esp.md)
- [VMCS_HOST_IA32_SYSENTER_EIP](hypervisor/vmcs_host_ia32_sysenter_eip.md)
- [VMCS_HOST_RSP](hypervisor/vmcs_host_rsp.md)
- [VMCS_HOST_RIP](hypervisor/vmcs_host_rip.md)
- [VMCS_MAX](hypervisor/vmcs_max.md)

### Interruptibility options

- [GUEST_INTRBILITY_MOVSS_BLOCKING](hypervisor/guest_intrbility_movss_blocking.md)
- [GUEST_INTRBILITY_NMI_BLOCKING](hypervisor/guest_intrbility_nmi_blocking.md)
- [GUEST_INTRBILITY_SMI_BLOCKING](hypervisor/guest_intrbility_smi_blocking.md)
- [GUEST_INTRBILITY_STI_BLOCKING](hypervisor/guest_intrbility_sti_blocking.md)

### Constants

- [VMCS_INVALID](hypervisor/vmcs_invalid.md)
- [VMCS_CTRL_ENCLV_EXITING_BITMAP](hypervisor/vmcs_ctrl_enclv_exiting_bitmap.md)
- [VMCS_GUEST_IA32_INTR_SSP_TABLE_ADDR](hypervisor/vmcs_guest_ia32_intr_ssp_table_addr.md)
- [VMCS_GUEST_IA32_PKRS](hypervisor/vmcs_guest_ia32_pkrs.md)
- [VMCS_GUEST_IA32_S_CET](hypervisor/vmcs_guest_ia32_s_cet.md)
- [VMCS_GUEST_SSP](hypervisor/vmcs_guest_ssp.md)
- [VMCS_HOST_IA32_INTR_SSP_TABLE_ADDR](hypervisor/vmcs_host_ia32_intr_ssp_table_addr.md)
- [VMCS_HOST_IA32_PKRS](hypervisor/vmcs_host_ia32_pkrs.md)
- [VMCS_HOST_IA32_S_CET](hypervisor/vmcs_host_ia32_s_cet.md)
- [VMCS_HOST_SSP](hypervisor/vmcs_host_ssp.md)

## See Also

### Field management

- [Virtual Machine Control Structure (VMCS) Field IDs](hypervisor/virtual-machine-control-structure-vmcs-field-ids.md)
- [hv_vmx_vcpu_read_vmcs(_:_:_:)](hypervisor/hv_vmx_vcpu_read_vmcs(_:_:_:).md)
- [hv_vmx_vcpu_write_vmcs(_:_:_:)](hypervisor/hv_vmx_vcpu_write_vmcs(_:_:_:).md)
- [hv_vmx_vcpu_get_cap_write_vmcs(_:_:_:_:)](hypervisor/hv_vmx_vcpu_get_cap_write_vmcs(_:_:_:_:).md)
- [hv_vmx_vcpu_set_apic_address(_:_:)](hypervisor/hv_vmx_vcpu_set_apic_address(_:_:).md)
