1abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/****************************************************************************
2abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************
3abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
4abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   This header was automatically generated from a Linux kernel header
5abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   of the same name, to make information necessary for userspace to
6abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   call into the kernel available to libc.  It contains only constants,
7abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   structures, and macros generated from the original header, and thus,
8abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   contains no copyrightable information.
9abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
10abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   To edit the content of this header, modify the corresponding
11abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   source file (e.g. under external/kernel-headers/original/) then
12abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   run bionic/libc/kernel/tools/update_all.py
13abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
14abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   Any manual change here will be lost the next time this script will
15abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   be run. You've been warned!
16abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
17abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************
18abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************/
19abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#ifndef _UAPI_ASM_X86_SIGCONTEXT_H
20abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define _UAPI_ASM_X86_SIGCONTEXT_H
21abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#include <linux/compiler.h>
22abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#include <linux/types.h>
23abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define FP_XSTATE_MAGIC1 0x46505853U
25abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define FP_XSTATE_MAGIC2 0x46505845U
26abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define FP_XSTATE_MAGIC2_SIZE sizeof(FP_XSTATE_MAGIC2)
27abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct _fpx_sw_bytes {
28abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u32 magic1;
30abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u32 extended_size;
31abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 xstate_bv;
32abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u32 xstate_size;
33abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u32 padding[7];
35abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
36abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#ifdef __i386__
37abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct _fpreg {
38abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned short significand[4];
40abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned short exponent;
41abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
42abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct _fpxreg {
43abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned short significand[4];
45abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned short exponent;
46abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned short padding[3];
47abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
48abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct _xmmreg {
50abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long element[4];
51abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
52abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct _fpstate {
53abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long cw;
55abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long sw;
56abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long tag;
57abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long ipoff;
58abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long cssel;
60abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long dataoff;
61abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long datasel;
62abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes struct _fpreg _st[8];
63abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned short status;
65abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned short magic;
66abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long _fxsr_env[6];
67abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long mxcsr;
68abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long reserved;
70abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes struct _fpxreg _fxsr_st[8];
71abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes struct _xmmreg _xmm[8];
72abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long padding1[44];
73abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes union {
75abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long padding2[12];
76abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes struct _fpx_sw_bytes sw_reserved;
77abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes };
78abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
80abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define X86_FXSR_MAGIC 0x0000
81abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct sigcontext {
82abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned short gs, __gsh;
83abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned short fs, __fsh;
85abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned short es, __esh;
86abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned short ds, __dsh;
87abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long edi;
88abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long esi;
90abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long ebp;
91abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long esp;
92abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long ebx;
93abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long edx;
95abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long ecx;
96abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long eax;
97abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long trapno;
98abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long err;
100abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long eip;
101abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned short cs, __csh;
102abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long eflags;
103abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long esp_at_signal;
105abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned short ss, __ssh;
106abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes struct _fpstate __user *fpstate;
107abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long oldmask;
108abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes unsigned long cr2;
110abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
111abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#else
112abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct _fpstate {
113abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u16 cwd;
115abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u16 swd;
116abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u16 twd;
117abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u16 fop;
118abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 rip;
120abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 rdp;
121abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u32 mxcsr;
122abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u32 mxcsr_mask;
123abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u32 st_space[32];
125abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u32 xmm_space[64];
126abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u32 reserved2[12];
127abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes union {
128abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u32 reserved3[12];
130abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes struct _fpx_sw_bytes sw_reserved;
131abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes };
132abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
133abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct sigcontext {
135abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 r8;
136abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 r9;
137abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 r10;
138abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 r11;
140abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 r12;
141abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 r13;
142abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 r14;
143abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 r15;
145abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 rdi;
146abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 rsi;
147abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 rbp;
148abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 rbx;
150abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 rdx;
151abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 rax;
152abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 rcx;
153abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 rsp;
155abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 rip;
156abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 eflags;
157abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u16 cs;
158abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u16 gs;
160abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u16 fs;
161abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u16 __pad0;
162abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 err;
163abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 trapno;
165abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 oldmask;
166abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 cr2;
167abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes struct _fpstate __user *fpstate;
168abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#ifdef __ILP32__
170abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u32 __fpstate_pad;
171abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#endif
172abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 reserved1[8];
173abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
175abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#endif
176abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct _xsave_hdr {
177abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 xstate_bv;
178abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 reserved1[2];
180abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u64 reserved2[5];
181abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
182abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct _ymmh_state {
183abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes __u32 ymmh_space[64];
185abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
186abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct _xstate {
187abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes struct _fpstate fpstate;
188abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes struct _xsave_hdr xstate_hdr;
190abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes struct _ymmh_state ymmh;
191abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
192abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#endif
193abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194