VirtualBox

source: vbox/trunk/include/VBox/cpum.mac@ 6981

Last change on this file since 6981 was 5999, checked in by vboxsync, 17 years ago

The Giant CDDL Dual-License Header Change.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.8 KB
Line 
1;; @file
2;
3; CPUM - CPU Monitor.
4;
5
6;
7; Copyright (C) 2006-2007 innotek GmbH
8;
9; This file is part of VirtualBox Open Source Edition (OSE), as
10; available from http://www.virtualbox.org. This file is free software;
11; you can redistribute it and/or modify it under the terms of the GNU
12; General Public License (GPL) as published by the Free Software
13; Foundation, in version 2 as it comes in the "COPYING" file of the
14; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16;
17; The contents of this file may alternatively be used under the terms
18; of the Common Development and Distribution License Version 1.0
19; (CDDL) only, as it comes in the "COPYING.CDDL" file of the
20; VirtualBox OSE distribution, in which case the provisions of the
21; CDDL are applicable instead of those of the GPL.
22;
23; You may elect to license modified versions of this file under the
24; terms and conditions of either the GPL or the CDDL or both.
25;
26
27%ifndef __VBox_cpum_mac__
28%define __VBox_cpum_mac__
29
30
31;;
32; Registers frame.
33; This is used internally in TRPM, VMMSwitcher_GuestToHost_GuestCtx
34; and other places.
35struc CPUMCTXCORE
36 .edi resd 1
37 .esi resd 1
38 .ebp resd 1
39 .eax resd 1
40 .ebx resd 1
41 .edx resd 1
42 .ecx resd 1
43 .esp resd 1
44 .ss resw 1
45 .ssPadding resw 1
46 .gs resw 1
47 .gsPadding resw 1
48 .fs resw 1
49 .fsPadding resw 1
50 .es resw 1
51 .esPadding resw 1
52 .ds resw 1
53 .dsPadding resw 1
54 .cs resw 1
55 .csPadding resw 1
56 .eflags resd 1
57 .eip resd 1
58
59 .esHid.u32Base resd 1
60 .esHid.u32Limit resd 1
61 .esHid.Attr resd 1
62
63 .csHid.u32Base resd 1
64 .csHid.u32Limit resd 1
65 .csHid.Attr resd 1
66
67 .ssHid.u32Base resd 1
68 .ssHid.u32Limit resd 1
69 .ssHid.Attr resd 1
70
71 .dsHid.u32Base resd 1
72 .dsHid.u32Limit resd 1
73 .dsHid.Attr resd 1
74
75 .fsHid.u32Base resd 1
76 .fsHid.u32Limit resd 1
77 .fsHid.Attr resd 1
78
79 .gsHid.u32Base resd 1
80 .gsHid.u32Limit resd 1
81 .gsHid.Attr resd 1
82
83endstruc
84
85
86struc CPUMCTX
87 .fpu resb 512
88
89 .edi resd 1
90 .esi resd 1
91 .ebp resd 1
92 .eax resd 1
93 .ebx resd 1
94 .edx resd 1
95 .ecx resd 1
96 .esp resd 1
97 .ss resw 1
98 .ssPadding resw 1
99 .gs resw 1
100 .gsPadding resw 1
101 .fs resw 1
102 .fsPadding resw 1
103 .es resw 1
104 .esPadding resw 1
105 .ds resw 1
106 .dsPadding resw 1
107 .cs resw 1
108 .csPadding resw 1
109 .eflags resd 1
110 .eip resd 1
111 .esHid.u32Base resd 1
112 .esHid.u32Limit resd 1
113 .esHid.Attr resd 1
114
115 .csHid.u32Base resd 1
116 .csHid.u32Limit resd 1
117 .csHid.Attr resd 1
118
119 .ssHid.u32Base resd 1
120 .ssHid.u32Limit resd 1
121 .ssHid.Attr resd 1
122
123 .dsHid.u32Base resd 1
124 .dsHid.u32Limit resd 1
125 .dsHid.Attr resd 1
126
127 .fsHid.u32Base resd 1
128 .fsHid.u32Limit resd 1
129 .fsHid.Attr resd 1
130
131 .gsHid.u32Base resd 1
132 .gsHid.u32Limit resd 1
133 .gsHid.Attr resd 1
134
135
136 .cr0 resd 1
137 .cr2 resd 1
138 .cr3 resd 1
139 .cr4 resd 1
140
141 .dr0 resd 1
142 .dr1 resd 1
143 .dr2 resd 1
144 .dr3 resd 1
145 .dr4 resd 1
146 .dr5 resd 1
147 .dr6 resd 1
148 .dr7 resd 1
149
150 .gdtr resb 6 ; GDT limit + linear address
151 .gdtrPadding resw 1
152 .gdtrPadding64 resd 1
153 .idtr resb 6 ; IDT limit + linear address
154 .idtrPadding resw 1
155 .idtrPadding64 resd 1
156 .ldtr resw 1
157 .ldtrPadding resw 1
158 .tr resw 1
159 .trPadding resw 1
160
161 .SysEnter.cs resb 8
162 .SysEnter.eip resb 8
163 .SysEnter.esp resb 8
164
165 .ldtrHid.u32Base resd 1
166 .ldtrHid.u32Limit resd 1
167 .ldtrHid.Attr resd 1
168
169 .trHid.u32Base resd 1
170 .trHid.u32Limit resd 1
171 .trHid.Attr resd 1
172
173 ; padding
174 .padding resd 6
175endstruc
176
177%endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette