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