1#undef __WORDSIZE 2#define __WORDSIZE 32 3 4typedef struct user_fpregs_struct { 5 long cwd, swd, twd, fip, fcs, foo, fos, st_space[20]; 6} elf_fpregset_t; 7 8typedef struct user_fpxregs_struct { 9 unsigned short cwd, swd, twd, fop; 10 long fip, fcs, foo, fos, mxcsr, reserved; 11 long st_space[32], xmm_space[32], padding[56]; 12} elf_fpxregset_t; 13 14struct user_regs_struct { 15 long ebx, ecx, edx, esi, edi, ebp, eax, xds, xes, xfs, xgs; 16 long orig_eax, eip, xcs, eflags, esp, xss; 17}; 18 19#define ELF_NGREG 17 20typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; 21 22struct user { 23 struct user_regs_struct regs; 24 int u_fpvalid; 25 struct user_fpregs_struct i387; 26 unsigned long u_tsize; 27 unsigned long u_dsize; 28 unsigned long u_ssize; 29 unsigned long start_code; 30 unsigned long start_stack; 31 long signal; 32 int reserved; 33 struct user_regs_struct *u_ar0; 34 struct user_fpregs_struct *u_fpstate; 35 unsigned long magic; 36 char u_comm[32]; 37 int u_debugreg[8]; 38}; 39 40#define PAGE_MASK (~(PAGE_SIZE-1)) 41#define NBPG PAGE_SIZE 42#define UPAGES 1 43#define HOST_TEXT_START_ADDR (u.start_code) 44#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) 45