| #undef __WORDSIZE |
| #define __WORDSIZE 64 |
| |
| typedef union { |
| double d; |
| float f; |
| } elf_fpreg_t; |
| |
| typedef struct { |
| unsigned fpc; |
| elf_fpreg_t fprs[16]; |
| } elf_fpregset_t; |
| |
| #define ELF_NGREG 27 |
| typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; |
| |
| struct _user_psw_struct { |
| unsigned long mask, addr; |
| }; |
| |
| struct _user_fpregs_struct { |
| unsigned fpc; |
| double fprs[16]; |
| }; |
| |
| struct _user_per_struct { |
| unsigned long control_regs[3]; |
| unsigned single_step : 1; |
| unsigned instruction_fetch : 1; |
| unsigned : 30; |
| unsigned long starting_addr, ending_addr; |
| unsigned short perc_atmid; |
| unsigned long address; |
| unsigned char access_id; |
| }; |
| |
| struct _user_regs_struct { |
| struct _user_psw_struct psw; |
| unsigned long gprs[16]; |
| unsigned acrs[16]; |
| unsigned long orig_gpr2; |
| struct _user_fpregs_struct fp_regs; |
| struct _user_per_struct per_info; |
| unsigned long ieee_instruction_pointer; |
| }; |
| |
| struct user { |
| struct _user_regs_struct regs; |
| unsigned long u_tsize, u_dsize, u_ssize; |
| unsigned long start_code, start_stack; |
| long signal; |
| struct _user_regs_struct *u_ar0; |
| unsigned long magic; |
| char u_comm[32]; |
| }; |
| |
| #define PAGE_MASK (~(PAGESIZE-1)) |
| #define NBPG PAGESIZE |
| #define UPAGES 1 |
| #define HOST_TEXT_START_ADDR (u.start_code) |
| #define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) |
| |