1
2
3
4
5
6 #ifndef _SPARC_USER_H
7 #define _SPARC_USER_H
8
9 struct sunos_regs {
10 unsigned long psr, pc, npc, y;
11 unsigned long regs[15];
12 };
13
14 struct sunos_fpqueue {
15 unsigned long *addr;
16 unsigned long inst;
17 };
18
19 struct sunos_fp {
20 union {
21 unsigned long regs[32];
22 double reg_dbls[16];
23 } fregs;
24 unsigned long fsr;
25 unsigned long flags;
26 unsigned long extra;
27 unsigned long fpq_count;
28 struct sunos_fpqueue fpq[16];
29 };
30
31 struct sunos_fpu {
32 struct sunos_fp fpstatus;
33 };
34
35
36 struct user {
37 unsigned long magic;
38 unsigned long len;
39 struct sunos_regs regs;
40 struct exec uexec;
41 int signal;
42 size_t u_tsize;
43 size_t u_dsize;
44 size_t u_ssize;
45 char u_comm[17];
46 struct sunos_fpu fpu;
47 unsigned long sigcode;
48 };
49
50 #define NBPG PAGE_SIZE
51 #define UPAGES 1
52 #define HOST_TEXT_START_ADDR (u.start_code)
53 #define HOST_DATA_START_ADDR (u.start_data)
54 #define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
55 #define SUNOS_CORE_MAGIC 0x080456
56
57 #endif