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