1 #ifndef _ASMi386_SIGCONTEXT_H
2 #define _ASMi386_SIGCONTEXT_H
4 #include <linux/compiler.h>
7 * As documented in the iBCS2 standard..
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.
13 * Pentium III FXSR, SSE support
14 * Gareth Hughes <gareth@valinux.com>, May 2000
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.
21 unsigned short significand[4];
22 unsigned short exponent;
26 unsigned short significand[4];
27 unsigned short exponent;
28 unsigned short padding[3];
32 unsigned long element[4];
36 /* Regular FPU environment */
42 unsigned long dataoff;
43 unsigned long datasel;
45 unsigned short status;
46 unsigned short magic; /* 0xffff = regular FPU data only */
48 /* FXSR FPU environment */
49 unsigned long _fxsr_env[6]; /* FXSR FPU env is ignored */
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];
57 #define X86_FXSR_MAGIC 0x0000
60 unsigned short gs, __gsh;
61 unsigned short fs, __fsh;
62 unsigned short es, __esh;
63 unsigned short ds, __dsh;
75 unsigned short cs, __csh;
77 unsigned long esp_at_signal;
78 unsigned short ss, __ssh;
79 struct _fpstate __user * fpstate;
80 unsigned long oldmask;