1 #ifndef _ASM_X86_SIGCONTEXT32_H
2 #define _ASM_X86_SIGCONTEXT32_H
4 #include <linux/types.h>
6 /* signal context for 32bit programs. */
8 #define X86_FXSR_MAGIC 0x0000
11 unsigned short significand[4];
12 unsigned short exponent;
16 unsigned short significand[4];
17 unsigned short exponent;
18 unsigned short padding[3];
25 /* FSAVE frame with extensions */
26 struct _fpstate_ia32 {
27 /* Regular FPU environment */
30 __u32 tag; /* not compatible to 64bit twd */
36 unsigned short status;
37 unsigned short magic; /* 0xffff = regular FPU data only */
39 /* FXSR FPU environment */
43 struct _fpxreg _fxsr_st[8];
44 struct _xmmreg _xmm[8]; /* It's actually 16 */
48 struct _fpx_sw_bytes sw_reserved;
52 struct sigcontext_ia32 {
53 unsigned short gs, __gsh;
54 unsigned short fs, __fsh;
55 unsigned short es, __esh;
56 unsigned short ds, __dsh;
68 unsigned short cs, __csh;
70 unsigned int sp_at_signal;
71 unsigned short ss, __ssh;
72 unsigned int fpstate; /* really (struct _fpstate_ia32 *) */
77 #endif /* _ASM_X86_SIGCONTEXT32_H */