xref: /xnu-11215/bsd/dev/dtrace/scripts/vmx_compat.d (revision bb611c8f)
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