1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _ASM_X86_SIGCONTEXT32_H
20 #define _ASM_X86_SIGCONTEXT32_H
21 #include <linux/types.h>
22 #define X86_FXSR_MAGIC 0x0000
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 struct _fpreg {
25   unsigned short significand[4];
26   unsigned short exponent;
27 };
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 struct _fpxreg {
30   unsigned short significand[4];
31   unsigned short exponent;
32   unsigned short padding[3];
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 };
35 struct _xmmreg {
36   __u32 element[4];
37 };
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 struct _fpstate_ia32 {
40   __u32 cw;
41   __u32 sw;
42   __u32 tag;
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44   __u32 ipoff;
45   __u32 cssel;
46   __u32 dataoff;
47   __u32 datasel;
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49   struct _fpreg _st[8];
50   unsigned short status;
51   unsigned short magic;
52   __u32 _fxsr_env[6];
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54   __u32 mxcsr;
55   __u32 reserved;
56   struct _fpxreg _fxsr_st[8];
57   struct _xmmreg _xmm[8];
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   __u32 padding[44];
60   union {
61     __u32 padding2[12];
62     struct _fpx_sw_bytes sw_reserved;
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64   };
65 };
66 struct sigcontext_ia32 {
67   unsigned short gs, __gsh;
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   unsigned short fs, __fsh;
70   unsigned short es, __esh;
71   unsigned short ds, __dsh;
72   unsigned int di;
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74   unsigned int si;
75   unsigned int bp;
76   unsigned int sp;
77   unsigned int bx;
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79   unsigned int dx;
80   unsigned int cx;
81   unsigned int ax;
82   unsigned int trapno;
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84   unsigned int err;
85   unsigned int ip;
86   unsigned short cs, __csh;
87   unsigned int flags;
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89   unsigned int sp_at_signal;
90   unsigned short ss, __ssh;
91   unsigned int fpstate;
92   unsigned int oldmask;
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94   unsigned int cr2;
95 };
96 #endif
97