1 ;; (c) 2008, Peter Dinda <pdinda@northwestern.edu>
2 ;; (c) 2008, Jack Lange <jarusl@cs.northwestern.edu>
3 ;; (c) 2008, The V3VEE Project <http://www.v3vee.org>
6 %ifndef VMCS_FIELDS_ASM
7 %define VMCS_FIELDS_ASM
9 VMCS_GUEST_ES_SELECTOR equ 0x00000800
10 VMCS_GUEST_CS_SELECTOR equ 0x00000802
11 VMCS_GUEST_SS_SELECTOR equ 0x00000804
12 VMCS_GUEST_DS_SELECTOR equ 0x00000806
13 VMCS_GUEST_FS_SELECTOR equ 0x00000808
14 VMCS_GUEST_GS_SELECTOR equ 0x0000080A
15 VMCS_GUEST_LDTR_SELECTOR equ 0x0000080C
16 VMCS_GUEST_TR_SELECTOR equ 0x0000080E
17 VMCS_HOST_ES_SELECTOR equ 0x00000C00
18 VMCS_HOST_CS_SELECTOR equ 0x00000C02
19 VMCS_HOST_SS_SELECTOR equ 0x00000C04
20 VMCS_HOST_DS_SELECTOR equ 0x00000C06
21 VMCS_HOST_FS_SELECTOR equ 0x00000C08
22 VMCS_HOST_GS_SELECTOR equ 0x00000C0A
23 VMCS_HOST_TR_SELECTOR equ 0x00000C0C
24 IO_BITMAP_A_ADDR equ 0x00002000
25 IO_BITMAP_A_ADDR_HIGH equ 0x00002001
26 IO_BITMAP_B_ADDR equ 0x00002002
27 IO_BITMAP_B_ADDR_HIGH equ 0x00002003
28 MSR_BITMAPS equ 0x00002004
29 MSR_BITMAPS_HIGH equ 0x00002005
30 VM_EXIT_MSR_STORE_ADDR equ 0x00002006
31 VM_EXIT_MSR_STORE_ADDR_HIGH equ 0x00002007
32 VM_EXIT_MSR_LOAD_ADDR equ 0x00002008
33 VM_EXIT_MSR_LOAD_ADDR_HIGH equ 0x00002009
34 VM_ENTRY_MSR_LOAD_ADDR equ 0x0000200A
35 VM_ENTRY_MSR_LOAD_ADDR_HIGH equ 0x0000200B
36 VMCS_EXEC_PTR equ 0x0000200C
37 VMCS_EXEC_PTR_HIGH equ 0x0000200D
38 TSC_OFFSET equ 0x00002010
39 TSC_OFFSET_HIGH equ 0x00002011
40 VIRT_APIC_PAGE_ADDR equ 0x00002012
41 VIRT_APIC_PAGE_ADDR_HIGH equ 0x00002013
42 VMCS_LINK_PTR equ 0x00002800
43 VMCS_LINK_PTR_HIGH equ 0x00002801
44 GUEST_IA32_DEBUGCTL equ 0x00002802
45 GUEST_IA32_DEBUGCTL_HIGH equ 0x00002803
46 PIN_VM_EXEC_CTRLS equ 0x00004000
47 PROC_VM_EXEC_CTRLS equ 0x00004002
48 EXCEPTION_BITMAP equ 0x00004004
49 PAGE_FAULT_ERROR_MASK equ 0x00004006
50 PAGE_FAULT_ERROR_MATCH equ 0x00004008
51 CR3_TARGET_COUNT equ 0x0000400A
52 VM_EXIT_CTRLS equ 0x0000400C
53 VM_EXIT_MSR_STORE_COUNT equ 0x0000400E
54 VM_EXIT_MSR_LOAD_COUNT equ 0x00004010
55 VM_ENTRY_CTRLS equ 0x00004012
56 VM_ENTRY_MSR_LOAD_COUNT equ 0x00004014
57 VM_ENTRY_INT_INFO_FIELD equ 0x00004016
58 VM_ENTRY_EXCEPTION_ERROR equ 0x00004018
59 VM_ENTRY_INSTR_LENGTH equ 0x0000401A
60 TPR_THRESHOLD equ 0x0000401C
61 VM_INSTR_ERROR equ 0x00004400
62 EXIT_REASON equ 0x00004402
63 VM_EXIT_INT_INFO equ 0x00004404
64 VM_EXIT_INT_ERROR equ 0x00004406
65 IDT_VECTOR_INFO equ 0x00004408
66 IDT_VECTOR_ERROR equ 0x0000440A
67 VM_EXIT_INSTR_LENGTH equ 0x0000440C
68 VMX_INSTR_INFO equ 0x0000440E
69 GUEST_ES_LIMIT equ 0x00004800
70 GUEST_CS_LIMIT equ 0x00004802
71 GUEST_SS_LIMIT equ 0x00004804
72 GUEST_DS_LIMIT equ 0x00004806
73 GUEST_FS_LIMIT equ 0x00004808
74 GUEST_GS_LIMIT equ 0x0000480A
75 GUEST_LDTR_LIMIT equ 0x0000480C
76 GUEST_TR_LIMIT equ 0x0000480E
77 GUEST_GDTR_LIMIT equ 0x00004810
78 GUEST_IDTR_LIMIT equ 0x00004812
79 GUEST_ES_ACCESS equ 0x00004814
80 GUEST_CS_ACCESS equ 0x00004816
81 GUEST_SS_ACCESS equ 0x00004818
82 GUEST_DS_ACCESS equ 0x0000481A
83 GUEST_FS_ACCESS equ 0x0000481C
84 GUEST_GS_ACCESS equ 0x0000481E
85 GUEST_LDTR_ACCESS equ 0x00004820
86 GUEST_TR_ACCESS equ 0x00004822
87 GUEST_INT_STATE equ 0x00004824
88 GUEST_ACTIVITY_STATE equ 0x00004826
89 GUEST_SMBASE equ 0x00004828
90 GUEST_IA32_SYSENTER_CS equ 0x0000482A
91 HOST_IA32_SYSENTER_CS equ 0x00004C00
92 CR0_GUEST_HOST_MASK equ 0x00006000
93 CR4_GUEST_HOST_MASK equ 0x00006002
94 CR0_READ_SHADOW equ 0x00006004
95 CR4_READ_SHADOW equ 0x00006006
96 CR3_TARGET_VALUE_0 equ 0x00006008
97 CR3_TARGET_VALUE_1 equ 0x0000600A
98 CR3_TARGET_VALUE_2 equ 0x0000600C
99 CR3_TARGET_VALUE_3 equ 0x0000600E
100 EXIT_QUALIFICATION equ 0x00006400
101 IO_RCX equ 0x00006402
102 IO_RSI equ 0x00006404
103 IO_RDI equ 0x00006406
104 IO_RIP equ 0x00006408
105 GUEST_LINEAR_ADDR equ 0x0000640A
106 GUEST_CR0 equ 0x00006800
107 GUEST_CR3 equ 0x00006802
108 GUEST_CR4 equ 0x00006804
109 GUEST_ES_BASE equ 0x00006806
110 GUEST_CS_BASE equ 0x00006808
111 GUEST_SS_BASE equ 0x0000680A
112 GUEST_DS_BASE equ 0x0000680C
113 GUEST_FS_BASE equ 0x0000680E
114 GUEST_GS_BASE equ 0x00006810
115 GUEST_LDTR_BASE equ 0x00006812
116 GUEST_TR_BASE equ 0x00006814
117 GUEST_GDTR_BASE equ 0x00006816
118 GUEST_IDTR_BASE equ 0x00006818
119 GUEST_DR7 equ 0x0000681A
120 GUEST_RSP equ 0x0000681C
121 GUEST_RIP equ 0x0000681E
122 GUEST_RFLAGS equ 0x00006820
123 GUEST_PENDING_DEBUG_EXCS equ 0x00006822
124 GUEST_IA32_SYSENTER_ESP equ 0x00006824
125 GUEST_IA32_SYSENTER_EIP equ 0x00006826
126 HOST_CR0 equ 0x00006C00
127 HOST_CR3 equ 0x00006C02
128 HOST_CR4 equ 0x00006C04
129 HOST_FS_BASE equ 0x00006C06
130 HOST_GS_BASE equ 0x00006C08
131 HOST_TR_BASE equ 0x00006C0A
132 HOST_GDTR_BASE equ 0x00006C0C
133 HOST_IDTR_BASE equ 0x00006C0E
134 HOST_IA32_SYSENTER_ESP equ 0x00006C10
135 HOST_IA32_SYSENTER_EIP equ 0x00006C12
136 HOST_RSP equ 0x00006C14
137 HOST_RIP equ 0x00006C16