1 /* $Id: reg.h,v 1.6 1999/09/06 08:22:10 jj Exp $
2  * linux/asm-sparc64/reg.h
3  * Layout of the registers as expected by gdb on the Sparc
4  * we should replace the user.h definitions with those in
5  * this file, we don't even use the other
6  * -miguel
7  *
8  * The names of the structures, constants and aliases in this file
9  * have the same names as the sunos ones, some programs rely on these
10  * names (gdb for example).
11  *
12  */
13 
14 #ifndef __SPARC64_REG_H
15 #define __SPARC64_REG_H
16 
17 struct regs {
18         unsigned long r_g1;
19         unsigned long r_g2;
20         unsigned long r_g3;
21         unsigned long r_g4;
22         unsigned long r_g5;
23         unsigned long r_g6;
24         unsigned long r_g7;
25         unsigned long r_o0;
26         unsigned long r_o1;
27         unsigned long r_o2;
28         unsigned long r_o3;
29         unsigned long r_o4;
30         unsigned long r_o5;
31         unsigned long r_o6;
32         unsigned long r_o7;
33         unsigned long __pad;
34         unsigned long r_tstate;
35         unsigned long r_tpc;
36         unsigned long r_tnpc;
37         unsigned int  r_y;
38         unsigned int  r_fprs;
39 };
40 
41 #define FPU_REGS_TYPE unsigned int
42 #define FPU_FSR_TYPE unsigned long
43 
44 struct fp_status {
45         unsigned long fpu_fr[32];
46         unsigned long Fpu_fsr;
47 };
48 
49 struct fpu {
50 	struct fp_status f_fpstatus;
51 };
52 
53 #define fpu_regs  f_fpstatus.fpu_fr
54 #define fpu_fsr   f_fpstatus.Fpu_fsr
55 
56 #endif /* __SPARC64_REG_H */
57