Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


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