blob: 90f07b786acef702a433405a69ed5243fea172c9 [file] [log] [blame]
Bobby Bingham15094942016-11-11 21:52:05 -06001#undef __WORDSIZE
2#define __WORDSIZE 64
3
4typedef union {
5 double d;
6 float f;
7} elf_fpreg_t;
8
9typedef struct {
10 unsigned fpc;
11 fpreg_t fprs[16];
12} elf_fpregset_t;
13
14#define ELF_NGREG 27
Bobby Binghamafefce12016-11-14 21:37:41 -060015typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG];
Bobby Bingham15094942016-11-11 21:52:05 -060016
17struct _user_psw_struct {
18 unsigned long mask, addr;
19};
20
21struct _user_fpregs_struct {
22 unsigned fpc;
23 double fprs[16];
24};
25
Bobby Bingham15094942016-11-11 21:52:05 -060026struct _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} per_struct;
36
Bobby Bingham3f79eaa2016-11-14 21:37:42 -060037struct _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
Bobby Bingham15094942016-11-11 21:52:05 -060047struct 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 (~(PAGE_SIZE-1))
58#define NBPG PAGE_SIZE
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