aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorGlauber de Oliveira Costa <gcosta@redhat.com>2008-01-30 07:31:41 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:31:41 -0500
commit46265df040533f57c191bb2b019d6b25c3bf1f34 (patch)
tree702a028558df2c970c5f4280679d6bb81b822f63 /include
parentea5e3593a493298c69b8c4a958628feace930478 (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')
-rw-r--r--include/asm-x86/processor.h66
-rw-r--r--include/asm-x86/processor_32.h49
-rw-r--r--include/asm-x86/processor_64.h17
3 files changed, 66 insertions, 66 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
230struct 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
242struct 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
258struct 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
272union 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
280struct 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
294union 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
diff --git a/include/asm-x86/processor_32.h b/include/asm-x86/processor_32.h
index 82fafabbfe7a..0d6a430b2bc3 100644
--- a/include/asm-x86/processor_32.h
+++ b/include/asm-x86/processor_32.h
@@ -29,55 +29,6 @@ DECLARE_PER_CPU(u8, cpu_llc_id);
29 */ 29 */
30#define TASK_SIZE (PAGE_OFFSET) 30#define TASK_SIZE (PAGE_OFFSET)
31 31
32
33struct i387_fsave_struct {
34 long cwd;
35 long swd;
36 long twd;
37 long fip;
38 long fcs;
39 long foo;
40 long fos;
41 long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */
42 long status; /* software status information */
43};
44
45struct i387_fxsave_struct {
46 unsigned short cwd;
47 unsigned short swd;
48 unsigned short twd;
49 unsigned short fop;
50 long fip;
51 long fcs;
52 long foo;
53 long fos;
54 long mxcsr;
55 long mxcsr_mask;
56 long st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */
57 long xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */
58 long padding[56];
59} __attribute__ ((aligned (16)));
60
61struct i387_soft_struct {
62 long cwd;
63 long swd;
64 long twd;
65 long fip;
66 long fcs;
67 long foo;
68 long fos;
69 long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */
70 unsigned char ftop, changed, lookahead, no_update, rm, alimit;
71 struct info *info;
72 unsigned long entry_eip;
73};
74
75union i387_union {
76 struct i387_fsave_struct fsave;
77 struct i387_fxsave_struct fxsave;
78 struct i387_soft_struct soft;
79};
80
81#define INIT_THREAD { \ 32#define INIT_THREAD { \
82 .sp0 = sizeof(init_stack) + (long)&init_stack, \ 33 .sp0 = sizeof(init_stack) + (long)&init_stack, \
83 .vm86_info = NULL, \ 34 .vm86_info = NULL, \
diff --git a/include/asm-x86/processor_64.h b/include/asm-x86/processor_64.h
index 86fc2dcc8687..04ce823ea7e6 100644
--- a/include/asm-x86/processor_64.h
+++ b/include/asm-x86/processor_64.h
@@ -31,23 +31,6 @@
31#define TASK_SIZE_OF(child) ((test_tsk_thread_flag(child, TIF_IA32)) ? IA32_PAGE_OFFSET : TASK_SIZE64) 31#define TASK_SIZE_OF(child) ((test_tsk_thread_flag(child, TIF_IA32)) ? IA32_PAGE_OFFSET : TASK_SIZE64)
32 32
33 33
34struct i387_fxsave_struct {
35 u16 cwd;
36 u16 swd;
37 u16 twd;
38 u16 fop;
39 u64 rip;
40 u64 rdp;
41 u32 mxcsr;
42 u32 mxcsr_mask;
43 u32 st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */
44 u32 xmm_space[64]; /* 16*16 bytes for each XMM-reg = 256 bytes */
45 u32 padding[24];
46} __attribute__ ((aligned (16)));
47
48union i387_union {
49 struct i387_fxsave_struct fxsave;
50};
51 34
52DECLARE_PER_CPU(struct orig_ist, orig_ist); 35DECLARE_PER_CPU(struct orig_ist, orig_ist);
53 36