Home | History | Annotate | Download | only in asm
      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 _I386_USER_H
     20 #define _I386_USER_H
     21 #include <asm/page.h>
     22 struct user_i387_struct {
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24  long cwd;
     25  long swd;
     26  long twd;
     27  long fip;
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29  long fcs;
     30  long foo;
     31  long fos;
     32  long st_space[20];
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 };
     35 struct user_fxsr_struct {
     36  unsigned short cwd;
     37  unsigned short swd;
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39  unsigned short twd;
     40  unsigned short fop;
     41  long fip;
     42  long fcs;
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44  long foo;
     45  long fos;
     46  long mxcsr;
     47  long reserved;
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49  long st_space[32];
     50  long xmm_space[32];
     51  long padding[56];
     52 };
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 struct user_regs_struct {
     55  long ebx, ecx, edx, esi, edi, ebp, eax;
     56  unsigned short ds, __ds, es, __es;
     57  unsigned short fs, __fs, gs, __gs;
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59  long orig_eax, eip;
     60  unsigned short cs, __cs;
     61  long eflags, esp;
     62  unsigned short ss, __ss;
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 };
     65 struct user{
     66  struct user_regs_struct regs;
     67  int u_fpvalid;
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69  struct user_i387_struct i387;
     70  unsigned long int u_tsize;
     71  unsigned long int u_dsize;
     72  unsigned long int u_ssize;
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74  unsigned long start_code;
     75  unsigned long start_stack;
     76  long int signal;
     77  int reserved;
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79  struct user_pt_regs * u_ar0;
     80  struct user_i387_struct* u_fpstate;
     81  unsigned long magic;
     82  char u_comm[32];
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84  int u_debugreg[8];
     85 };
     86 #define NBPG PAGE_SIZE
     87 #define UPAGES 1
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89 #define HOST_TEXT_START_ADDR (u.start_code)
     90 #define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
     91 #endif
     92