VirtualBox

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

Last change on this file since 2889 was 1, checked in by vboxsync, 55 years ago

import

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