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) 27struct _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}; 36struct _fpreg { 37 __u16 significand[4]; 38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 __u16 exponent; 40}; 41struct _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}; 47struct _xmmreg { 48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 __u32 element[4]; 50}; 51#define X86_FXSR_MAGIC 0x0000 52struct _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 */ 84struct _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 111struct _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}; 117struct _ymmh_state { 118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 __u32 ymmh_space[64]; 120}; 121struct _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}; 127struct 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}; 157struct 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 */ 199struct 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 230struct 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