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
;