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