VirtualBox

source: vbox/trunk/include/iprt/x86extra.mac@ 47267

Last change on this file since 47267 was 47267, checked in by vboxsync, 11 years ago

Regenerate assembly headers, added TSSes to x86extra.mac.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 6.0 KB
Line 
1;; @file
2; IPRT - X86 and AMD64 Structures and Definitions that are not automatically
3; converted from the C header file.
4;
5
6;
7; Copyright (C) 2012-2013 Oracle Corporation
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 ___iprt_x86extra_mac
28%define ___iprt_x86extra_mac
29
30
31%define X86_XCPT_DE 0x00
32%define X86_XCPT_DB 0x01
33%define X86_XCPT_NMI 0x02
34%define X86_XCPT_BP 0x03
35%define X86_XCPT_OF 0x04
36%define X86_XCPT_BR 0x05
37%define X86_XCPT_UD 0x06
38%define X86_XCPT_NM 0x07
39%define X86_XCPT_DF 0x08
40%define X86_XCPT_CO_SEG_OVERRUN 0x09
41%define X86_XCPT_TS 0x0a
42%define X86_XCPT_NP 0x0b
43%define X86_XCPT_SS 0x0c
44%define X86_XCPT_GP 0x0d
45%define X86_XCPT_PF 0x0e
46%define X86_XCPT_MF 0x10
47%define X86_XCPT_AC 0x11
48%define X86_XCPT_MC 0x12
49%define X86_XCPT_XF 0x13
50%define X86_XCPT_VE 0x14
51%define X86_XCPT_SX 0x1f
52
53%define PAGE_SIZE 0x1000
54
55
56;;
57; 32-bit protected mode fstenv image.
58;
59struc X86FSTENV32P
60 .FCW resw 1
61 .padding1 resw 1
62 .FSW resw 1
63 .padding2 resw 1
64 .FTW resw 1
65 .padding3 resw 1
66 .FPUIP resd 1
67 .FPUCS resw 1
68 .FOP resw 1
69 .FPUDP resd 1
70 .FPUDS resw 1
71 .padding4 resw 1
72endstruc
73
74
75;;
76; The image saved by FXSAVE.
77;
78struc X86FXSTATE
79 .FCW resw 1
80 .FSW resw 1
81 .FTW resw 1
82 .FOP resw 1
83 .FPUIP resd 1
84 .FPUCS resw 1
85 .Rsrvd1 resw 1
86 .FPUDP resd 1
87 .FPUDS resw 1
88 .Rsrvd2 resw 1
89 .MXCSR resd 1
90 .MXCSR_MASK resd 1
91 .st0 resd 4
92 .st1 resd 4
93 .st2 resd 4
94 .st3 resd 4
95 .st4 resd 4
96 .st5 resd 4
97 .st6 resd 4
98 .st7 resd 4
99 .xmm0 resd 4
100 .xmm1 resd 4
101 .xmm2 resd 4
102 .xmm3 resd 4
103 .xmm4 resd 4
104 .xmm5 resd 4
105 .xmm6 resd 4
106 .xmm7 resd 4
107 .xmm8 resd 4
108 .xmm9 resd 4
109 .xmm10 resd 4
110 .xmm11 resd 4
111 .xmm12 resd 4
112 .xmm13 resd 4
113 .xmm14 resd 4
114 .xmm15 resd 4
115 .au32RsrvdRest resd 24
116endstruc
117
118
119struc X86TSS16
120 .selPrev resw 1
121 .sp0 resw 1
122 .ss0 resw 1
123 .sp1 resw 1
124 .ss1 resw 1
125 .sp2 resw 1
126 .ss2 resw 1
127 .ip resw 1
128 .flags resw 1
129 .ax resw 1
130 .cx resw 1
131 .dx resw 1
132 .bx resw 1
133 .sp resw 1
134 .bp resw 1
135 .si resw 1
136 .di resw 1
137 .es resw 1
138 .cs resw 1
139 .ss resw 1
140 .ds resw 1
141 .selLdt resw 1
142endstruc
143AssertCompileSize(X86TSS16, 44)
144
145
146struc X86TSS32
147 .selPrev resw 1
148 .padding1 resw 1
149 .esp0 resd 1
150 .ss0 resw 1
151 .padding_ss0 resw 1
152 .esp1 resd 1
153 .ss1 resw 1
154 .padding_ss1 resw 1
155 .esp2 resd 1
156 .ss2 resw 1
157 .padding_ss2 resw 1
158 .cr3 resd 1
159 .eip resd 1
160 .eflags resd 1
161 .eax resd 1
162 .ecx resd 1
163 .edx resd 1
164 .ebx resd 1
165 .esp resd 1
166 .ebp resd 1
167 .esi resd 1
168 .edi resd 1
169 .es resw 1
170 .padding_es resw 1
171 .cs resw 1
172 .padding_cs resw 1
173 .ss resw 1
174 .padding_ss resw 1
175 .ds resw 1
176 .padding_ds resw 1
177 .fs resw 1
178 .padding_fs resw 1
179 .gs resw 1
180 .padding_gs resw 1
181 .selLdt resw 1
182 .padding_ldt resw 1
183 .fDebugTrap resw 1
184 .offIoBitmap resw 1
185 .IntRedirBitmap resb 32
186endstruc
187
188
189struc X86TSS64
190 .u32Reserved resd 1
191 .rsp0 resq 1
192 .rsp1 resq 1
193 .rsp2 resq 1
194 .u32Reserved2 resd 2
195 .ist1 resq 1
196 .ist2 resq 1
197 .ist3 resq 1
198 .ist4 resq 1
199 .ist5 resq 1
200 .ist6 resq 1
201 .ist7 resq 1
202 .u16Reserved resw 5
203 .offIoBitmap resw 1
204 .IntRedirBitmap resb 32
205endstruc
206AssertCompileSize(X86TSS64, 136)
207
208%endif
209
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