x86: merge sigcontext_32/64.h

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

+137 -154
-2
include/asm-x86/Kbuild
··· 23 unifdef-y += ptrace.h 24 unifdef-y += setup_32.h 25 unifdef-y += setup_64.h 26 - unifdef-y += sigcontext_32.h 27 - unifdef-y += sigcontext_64.h 28 unifdef-y += signal_32.h 29 unifdef-y += signal_64.h 30 unifdef-y += unistd_32.h
··· 23 unifdef-y += ptrace.h 24 unifdef-y += setup_32.h 25 unifdef-y += setup_64.h 26 unifdef-y += signal_32.h 27 unifdef-y += signal_64.h 28 unifdef-y += unistd_32.h
+137 -12
include/asm-x86/sigcontext.h
··· 1 - #ifdef __KERNEL__ 2 - # ifdef CONFIG_X86_32 3 - # include "sigcontext_32.h" 4 - # else 5 - # include "sigcontext_64.h" 6 - # endif 7 - #else 8 - # ifdef __i386__ 9 - # include "sigcontext_32.h" 10 - # else 11 - # include "sigcontext_64.h" 12 - # endif 13 #endif
··· 1 + #ifndef _ASM_X86_SIGCONTEXT_H 2 + #define _ASM_X86_SIGCONTEXT_H 3 + 4 + #include <linux/compiler.h> 5 + #include <asm/types.h> 6 + 7 + #ifdef __i386__ 8 + /* 9 + * As documented in the iBCS2 standard.. 10 + * 11 + * The first part of "struct _fpstate" is just the normal i387 12 + * hardware setup, the extra "status" word is used to save the 13 + * coprocessor status word before entering the handler. 14 + * 15 + * Pentium III FXSR, SSE support 16 + * Gareth Hughes <gareth@valinux.com>, May 2000 17 + * 18 + * The FPU state data structure has had to grow to accommodate the 19 + * extended FPU state required by the Streaming SIMD Extensions. 20 + * There is no documented standard to accomplish this at the moment. 21 + */ 22 + struct _fpreg { 23 + unsigned short significand[4]; 24 + unsigned short exponent; 25 + }; 26 + 27 + struct _fpxreg { 28 + unsigned short significand[4]; 29 + unsigned short exponent; 30 + unsigned short padding[3]; 31 + }; 32 + 33 + struct _xmmreg { 34 + unsigned long element[4]; 35 + }; 36 + 37 + struct _fpstate { 38 + /* Regular FPU environment */ 39 + unsigned long cw; 40 + unsigned long sw; 41 + unsigned long tag; 42 + unsigned long ipoff; 43 + unsigned long cssel; 44 + unsigned long dataoff; 45 + unsigned long datasel; 46 + struct _fpreg _st[8]; 47 + unsigned short status; 48 + unsigned short magic; /* 0xffff = regular FPU data only */ 49 + 50 + /* FXSR FPU environment */ 51 + unsigned long _fxsr_env[6]; /* FXSR FPU env is ignored */ 52 + unsigned long mxcsr; 53 + unsigned long reserved; 54 + struct _fpxreg _fxsr_st[8]; /* FXSR FPU reg data is ignored */ 55 + struct _xmmreg _xmm[8]; 56 + unsigned long padding[56]; 57 + }; 58 + 59 + #define X86_FXSR_MAGIC 0x0000 60 + 61 + struct sigcontext { 62 + unsigned short gs, __gsh; 63 + unsigned short fs, __fsh; 64 + unsigned short es, __esh; 65 + unsigned short ds, __dsh; 66 + unsigned long edi; 67 + unsigned long esi; 68 + unsigned long ebp; 69 + unsigned long esp; 70 + unsigned long ebx; 71 + unsigned long edx; 72 + unsigned long ecx; 73 + unsigned long eax; 74 + unsigned long trapno; 75 + unsigned long err; 76 + unsigned long eip; 77 + unsigned short cs, __csh; 78 + unsigned long eflags; 79 + unsigned long esp_at_signal; 80 + unsigned short ss, __ssh; 81 + struct _fpstate __user * fpstate; 82 + unsigned long oldmask; 83 + unsigned long cr2; 84 + }; 85 + 86 + #else /* __i386__ */ 87 + 88 + /* FXSAVE frame */ 89 + /* Note: reserved1/2 may someday contain valuable data. Always save/restore 90 + them when you change signal frames. */ 91 + struct _fpstate { 92 + __u16 cwd; 93 + __u16 swd; 94 + __u16 twd; /* Note this is not the same as the 32bit/x87/FSAVE twd */ 95 + __u16 fop; 96 + __u64 rip; 97 + __u64 rdp; 98 + __u32 mxcsr; 99 + __u32 mxcsr_mask; 100 + __u32 st_space[32]; /* 8*16 bytes for each FP-reg */ 101 + __u32 xmm_space[64]; /* 16*16 bytes for each XMM-reg */ 102 + __u32 reserved2[24]; 103 + }; 104 + 105 + struct sigcontext { 106 + unsigned long r8; 107 + unsigned long r9; 108 + unsigned long r10; 109 + unsigned long r11; 110 + unsigned long r12; 111 + unsigned long r13; 112 + unsigned long r14; 113 + unsigned long r15; 114 + unsigned long rdi; 115 + unsigned long rsi; 116 + unsigned long rbp; 117 + unsigned long rbx; 118 + unsigned long rdx; 119 + unsigned long rax; 120 + unsigned long rcx; 121 + unsigned long rsp; 122 + unsigned long rip; 123 + unsigned long eflags; /* RFLAGS */ 124 + unsigned short cs; 125 + unsigned short gs; 126 + unsigned short fs; 127 + unsigned short __pad0; 128 + unsigned long err; 129 + unsigned long trapno; 130 + unsigned long oldmask; 131 + unsigned long cr2; 132 + struct _fpstate __user *fpstate; /* zero when no FPU context */ 133 + unsigned long reserved1[8]; 134 + }; 135 + 136 + #endif /* !__i386__ */ 137 + 138 #endif
-85
include/asm-x86/sigcontext_32.h
··· 1 - #ifndef _ASMi386_SIGCONTEXT_H 2 - #define _ASMi386_SIGCONTEXT_H 3 - 4 - #include <linux/compiler.h> 5 - 6 - /* 7 - * As documented in the iBCS2 standard.. 8 - * 9 - * The first part of "struct _fpstate" is just the normal i387 10 - * hardware setup, the extra "status" word is used to save the 11 - * coprocessor status word before entering the handler. 12 - * 13 - * Pentium III FXSR, SSE support 14 - * Gareth Hughes <gareth@valinux.com>, May 2000 15 - * 16 - * The FPU state data structure has had to grow to accommodate the 17 - * extended FPU state required by the Streaming SIMD Extensions. 18 - * There is no documented standard to accomplish this at the moment. 19 - */ 20 - struct _fpreg { 21 - unsigned short significand[4]; 22 - unsigned short exponent; 23 - }; 24 - 25 - struct _fpxreg { 26 - unsigned short significand[4]; 27 - unsigned short exponent; 28 - unsigned short padding[3]; 29 - }; 30 - 31 - struct _xmmreg { 32 - unsigned long element[4]; 33 - }; 34 - 35 - struct _fpstate { 36 - /* Regular FPU environment */ 37 - unsigned long cw; 38 - unsigned long sw; 39 - unsigned long tag; 40 - unsigned long ipoff; 41 - unsigned long cssel; 42 - unsigned long dataoff; 43 - unsigned long datasel; 44 - struct _fpreg _st[8]; 45 - unsigned short status; 46 - unsigned short magic; /* 0xffff = regular FPU data only */ 47 - 48 - /* FXSR FPU environment */ 49 - unsigned long _fxsr_env[6]; /* FXSR FPU env is ignored */ 50 - unsigned long mxcsr; 51 - unsigned long reserved; 52 - struct _fpxreg _fxsr_st[8]; /* FXSR FPU reg data is ignored */ 53 - struct _xmmreg _xmm[8]; 54 - unsigned long padding[56]; 55 - }; 56 - 57 - #define X86_FXSR_MAGIC 0x0000 58 - 59 - struct sigcontext { 60 - unsigned short gs, __gsh; 61 - unsigned short fs, __fsh; 62 - unsigned short es, __esh; 63 - unsigned short ds, __dsh; 64 - unsigned long edi; 65 - unsigned long esi; 66 - unsigned long ebp; 67 - unsigned long esp; 68 - unsigned long ebx; 69 - unsigned long edx; 70 - unsigned long ecx; 71 - unsigned long eax; 72 - unsigned long trapno; 73 - unsigned long err; 74 - unsigned long eip; 75 - unsigned short cs, __csh; 76 - unsigned long eflags; 77 - unsigned long esp_at_signal; 78 - unsigned short ss, __ssh; 79 - struct _fpstate __user * fpstate; 80 - unsigned long oldmask; 81 - unsigned long cr2; 82 - }; 83 - 84 - 85 - #endif
···
-55
include/asm-x86/sigcontext_64.h
··· 1 - #ifndef _ASM_X86_64_SIGCONTEXT_H 2 - #define _ASM_X86_64_SIGCONTEXT_H 3 - 4 - #include <asm/types.h> 5 - #include <linux/compiler.h> 6 - 7 - /* FXSAVE frame */ 8 - /* Note: reserved1/2 may someday contain valuable data. Always save/restore 9 - them when you change signal frames. */ 10 - struct _fpstate { 11 - __u16 cwd; 12 - __u16 swd; 13 - __u16 twd; /* Note this is not the same as the 32bit/x87/FSAVE twd */ 14 - __u16 fop; 15 - __u64 rip; 16 - __u64 rdp; 17 - __u32 mxcsr; 18 - __u32 mxcsr_mask; 19 - __u32 st_space[32]; /* 8*16 bytes for each FP-reg */ 20 - __u32 xmm_space[64]; /* 16*16 bytes for each XMM-reg */ 21 - __u32 reserved2[24]; 22 - }; 23 - 24 - struct sigcontext { 25 - unsigned long r8; 26 - unsigned long r9; 27 - unsigned long r10; 28 - unsigned long r11; 29 - unsigned long r12; 30 - unsigned long r13; 31 - unsigned long r14; 32 - unsigned long r15; 33 - unsigned long rdi; 34 - unsigned long rsi; 35 - unsigned long rbp; 36 - unsigned long rbx; 37 - unsigned long rdx; 38 - unsigned long rax; 39 - unsigned long rcx; 40 - unsigned long rsp; 41 - unsigned long rip; 42 - unsigned long eflags; /* RFLAGS */ 43 - unsigned short cs; 44 - unsigned short gs; 45 - unsigned short fs; 46 - unsigned short __pad0; 47 - unsigned long err; 48 - unsigned long trapno; 49 - unsigned long oldmask; 50 - unsigned long cr2; 51 - struct _fpstate __user *fpstate; /* zero when no FPU context */ 52 - unsigned long reserved1[8]; 53 - }; 54 - 55 - #endif
···