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