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 xstate_bv; 32 __u32 xstate_size; 33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 __u32 padding[7]; 35}; 36#ifdef __i386__ 37struct _fpreg { 38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 unsigned short significand[4]; 40 unsigned short exponent; 41}; 42struct _fpxreg { 43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 unsigned short significand[4]; 45 unsigned short exponent; 46 unsigned short padding[3]; 47}; 48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49struct _xmmreg { 50 unsigned long element[4]; 51}; 52struct _fpstate { 53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 unsigned long cw; 55 unsigned long sw; 56 unsigned long tag; 57 unsigned long ipoff; 58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 unsigned long cssel; 60 unsigned long dataoff; 61 unsigned long datasel; 62 struct _fpreg _st[8]; 63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 unsigned short status; 65 unsigned short magic; 66 unsigned long _fxsr_env[6]; 67 unsigned long mxcsr; 68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 unsigned long reserved; 70 struct _fpxreg _fxsr_st[8]; 71 struct _xmmreg _xmm[8]; 72 unsigned long padding1[44]; 73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 union { 75 unsigned long padding2[12]; 76 struct _fpx_sw_bytes sw_reserved; 77 }; 78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79}; 80#define X86_FXSR_MAGIC 0x0000 81struct sigcontext { 82 unsigned short gs, __gsh; 83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 unsigned short fs, __fsh; 85 unsigned short es, __esh; 86 unsigned short ds, __dsh; 87 unsigned long edi; 88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 unsigned long esi; 90 unsigned long ebp; 91 unsigned long esp; 92 unsigned long ebx; 93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 unsigned long edx; 95 unsigned long ecx; 96 unsigned long eax; 97 unsigned long trapno; 98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 unsigned long err; 100 unsigned long eip; 101 unsigned short cs, __csh; 102 unsigned long eflags; 103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 unsigned long esp_at_signal; 105 unsigned short ss, __ssh; 106 struct _fpstate __user * fpstate; 107 unsigned long oldmask; 108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 unsigned long cr2; 110}; 111#else 112struct _fpstate { 113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 __u16 cwd; 115 __u16 swd; 116 __u16 twd; 117 __u16 fop; 118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 __u64 rip; 120 __u64 rdp; 121 __u32 mxcsr; 122 __u32 mxcsr_mask; 123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 __u32 st_space[32]; 125 __u32 xmm_space[64]; 126 __u32 reserved2[12]; 127 union { 128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 __u32 reserved3[12]; 130 struct _fpx_sw_bytes sw_reserved; 131 }; 132}; 133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134struct sigcontext { 135 __u64 r8; 136 __u64 r9; 137 __u64 r10; 138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 __u64 r11; 140 __u64 r12; 141 __u64 r13; 142 __u64 r14; 143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 __u64 r15; 145 __u64 rdi; 146 __u64 rsi; 147 __u64 rbp; 148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 __u64 rbx; 150 __u64 rdx; 151 __u64 rax; 152 __u64 rcx; 153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 __u64 rsp; 155 __u64 rip; 156 __u64 eflags; 157 __u16 cs; 158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 __u16 gs; 160 __u16 fs; 161 __u16 __pad0; 162 __u64 err; 163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 __u64 trapno; 165 __u64 oldmask; 166 __u64 cr2; 167 struct _fpstate __user * fpstate; 168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169#ifdef __ILP32__ 170 __u32 __fpstate_pad; 171#endif 172 __u64 reserved1[8]; 173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174}; 175#endif 176struct _xsave_hdr { 177 __u64 xstate_bv; 178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 __u64 reserved1[2]; 180 __u64 reserved2[5]; 181}; 182struct _ymmh_state { 183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184 __u32 ymmh_space[64]; 185}; 186struct _xstate { 187 struct _fpstate fpstate; 188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 struct _xsave_hdr xstate_hdr; 190 struct _ymmh_state ymmh; 191}; 192#endif 193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194