1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 * 21 * Copyright 2011 Joyent, Inc. All rights reserved. 22 */ 23 24 /* 25 * This file delivers VMX description that is compatible with DTrace 26 * upstream. 27 */ 28 29 enum vmregs_vmx { 30 VMX_VIRTUAL_PROCESSOR_ID = 0x00000000, 31 VMX_GUEST_ES_SELECTOR = 0x00000800, 32 VMX_GUEST_CS_SELECTOR = 0x00000802, 33 VMX_GUEST_SS_SELECTOR = 0x00000804, 34 VMX_GUEST_DS_SELECTOR = 0x00000806, 35 VMX_GUEST_FS_SELECTOR = 0x00000808, 36 VMX_GUEST_GS_SELECTOR = 0x0000080a, 37 VMX_GUEST_LDTR_SELECTOR = 0x0000080c, 38 VMX_GUEST_TR_SELECTOR = 0x0000080e, 39 VMX_HOST_ES_SELECTOR = 0x00000c00, 40 VMX_HOST_CS_SELECTOR = 0x00000c02, 41 VMX_HOST_SS_SELECTOR = 0x00000c04, 42 VMX_HOST_DS_SELECTOR = 0x00000c06, 43 VMX_HOST_FS_SELECTOR = 0x00000c08, 44 VMX_HOST_GS_SELECTOR = 0x00000c0a, 45 VMX_HOST_TR_SELECTOR = 0x00000c0c, 46 VMX_IO_BITMAP_A = 0x00002000, 47 VMX_IO_BITMAP_A_HIGH = 0x00002001, 48 VMX_IO_BITMAP_B = 0x00002002, 49 VMX_IO_BITMAP_B_HIGH = 0x00002003, 50 VMX_MSR_BITMAP = 0x00002004, 51 VMX_MSR_BITMAP_HIGH = 0x00002005, 52 VMX_VM_EXIT_MSR_STORE_ADDR = 0x00002006, 53 VMX_VM_EXIT_MSR_STORE_ADDR_HIGH = 0x00002007, 54 VMX_VM_EXIT_MSR_LOAD_ADDR = 0x00002008, 55 VMX_VM_EXIT_MSR_LOAD_ADDR_HIGH = 0x00002009, 56 VMX_VM_ENTRY_MSR_LOAD_ADDR = 0x0000200a, 57 VMX_VM_ENTRY_MSR_LOAD_ADDR_HIGH = 0x0000200b, 58 VMX_TSC_OFFSET = 0x00002010, 59 VMX_TSC_OFFSET_HIGH = 0x00002011, 60 VMX_VIRTUAL_APIC_PAGE_ADDR = 0x00002012, 61 VMX_VIRTUAL_APIC_PAGE_ADDR_HIGH = 0x00002013, 62 VMX_APIC_ACCESS_ADDR = 0x00002014, 63 VMX_APIC_ACCESS_ADDR_HIGH = 0x00002015, 64 VMX_EPT_POINTER = 0x0000201a, 65 VMX_EPT_POINTER_HIGH = 0x0000201b, 66 VMX_GUEST_PHYSICAL_ADDRESS = 0x00002400, 67 VMX_GUEST_PHYSICAL_ADDRESS_HIGH = 0x00002401, 68 VMX_VMCS_LINK_POINTER = 0x00002800, 69 VMX_VMCS_LINK_POINTER_HIGH = 0x00002801, 70 VMX_GUEST_IA32_DEBUGCTL = 0x00002802, 71 VMX_GUEST_IA32_DEBUGCTL_HIGH = 0x00002803, 72 VMX_GUEST_IA32_PAT = 0x00002804, 73 VMX_GUEST_IA32_PAT_HIGH = 0x00002805, 74 VMX_GUEST_PDPTR0 = 0x0000280a, 75 VMX_GUEST_PDPTR0_HIGH = 0x0000280b, 76 VMX_GUEST_PDPTR1 = 0x0000280c, 77 VMX_GUEST_PDPTR1_HIGH = 0x0000280d, 78 VMX_GUEST_PDPTR2 = 0x0000280e, 79 VMX_GUEST_PDPTR2_HIGH = 0x0000280f, 80 VMX_GUEST_PDPTR3 = 0x00002810, 81 VMX_GUEST_PDPTR3_HIGH = 0x00002811, 82 VMX_HOST_IA32_PAT = 0x00002c00, 83 VMX_HOST_IA32_PAT_HIGH = 0x00002c01, 84 VMX_PIN_BASED_VM_EXEC_CONTROL = 0x00004000, 85 VMX_CPU_BASED_VM_EXEC_CONTROL = 0x00004002, 86 VMX_EXCEPTION_BITMAP = 0x00004004, 87 VMX_PAGE_FAULT_ERROR_CODE_MASK = 0x00004006, 88 VMX_PAGE_FAULT_ERROR_CODE_MATCH = 0x00004008, 89 VMX_CR3_TARGET_COUNT = 0x0000400a, 90 VMX_VM_EXIT_CONTROLS = 0x0000400c, 91 VMX_VM_EXIT_MSR_STORE_COUNT = 0x0000400e, 92 VMX_VM_EXIT_MSR_LOAD_COUNT = 0x00004010, 93 VMX_VM_ENTRY_CONTROLS = 0x00004012, 94 VMX_VM_ENTRY_MSR_LOAD_COUNT = 0x00004014, 95 VMX_VM_ENTRY_INTR_INFO_FIELD = 0x00004016, 96 VMX_VM_ENTRY_EXCEPTION_ERROR_CODE = 0x00004018, 97 VMX_VM_ENTRY_INSTRUCTION_LEN = 0x0000401a, 98 VMX_TPR_THRESHOLD = 0x0000401c, 99 VMX_SECONDARY_VM_EXEC_CONTROL = 0x0000401e, 100 VMX_PLE_GAP = 0x00004020, 101 VMX_PLE_WINDOW = 0x00004022, 102 VMX_VM_INSTRUCTION_ERROR = 0x00004400, 103 VMX_VM_EXIT_REASON = 0x00004402, 104 VMX_VM_EXIT_INTR_INFO = 0x00004404, 105 VMX_VM_EXIT_INTR_ERROR_CODE = 0x00004406, 106 VMX_IDT_VECTORING_INFO_FIELD = 0x00004408, 107 VMX_IDT_VECTORING_ERROR_CODE = 0x0000440a, 108 VMX_VM_EXIT_INSTRUCTION_LEN = 0x0000440c, 109 VMX_VMX_INSTRUCTION_INFO = 0x0000440e, 110 VMX_GUEST_ES_LIMIT = 0x00004800, 111 VMX_GUEST_CS_LIMIT = 0x00004802, 112 VMX_GUEST_SS_LIMIT = 0x00004804, 113 VMX_GUEST_DS_LIMIT = 0x00004806, 114 VMX_GUEST_FS_LIMIT = 0x00004808, 115 VMX_GUEST_GS_LIMIT = 0x0000480a, 116 VMX_GUEST_LDTR_LIMIT = 0x0000480c, 117 VMX_GUEST_TR_LIMIT = 0x0000480e, 118 VMX_GUEST_GDTR_LIMIT = 0x00004810, 119 VMX_GUEST_IDTR_LIMIT = 0x00004812, 120 VMX_GUEST_ES_AR_BYTES = 0x00004814, 121 VMX_GUEST_CS_AR_BYTES = 0x00004816, 122 VMX_GUEST_SS_AR_BYTES = 0x00004818, 123 VMX_GUEST_DS_AR_BYTES = 0x0000481a, 124 VMX_GUEST_FS_AR_BYTES = 0x0000481c, 125 VMX_GUEST_GS_AR_BYTES = 0x0000481e, 126 VMX_GUEST_LDTR_AR_BYTES = 0x00004820, 127 VMX_GUEST_TR_AR_BYTES = 0x00004822, 128 VMX_GUEST_INTERRUPTIBILITY_INFO = 0x00004824, 129 VMX_GUEST_ACTIVITY_STATE = 0X00004826, 130 VMX_GUEST_SYSENTER_CS = 0x0000482A, 131 VMX_HOST_IA32_SYSENTER_CS = 0x00004c00, 132 VMX_CR0_GUEST_HOST_MASK = 0x00006000, 133 VMX_CR4_GUEST_HOST_MASK = 0x00006002, 134 VMX_CR0_READ_SHADOW = 0x00006004, 135 VMX_CR4_READ_SHADOW = 0x00006006, 136 VMX_CR3_TARGET_VALUE0 = 0x00006008, 137 VMX_CR3_TARGET_VALUE1 = 0x0000600a, 138 VMX_CR3_TARGET_VALUE2 = 0x0000600c, 139 VMX_CR3_TARGET_VALUE3 = 0x0000600e, 140 VMX_EXIT_QUALIFICATION = 0x00006400, 141 VMX_GUEST_LINEAR_ADDRESS = 0x0000640a, 142 VMX_GUEST_CR0 = 0x00006800, 143 VMX_GUEST_CR3 = 0x00006802, 144 VMX_GUEST_CR4 = 0x00006804, 145 VMX_GUEST_ES_BASE = 0x00006806, 146 VMX_GUEST_CS_BASE = 0x00006808, 147 VMX_GUEST_SS_BASE = 0x0000680a, 148 VMX_GUEST_DS_BASE = 0x0000680c, 149 VMX_GUEST_FS_BASE = 0x0000680e, 150 VMX_GUEST_GS_BASE = 0x00006810, 151 VMX_GUEST_LDTR_BASE = 0x00006812, 152 VMX_GUEST_TR_BASE = 0x00006814, 153 VMX_GUEST_GDTR_BASE = 0x00006816, 154 VMX_GUEST_IDTR_BASE = 0x00006818, 155 VMX_GUEST_DR7 = 0x0000681a, 156 VMX_GUEST_RSP = 0x0000681c, 157 VMX_GUEST_RIP = 0x0000681e, 158 VMX_GUEST_RFLAGS = 0x00006820, 159 VMX_GUEST_PENDING_DBG_EXCEPTIONS = 0x00006822, 160 VMX_GUEST_SYSENTER_ESP = 0x00006824, 161 VMX_GUEST_SYSENTER_EIP = 0x00006826, 162 VMX_HOST_CR0 = 0x00006c00, 163 VMX_HOST_CR3 = 0x00006c02, 164 VMX_HOST_CR4 = 0x00006c04, 165 VMX_HOST_FS_BASE = 0x00006c06, 166 VMX_HOST_GS_BASE = 0x00006c08, 167 VMX_HOST_TR_BASE = 0x00006c0a, 168 VMX_HOST_GDTR_BASE = 0x00006c0c, 169 VMX_HOST_IDTR_BASE = 0x00006c0e, 170 VMX_HOST_IA32_SYSENTER_ESP = 0x00006c10, 171 VMX_HOST_IA32_SYSENTER_EIP = 0x00006c12, 172 VMX_HOST_RSP = 0x00006c14, 173 VMX_HOST_RIP = 0x00006c16 174 }; 175 176