17b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/****************************************************************************
27b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ****************************************************************************
37b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ***
47b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ***   This header was automatically generated from a Linux kernel header
57b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ***   of the same name, to make information necessary for userspace to
67b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ***   call into the kernel available to libc.  It contains only constants,
77b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ***   structures, and macros generated from the original header, and thus,
87b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ***   contains no copyrightable information.
97b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ***
107b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ***   To edit the content of this header, modify the corresponding
117b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ***   source file (e.g. under external/kernel-headers/original/) then
127b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ***   run bionic/libc/kernel/tools/update_all.py
137b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ***
147b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ***   Any manual change here will be lost the next time this script will
157b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ***   be run. You've been warned!
167b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ***
177b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ****************************************************************************
187b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh ****************************************************************************/
197b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh#ifndef _I386_USER_H
207b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh#define _I386_USER_H
217b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh#include <asm/page.h>
227b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsiehstruct user_i387_struct {
237b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
247b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long cwd;
257b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long swd;
267b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long twd;
277b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long fip;
287b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
297b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long fcs;
307b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long foo;
317b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long fos;
327b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long st_space[20];
337b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
347b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh};
357b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsiehstruct user_fxsr_struct {
367b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh unsigned short cwd;
377b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh unsigned short swd;
387b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
397b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh unsigned short twd;
407b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh unsigned short fop;
417b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long fip;
427b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long fcs;
437b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
447b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long foo;
457b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long fos;
467b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long mxcsr;
477b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long reserved;
487b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
497b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long st_space[32];
507b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long xmm_space[32];
517b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long padding[56];
527b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh};
537b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
547b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsiehstruct user_regs_struct {
557b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long ebx, ecx, edx, esi, edi, ebp, eax;
567b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh unsigned short ds, __ds, es, __es;
577b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh unsigned short fs, __fs, gs, __gs;
587b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
597b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long orig_eax, eip;
607b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh unsigned short cs, __cs;
617b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long eflags, esp;
627b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh unsigned short ss, __ss;
637b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
647b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh};
657b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsiehstruct user{
667b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh struct user_regs_struct regs;
677b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh int u_fpvalid;
687b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
697b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh struct user_i387_struct i387;
707b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh unsigned long int u_tsize;
717b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh unsigned long int u_dsize;
727b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh unsigned long int u_ssize;
737b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
747b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh unsigned long start_code;
757b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh unsigned long start_stack;
767b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh long int signal;
777b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh int reserved;
787b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
797b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh struct user_pt_regs * u_ar0;
807b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh struct user_i387_struct* u_fpstate;
817b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh unsigned long magic;
827b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh char u_comm[32];
837b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
847b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh int u_debugreg[8];
857b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh};
867b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh#define NBPG PAGE_SIZE
877b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh#define UPAGES 1
887b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
897b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh#define HOST_TEXT_START_ADDR (u.start_code)
907b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
917b0de5ae35083554f258e68dcfb0c9ada702e70aAndrew Hsieh#endif
92