1 #ifndef _ASM_X86_SIGCONTEXT32_H
2 #define _ASM_X86_SIGCONTEXT32_H
4 /* Signal context definitions for compat 32-bit programs: */
6 #include <linux/types.h>
8 #include <asm/sigcontext.h>
10 /* 10-byte legacy floating point register: */
16 /* 16-byte floating point register: */
23 /* 16-byte XMM vector register: */
28 #define X86_FXSR_MAGIC 0x0000
30 /* FXSAVE frame: FSAVE frame with extensions */
31 struct _fpstate_ia32
{
32 /* Regular FPU environment: */
35 __u32 tag
; /* Not compatible with the 64-bit frame */
42 __u16 magic
; /* 0xffff: regular FPU data only */
43 /* 0x0000: FXSR data */
45 /* Extended FXSR FPU environment: */
49 struct _fpxreg _fxsr_st
[8];
50 struct _xmmreg _xmm
[8]; /* The first 8 XMM registers */
51 __u32 padding
[44]; /* The second 8 XMM registers plus padding */
54 /* Might encode xstate extensions, see asm/sigcontext.h: */
55 struct _fpx_sw_bytes sw_reserved
;
59 /* 32-bit compat sigcontext: */
60 struct sigcontext_ia32
{
80 __u32 fpstate
; /* Pointer to 'struct _fpstate_ia32' */
85 #endif /* _ASM_X86_SIGCONTEXT32_H */