VirtualBox

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

Last change on this file since 4878 was 4071, checked in by vboxsync, 17 years ago

Biggest check-in ever. New source code headers for all (C) innotek files.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.4 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 as published by the Free Software Foundation,
13; in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
14; distribution. VirtualBox OSE is distributed in the hope that it will
15; be useful, but WITHOUT ANY WARRANTY of any kind.
16
17%ifndef __VBox_cpum_mac__
18%define __VBox_cpum_mac__
19
20
21;;
22; Registers frame.
23; This is used internally in TRPM, VMMSwitcher_GuestToHost_GuestCtx
24; and other places.
25struc CPUMCTXCORE
26 .edi resd 1
27 .esi resd 1
28 .ebp resd 1
29 .eax resd 1
30 .ebx resd 1
31 .edx resd 1
32 .ecx resd 1
33 .esp resd 1
34 .ss resw 1
35 .ssPadding resw 1
36 .gs resw 1
37 .gsPadding resw 1
38 .fs resw 1
39 .fsPadding resw 1
40 .es resw 1
41 .esPadding resw 1
42 .ds resw 1
43 .dsPadding resw 1
44 .cs resw 1
45 .csPadding resw 1
46 .eflags resd 1
47 .eip resd 1
48
49 .esHid.u32Base resd 1
50 .esHid.u32Limit resd 1
51 .esHid.Attr resd 1
52
53 .csHid.u32Base resd 1
54 .csHid.u32Limit resd 1
55 .csHid.Attr resd 1
56
57 .ssHid.u32Base resd 1
58 .ssHid.u32Limit resd 1
59 .ssHid.Attr resd 1
60
61 .dsHid.u32Base resd 1
62 .dsHid.u32Limit resd 1
63 .dsHid.Attr resd 1
64
65 .fsHid.u32Base resd 1
66 .fsHid.u32Limit resd 1
67 .fsHid.Attr resd 1
68
69 .gsHid.u32Base resd 1
70 .gsHid.u32Limit resd 1
71 .gsHid.Attr resd 1
72
73endstruc
74
75
76struc CPUMCTX
77 .fpu resb 512
78
79 .edi resd 1
80 .esi resd 1
81 .ebp resd 1
82 .eax resd 1
83 .ebx resd 1
84 .edx resd 1
85 .ecx resd 1
86 .esp resd 1
87 .ss resw 1
88 .ssPadding resw 1
89 .gs resw 1
90 .gsPadding resw 1
91 .fs resw 1
92 .fsPadding resw 1
93 .es resw 1
94 .esPadding resw 1
95 .ds resw 1
96 .dsPadding resw 1
97 .cs resw 1
98 .csPadding resw 1
99 .eflags resd 1
100 .eip resd 1
101 .esHid.u32Base resd 1
102 .esHid.u32Limit resd 1
103 .esHid.Attr resd 1
104
105 .csHid.u32Base resd 1
106 .csHid.u32Limit resd 1
107 .csHid.Attr resd 1
108
109 .ssHid.u32Base resd 1
110 .ssHid.u32Limit resd 1
111 .ssHid.Attr resd 1
112
113 .dsHid.u32Base resd 1
114 .dsHid.u32Limit resd 1
115 .dsHid.Attr resd 1
116
117 .fsHid.u32Base resd 1
118 .fsHid.u32Limit resd 1
119 .fsHid.Attr resd 1
120
121 .gsHid.u32Base resd 1
122 .gsHid.u32Limit resd 1
123 .gsHid.Attr resd 1
124
125
126 .cr0 resd 1
127 .cr2 resd 1
128 .cr3 resd 1
129 .cr4 resd 1
130
131 .dr0 resd 1
132 .dr1 resd 1
133 .dr2 resd 1
134 .dr3 resd 1
135 .dr4 resd 1
136 .dr5 resd 1
137 .dr6 resd 1
138 .dr7 resd 1
139
140 .gdtr resb 6 ; GDT limit + linear address
141 .gdtrPadding resw 1
142 .gdtrPadding64 resd 1
143 .idtr resb 6 ; IDT limit + linear address
144 .idtrPadding resw 1
145 .idtrPadding64 resd 1
146 .ldtr resw 1
147 .ldtrPadding resw 1
148 .tr resw 1
149 .trPadding resw 1
150
151 .SysEnter.cs resb 8
152 .SysEnter.eip resb 8
153 .SysEnter.esp resb 8
154
155 .ldtrHid.u32Base resd 1
156 .ldtrHid.u32Limit resd 1
157 .ldtrHid.Attr resd 1
158
159 .trHid.u32Base resd 1
160 .trHid.u32Limit resd 1
161 .trHid.Attr resd 1
162
163 ; padding
164 .padding resd 6
165endstruc
166
167%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