xref: /aosp_15_r20/prebuilts/build-tools/sysroots/i686-unknown-linux-musl/include/asm/sigcontext.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker /*
2*cda5da8dSAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*cda5da8dSAndroid Build Coastguard Worker  *
4*cda5da8dSAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*cda5da8dSAndroid Build Coastguard Worker  * for more information.
6*cda5da8dSAndroid Build Coastguard Worker  */
7*cda5da8dSAndroid Build Coastguard Worker #ifndef _UAPI_ASM_X86_SIGCONTEXT_H
8*cda5da8dSAndroid Build Coastguard Worker #define _UAPI_ASM_X86_SIGCONTEXT_H
9*cda5da8dSAndroid Build Coastguard Worker #include <linux/compiler.h>
10*cda5da8dSAndroid Build Coastguard Worker #include <linux/types.h>
11*cda5da8dSAndroid Build Coastguard Worker #define FP_XSTATE_MAGIC1 0x46505853U
12*cda5da8dSAndroid Build Coastguard Worker #define FP_XSTATE_MAGIC2 0x46505845U
13*cda5da8dSAndroid Build Coastguard Worker #define FP_XSTATE_MAGIC2_SIZE sizeof(FP_XSTATE_MAGIC2)
14*cda5da8dSAndroid Build Coastguard Worker struct _fpx_sw_bytes {
15*cda5da8dSAndroid Build Coastguard Worker   __u32 magic1;
16*cda5da8dSAndroid Build Coastguard Worker   __u32 extended_size;
17*cda5da8dSAndroid Build Coastguard Worker   __u64 xfeatures;
18*cda5da8dSAndroid Build Coastguard Worker   __u32 xstate_size;
19*cda5da8dSAndroid Build Coastguard Worker   __u32 padding[7];
20*cda5da8dSAndroid Build Coastguard Worker };
21*cda5da8dSAndroid Build Coastguard Worker struct _fpreg {
22*cda5da8dSAndroid Build Coastguard Worker   __u16 significand[4];
23*cda5da8dSAndroid Build Coastguard Worker   __u16 exponent;
24*cda5da8dSAndroid Build Coastguard Worker };
25*cda5da8dSAndroid Build Coastguard Worker struct _fpxreg {
26*cda5da8dSAndroid Build Coastguard Worker   __u16 significand[4];
27*cda5da8dSAndroid Build Coastguard Worker   __u16 exponent;
28*cda5da8dSAndroid Build Coastguard Worker   __u16 padding[3];
29*cda5da8dSAndroid Build Coastguard Worker };
30*cda5da8dSAndroid Build Coastguard Worker struct _xmmreg {
31*cda5da8dSAndroid Build Coastguard Worker   __u32 element[4];
32*cda5da8dSAndroid Build Coastguard Worker };
33*cda5da8dSAndroid Build Coastguard Worker #define X86_FXSR_MAGIC 0x0000
34*cda5da8dSAndroid Build Coastguard Worker struct _fpstate_32 {
35*cda5da8dSAndroid Build Coastguard Worker   __u32 cw;
36*cda5da8dSAndroid Build Coastguard Worker   __u32 sw;
37*cda5da8dSAndroid Build Coastguard Worker   __u32 tag;
38*cda5da8dSAndroid Build Coastguard Worker   __u32 ipoff;
39*cda5da8dSAndroid Build Coastguard Worker   __u32 cssel;
40*cda5da8dSAndroid Build Coastguard Worker   __u32 dataoff;
41*cda5da8dSAndroid Build Coastguard Worker   __u32 datasel;
42*cda5da8dSAndroid Build Coastguard Worker   struct _fpreg _st[8];
43*cda5da8dSAndroid Build Coastguard Worker   __u16 status;
44*cda5da8dSAndroid Build Coastguard Worker   __u16 magic;
45*cda5da8dSAndroid Build Coastguard Worker   __u32 _fxsr_env[6];
46*cda5da8dSAndroid Build Coastguard Worker   __u32 mxcsr;
47*cda5da8dSAndroid Build Coastguard Worker   __u32 reserved;
48*cda5da8dSAndroid Build Coastguard Worker   struct _fpxreg _fxsr_st[8];
49*cda5da8dSAndroid Build Coastguard Worker   struct _xmmreg _xmm[8];
50*cda5da8dSAndroid Build Coastguard Worker   union {
51*cda5da8dSAndroid Build Coastguard Worker     __u32 padding1[44];
52*cda5da8dSAndroid Build Coastguard Worker     __u32 padding[44];
53*cda5da8dSAndroid Build Coastguard Worker   };
54*cda5da8dSAndroid Build Coastguard Worker   union {
55*cda5da8dSAndroid Build Coastguard Worker     __u32 padding2[12];
56*cda5da8dSAndroid Build Coastguard Worker     struct _fpx_sw_bytes sw_reserved;
57*cda5da8dSAndroid Build Coastguard Worker   };
58*cda5da8dSAndroid Build Coastguard Worker };
59*cda5da8dSAndroid Build Coastguard Worker struct _fpstate_64 {
60*cda5da8dSAndroid Build Coastguard Worker   __u16 cwd;
61*cda5da8dSAndroid Build Coastguard Worker   __u16 swd;
62*cda5da8dSAndroid Build Coastguard Worker   __u16 twd;
63*cda5da8dSAndroid Build Coastguard Worker   __u16 fop;
64*cda5da8dSAndroid Build Coastguard Worker   __u64 rip;
65*cda5da8dSAndroid Build Coastguard Worker   __u64 rdp;
66*cda5da8dSAndroid Build Coastguard Worker   __u32 mxcsr;
67*cda5da8dSAndroid Build Coastguard Worker   __u32 mxcsr_mask;
68*cda5da8dSAndroid Build Coastguard Worker   __u32 st_space[32];
69*cda5da8dSAndroid Build Coastguard Worker   __u32 xmm_space[64];
70*cda5da8dSAndroid Build Coastguard Worker   __u32 reserved2[12];
71*cda5da8dSAndroid Build Coastguard Worker   union {
72*cda5da8dSAndroid Build Coastguard Worker     __u32 reserved3[12];
73*cda5da8dSAndroid Build Coastguard Worker     struct _fpx_sw_bytes sw_reserved;
74*cda5da8dSAndroid Build Coastguard Worker   };
75*cda5da8dSAndroid Build Coastguard Worker };
76*cda5da8dSAndroid Build Coastguard Worker #ifdef __i386__
77*cda5da8dSAndroid Build Coastguard Worker #define _fpstate _fpstate_32
78*cda5da8dSAndroid Build Coastguard Worker #else
79*cda5da8dSAndroid Build Coastguard Worker #define _fpstate _fpstate_64
80*cda5da8dSAndroid Build Coastguard Worker #endif
81*cda5da8dSAndroid Build Coastguard Worker struct _header {
82*cda5da8dSAndroid Build Coastguard Worker   __u64 xfeatures;
83*cda5da8dSAndroid Build Coastguard Worker   __u64 reserved1[2];
84*cda5da8dSAndroid Build Coastguard Worker   __u64 reserved2[5];
85*cda5da8dSAndroid Build Coastguard Worker };
86*cda5da8dSAndroid Build Coastguard Worker struct _ymmh_state {
87*cda5da8dSAndroid Build Coastguard Worker   __u32 ymmh_space[64];
88*cda5da8dSAndroid Build Coastguard Worker };
89*cda5da8dSAndroid Build Coastguard Worker struct _xstate {
90*cda5da8dSAndroid Build Coastguard Worker   struct _fpstate fpstate;
91*cda5da8dSAndroid Build Coastguard Worker   struct _header xstate_hdr;
92*cda5da8dSAndroid Build Coastguard Worker   struct _ymmh_state ymmh;
93*cda5da8dSAndroid Build Coastguard Worker };
94*cda5da8dSAndroid Build Coastguard Worker struct sigcontext_32 {
95*cda5da8dSAndroid Build Coastguard Worker   __u16 gs, __gsh;
96*cda5da8dSAndroid Build Coastguard Worker   __u16 fs, __fsh;
97*cda5da8dSAndroid Build Coastguard Worker   __u16 es, __esh;
98*cda5da8dSAndroid Build Coastguard Worker   __u16 ds, __dsh;
99*cda5da8dSAndroid Build Coastguard Worker   __u32 di;
100*cda5da8dSAndroid Build Coastguard Worker   __u32 si;
101*cda5da8dSAndroid Build Coastguard Worker   __u32 bp;
102*cda5da8dSAndroid Build Coastguard Worker   __u32 sp;
103*cda5da8dSAndroid Build Coastguard Worker   __u32 bx;
104*cda5da8dSAndroid Build Coastguard Worker   __u32 dx;
105*cda5da8dSAndroid Build Coastguard Worker   __u32 cx;
106*cda5da8dSAndroid Build Coastguard Worker   __u32 ax;
107*cda5da8dSAndroid Build Coastguard Worker   __u32 trapno;
108*cda5da8dSAndroid Build Coastguard Worker   __u32 err;
109*cda5da8dSAndroid Build Coastguard Worker   __u32 ip;
110*cda5da8dSAndroid Build Coastguard Worker   __u16 cs, __csh;
111*cda5da8dSAndroid Build Coastguard Worker   __u32 flags;
112*cda5da8dSAndroid Build Coastguard Worker   __u32 sp_at_signal;
113*cda5da8dSAndroid Build Coastguard Worker   __u16 ss, __ssh;
114*cda5da8dSAndroid Build Coastguard Worker   __u32 fpstate;
115*cda5da8dSAndroid Build Coastguard Worker   __u32 oldmask;
116*cda5da8dSAndroid Build Coastguard Worker   __u32 cr2;
117*cda5da8dSAndroid Build Coastguard Worker };
118*cda5da8dSAndroid Build Coastguard Worker struct sigcontext_64 {
119*cda5da8dSAndroid Build Coastguard Worker   __u64 r8;
120*cda5da8dSAndroid Build Coastguard Worker   __u64 r9;
121*cda5da8dSAndroid Build Coastguard Worker   __u64 r10;
122*cda5da8dSAndroid Build Coastguard Worker   __u64 r11;
123*cda5da8dSAndroid Build Coastguard Worker   __u64 r12;
124*cda5da8dSAndroid Build Coastguard Worker   __u64 r13;
125*cda5da8dSAndroid Build Coastguard Worker   __u64 r14;
126*cda5da8dSAndroid Build Coastguard Worker   __u64 r15;
127*cda5da8dSAndroid Build Coastguard Worker   __u64 di;
128*cda5da8dSAndroid Build Coastguard Worker   __u64 si;
129*cda5da8dSAndroid Build Coastguard Worker   __u64 bp;
130*cda5da8dSAndroid Build Coastguard Worker   __u64 bx;
131*cda5da8dSAndroid Build Coastguard Worker   __u64 dx;
132*cda5da8dSAndroid Build Coastguard Worker   __u64 ax;
133*cda5da8dSAndroid Build Coastguard Worker   __u64 cx;
134*cda5da8dSAndroid Build Coastguard Worker   __u64 sp;
135*cda5da8dSAndroid Build Coastguard Worker   __u64 ip;
136*cda5da8dSAndroid Build Coastguard Worker   __u64 flags;
137*cda5da8dSAndroid Build Coastguard Worker   __u16 cs;
138*cda5da8dSAndroid Build Coastguard Worker   __u16 gs;
139*cda5da8dSAndroid Build Coastguard Worker   __u16 fs;
140*cda5da8dSAndroid Build Coastguard Worker   __u16 ss;
141*cda5da8dSAndroid Build Coastguard Worker   __u64 err;
142*cda5da8dSAndroid Build Coastguard Worker   __u64 trapno;
143*cda5da8dSAndroid Build Coastguard Worker   __u64 oldmask;
144*cda5da8dSAndroid Build Coastguard Worker   __u64 cr2;
145*cda5da8dSAndroid Build Coastguard Worker   __u64 fpstate;
146*cda5da8dSAndroid Build Coastguard Worker   __u64 reserved1[8];
147*cda5da8dSAndroid Build Coastguard Worker };
148*cda5da8dSAndroid Build Coastguard Worker #define _fpstate_ia32 _fpstate_32
149*cda5da8dSAndroid Build Coastguard Worker #define sigcontext_ia32 sigcontext_32
150*cda5da8dSAndroid Build Coastguard Worker #ifdef __i386__
151*cda5da8dSAndroid Build Coastguard Worker struct sigcontext {
152*cda5da8dSAndroid Build Coastguard Worker   __u16 gs, __gsh;
153*cda5da8dSAndroid Build Coastguard Worker   __u16 fs, __fsh;
154*cda5da8dSAndroid Build Coastguard Worker   __u16 es, __esh;
155*cda5da8dSAndroid Build Coastguard Worker   __u16 ds, __dsh;
156*cda5da8dSAndroid Build Coastguard Worker   __u32 edi;
157*cda5da8dSAndroid Build Coastguard Worker   __u32 esi;
158*cda5da8dSAndroid Build Coastguard Worker   __u32 ebp;
159*cda5da8dSAndroid Build Coastguard Worker   __u32 esp;
160*cda5da8dSAndroid Build Coastguard Worker   __u32 ebx;
161*cda5da8dSAndroid Build Coastguard Worker   __u32 edx;
162*cda5da8dSAndroid Build Coastguard Worker   __u32 ecx;
163*cda5da8dSAndroid Build Coastguard Worker   __u32 eax;
164*cda5da8dSAndroid Build Coastguard Worker   __u32 trapno;
165*cda5da8dSAndroid Build Coastguard Worker   __u32 err;
166*cda5da8dSAndroid Build Coastguard Worker   __u32 eip;
167*cda5da8dSAndroid Build Coastguard Worker   __u16 cs, __csh;
168*cda5da8dSAndroid Build Coastguard Worker   __u32 eflags;
169*cda5da8dSAndroid Build Coastguard Worker   __u32 esp_at_signal;
170*cda5da8dSAndroid Build Coastguard Worker   __u16 ss, __ssh;
171*cda5da8dSAndroid Build Coastguard Worker   struct _fpstate  * fpstate;
172*cda5da8dSAndroid Build Coastguard Worker   __u32 oldmask;
173*cda5da8dSAndroid Build Coastguard Worker   __u32 cr2;
174*cda5da8dSAndroid Build Coastguard Worker };
175*cda5da8dSAndroid Build Coastguard Worker #else
176*cda5da8dSAndroid Build Coastguard Worker struct sigcontext {
177*cda5da8dSAndroid Build Coastguard Worker   __u64 r8;
178*cda5da8dSAndroid Build Coastguard Worker   __u64 r9;
179*cda5da8dSAndroid Build Coastguard Worker   __u64 r10;
180*cda5da8dSAndroid Build Coastguard Worker   __u64 r11;
181*cda5da8dSAndroid Build Coastguard Worker   __u64 r12;
182*cda5da8dSAndroid Build Coastguard Worker   __u64 r13;
183*cda5da8dSAndroid Build Coastguard Worker   __u64 r14;
184*cda5da8dSAndroid Build Coastguard Worker   __u64 r15;
185*cda5da8dSAndroid Build Coastguard Worker   __u64 rdi;
186*cda5da8dSAndroid Build Coastguard Worker   __u64 rsi;
187*cda5da8dSAndroid Build Coastguard Worker   __u64 rbp;
188*cda5da8dSAndroid Build Coastguard Worker   __u64 rbx;
189*cda5da8dSAndroid Build Coastguard Worker   __u64 rdx;
190*cda5da8dSAndroid Build Coastguard Worker   __u64 rax;
191*cda5da8dSAndroid Build Coastguard Worker   __u64 rcx;
192*cda5da8dSAndroid Build Coastguard Worker   __u64 rsp;
193*cda5da8dSAndroid Build Coastguard Worker   __u64 rip;
194*cda5da8dSAndroid Build Coastguard Worker   __u64 eflags;
195*cda5da8dSAndroid Build Coastguard Worker   __u16 cs;
196*cda5da8dSAndroid Build Coastguard Worker   __u16 gs;
197*cda5da8dSAndroid Build Coastguard Worker   __u16 fs;
198*cda5da8dSAndroid Build Coastguard Worker   union {
199*cda5da8dSAndroid Build Coastguard Worker     __u16 ss;
200*cda5da8dSAndroid Build Coastguard Worker     __u16 __pad0;
201*cda5da8dSAndroid Build Coastguard Worker   };
202*cda5da8dSAndroid Build Coastguard Worker   __u64 err;
203*cda5da8dSAndroid Build Coastguard Worker   __u64 trapno;
204*cda5da8dSAndroid Build Coastguard Worker   __u64 oldmask;
205*cda5da8dSAndroid Build Coastguard Worker   __u64 cr2;
206*cda5da8dSAndroid Build Coastguard Worker   struct _fpstate  * fpstate;
207*cda5da8dSAndroid Build Coastguard Worker #ifdef __ILP32__
208*cda5da8dSAndroid Build Coastguard Worker   __u32 __fpstate_pad;
209*cda5da8dSAndroid Build Coastguard Worker #endif
210*cda5da8dSAndroid Build Coastguard Worker   __u64 reserved1[8];
211*cda5da8dSAndroid Build Coastguard Worker };
212*cda5da8dSAndroid Build Coastguard Worker #endif
213*cda5da8dSAndroid Build Coastguard Worker #endif
214