diff options
author | Glauber de Oliveira Costa <gcosta@redhat.com> | 2008-01-30 07:31:41 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:31:41 -0500 |
commit | 46265df040533f57c191bb2b019d6b25c3bf1f34 (patch) | |
tree | 702a028558df2c970c5f4280679d6bb81b822f63 /include/asm-x86/processor.h | |
parent | ea5e3593a493298c69b8c4a958628feace930478 (diff) |
x86: move i387 definitions to processor.h
This patch moves i387 definitions from processor_32.h and processor_64.h
to processor.h. They are different. Very different. And there's appearently
nothing we can do about it, so they're enclosed inside ifdefs.
Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/processor.h')
-rw-r--r-- | include/asm-x86/processor.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/include/asm-x86/processor.h b/include/asm-x86/processor.h index a8f1702ec3ba..80c50020ef60 100644 --- a/include/asm-x86/processor.h +++ b/include/asm-x86/processor.h | |||
@@ -227,8 +227,74 @@ struct orig_ist { | |||
227 | }; | 227 | }; |
228 | 228 | ||
229 | #ifdef CONFIG_X86_32 | 229 | #ifdef CONFIG_X86_32 |
230 | struct i387_fsave_struct { | ||
231 | long cwd; | ||
232 | long swd; | ||
233 | long twd; | ||
234 | long fip; | ||
235 | long fcs; | ||
236 | long foo; | ||
237 | long fos; | ||
238 | long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ | ||
239 | long status; /* software status information */ | ||
240 | }; | ||
241 | |||
242 | struct i387_fxsave_struct { | ||
243 | unsigned short cwd; | ||
244 | unsigned short swd; | ||
245 | unsigned short twd; | ||
246 | unsigned short fop; | ||
247 | long fip; | ||
248 | long fcs; | ||
249 | long foo; | ||
250 | long fos; | ||
251 | long mxcsr; | ||
252 | long mxcsr_mask; | ||
253 | long st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ | ||
254 | long xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */ | ||
255 | long padding[56]; | ||
256 | } __attribute__((aligned(16))); | ||
257 | |||
258 | struct i387_soft_struct { | ||
259 | long cwd; | ||
260 | long swd; | ||
261 | long twd; | ||
262 | long fip; | ||
263 | long fcs; | ||
264 | long foo; | ||
265 | long fos; | ||
266 | long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ | ||
267 | unsigned char ftop, changed, lookahead, no_update, rm, alimit; | ||
268 | struct info *info; | ||
269 | unsigned long entry_eip; | ||
270 | }; | ||
271 | |||
272 | union i387_union { | ||
273 | struct i387_fsave_struct fsave; | ||
274 | struct i387_fxsave_struct fxsave; | ||
275 | struct i387_soft_struct soft; | ||
276 | }; | ||
277 | |||
230 | # include "processor_32.h" | 278 | # include "processor_32.h" |
231 | #else | 279 | #else |
280 | struct i387_fxsave_struct { | ||
281 | u16 cwd; | ||
282 | u16 swd; | ||
283 | u16 twd; | ||
284 | u16 fop; | ||
285 | u64 rip; | ||
286 | u64 rdp; | ||
287 | u32 mxcsr; | ||
288 | u32 mxcsr_mask; | ||
289 | u32 st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ | ||
290 | u32 xmm_space[64]; /* 16*16 bytes for each XMM-reg = 256 bytes */ | ||
291 | u32 padding[24]; | ||
292 | } __attribute__((aligned(16))); | ||
293 | |||
294 | union i387_union { | ||
295 | struct i387_fxsave_struct fxsave; | ||
296 | }; | ||
297 | |||
232 | # include "processor_64.h" | 298 | # include "processor_64.h" |
233 | #endif | 299 | #endif |
234 | 300 | ||