1 typedef union { 2 double d; 3 float f; 4 } elf_fpreg_t; 5 6 typedef struct { 7 unsigned fpc; 8 elf_fpreg_t fprs[16]; 9 } elf_fpregset_t; 10 11 #define ELF_NGREG 27 12 typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; 13 14 struct _user_psw_struct { 15 unsigned long mask, addr; 16 }; 17 18 struct _user_fpregs_struct { 19 unsigned fpc; 20 double fprs[16]; 21 }; 22 23 struct _user_per_struct { 24 unsigned long control_regs[3]; 25 unsigned single_step : 1; 26 unsigned instruction_fetch : 1; 27 unsigned : 30; 28 unsigned long starting_addr, ending_addr; 29 unsigned short perc_atmid; 30 unsigned long address; 31 unsigned char access_id; 32 }; 33 34 struct _user_regs_struct { 35 struct _user_psw_struct psw; 36 unsigned long gprs[16]; 37 unsigned acrs[16]; 38 unsigned long orig_gpr2; 39 struct _user_fpregs_struct fp_regs; 40 struct _user_per_struct per_info; 41 unsigned long ieee_instruction_pointer; 42 }; 43 44 struct user { 45 struct _user_regs_struct regs; 46 unsigned long u_tsize, u_dsize, u_ssize; 47 unsigned long start_code, start_stack; 48 long signal; 49 struct _user_regs_struct *u_ar0; 50 unsigned long magic; 51 char u_comm[32]; 52 }; 53 54 #define PAGE_MASK (~(PAGESIZE-1)) 55 #define NBPG PAGESIZE 56 #define UPAGES 1 57 #define HOST_TEXT_START_ADDR (u.start_code) 58 #define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) 59 60