• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 _UAPI_ASM_X86_SIGCONTEXT_H
20 #define _UAPI_ASM_X86_SIGCONTEXT_H
21 #include <linux/compiler.h>
22 #include <linux/types.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define FP_XSTATE_MAGIC1 0x46505853U
25 #define FP_XSTATE_MAGIC2 0x46505845U
26 #define FP_XSTATE_MAGIC2_SIZE sizeof(FP_XSTATE_MAGIC2)
27 struct _fpx_sw_bytes {
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29   __u32 magic1;
30   __u32 extended_size;
31   __u64 xfeatures;
32   __u32 xstate_size;
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34   __u32 padding[7];
35 };
36 struct _fpreg {
37   __u16 significand[4];
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39   __u16 exponent;
40 };
41 struct _fpxreg {
42   __u16 significand[4];
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44   __u16 exponent;
45   __u16 padding[3];
46 };
47 struct _xmmreg {
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49   __u32 element[4];
50 };
51 #define X86_FXSR_MAGIC 0x0000
52 struct _fpstate_32 {
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54   __u32 cw;
55   __u32 sw;
56   __u32 tag;
57   __u32 ipoff;
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   __u32 cssel;
60   __u32 dataoff;
61   __u32 datasel;
62   struct _fpreg _st[8];
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64   __u16 status;
65   __u16 magic;
66   __u32 _fxsr_env[6];
67   __u32 mxcsr;
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   __u32 reserved;
70   struct _fpxreg _fxsr_st[8];
71   struct _xmmreg _xmm[8];
72   union {
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74     __u32 padding1[44];
75     __u32 padding[44];
76   };
77   union {
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79     __u32 padding2[12];
80     struct _fpx_sw_bytes sw_reserved;
81   };
82 };
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 struct _fpstate_64 {
85   __u16 cwd;
86   __u16 swd;
87   __u16 twd;
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89   __u16 fop;
90   __u64 rip;
91   __u64 rdp;
92   __u32 mxcsr;
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94   __u32 mxcsr_mask;
95   __u32 st_space[32];
96   __u32 xmm_space[64];
97   __u32 reserved2[12];
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99   union {
100     __u32 reserved3[12];
101     struct _fpx_sw_bytes sw_reserved;
102   };
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 };
105 #ifdef __i386__
106 #define _fpstate _fpstate_32
107 #else
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 #define _fpstate _fpstate_64
110 #endif
111 struct _header {
112   __u64 xfeatures;
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114   __u64 reserved1[2];
115   __u64 reserved2[5];
116 };
117 struct _ymmh_state {
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119   __u32 ymmh_space[64];
120 };
121 struct _xstate {
122   struct _fpstate fpstate;
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124   struct _header xstate_hdr;
125   struct _ymmh_state ymmh;
126 };
127 struct sigcontext_32 {
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129   __u16 gs, __gsh;
130   __u16 fs, __fsh;
131   __u16 es, __esh;
132   __u16 ds, __dsh;
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134   __u32 di;
135   __u32 si;
136   __u32 bp;
137   __u32 sp;
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139   __u32 bx;
140   __u32 dx;
141   __u32 cx;
142   __u32 ax;
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144   __u32 trapno;
145   __u32 err;
146   __u32 ip;
147   __u16 cs, __csh;
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149   __u32 flags;
150   __u32 sp_at_signal;
151   __u16 ss, __ssh;
152   __u32 fpstate;
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154   __u32 oldmask;
155   __u32 cr2;
156 };
157 struct sigcontext_64 {
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159   __u64 r8;
160   __u64 r9;
161   __u64 r10;
162   __u64 r11;
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164   __u64 r12;
165   __u64 r13;
166   __u64 r14;
167   __u64 r15;
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169   __u64 di;
170   __u64 si;
171   __u64 bp;
172   __u64 bx;
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174   __u64 dx;
175   __u64 ax;
176   __u64 cx;
177   __u64 sp;
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179   __u64 ip;
180   __u64 flags;
181   __u16 cs;
182   __u16 gs;
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184   __u16 fs;
185   __u16 __pad0;
186   __u64 err;
187   __u64 trapno;
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189   __u64 oldmask;
190   __u64 cr2;
191   __u64 fpstate;
192   __u64 reserved1[8];
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 };
195 #define _fpstate_ia32 _fpstate_32
196 #define sigcontext_ia32 sigcontext_32
197 #ifdef __i386__
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 struct sigcontext {
200   __u16 gs, __gsh;
201   __u16 fs, __fsh;
202   __u16 es, __esh;
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204   __u16 ds, __dsh;
205   __u32 edi;
206   __u32 esi;
207   __u32 ebp;
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209   __u32 esp;
210   __u32 ebx;
211   __u32 edx;
212   __u32 ecx;
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214   __u32 eax;
215   __u32 trapno;
216   __u32 err;
217   __u32 eip;
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219   __u16 cs, __csh;
220   __u32 eflags;
221   __u32 esp_at_signal;
222   __u16 ss, __ssh;
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224   struct _fpstate __user * fpstate;
225   __u32 oldmask;
226   __u32 cr2;
227 };
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229 #else
230 struct sigcontext {
231   __u64 r8;
232   __u64 r9;
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234   __u64 r10;
235   __u64 r11;
236   __u64 r12;
237   __u64 r13;
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239   __u64 r14;
240   __u64 r15;
241   __u64 rdi;
242   __u64 rsi;
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244   __u64 rbp;
245   __u64 rbx;
246   __u64 rdx;
247   __u64 rax;
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249   __u64 rcx;
250   __u64 rsp;
251   __u64 rip;
252   __u64 eflags;
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254   __u16 cs;
255   __u16 gs;
256   __u16 fs;
257   __u16 __pad0;
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259   __u64 err;
260   __u64 trapno;
261   __u64 oldmask;
262   __u64 cr2;
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264   struct _fpstate __user * fpstate;
265 #ifdef __ILP32__
266   __u32 __fpstate_pad;
267 #endif
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269   __u64 reserved1[8];
270 };
271 #endif
272 #endif
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274