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