2008-07-18 11:55:51 +07:00
|
|
|
/*
|
2008-07-28 04:00:59 +07:00
|
|
|
* linux/asm/reg.h
|
2008-07-18 11:55:51 +07:00
|
|
|
* Layout of the registers as expected by gdb on the Sparc
|
|
|
|
* we should replace the user.h definitions with those in
|
|
|
|
* this file, we don't even use the other
|
|
|
|
* -miguel
|
|
|
|
*
|
|
|
|
* The names of the structures, constants and aliases in this file
|
|
|
|
* have the same names as the sunos ones, some programs rely on these
|
|
|
|
* names (gdb for example).
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __SPARC64_REG_H
|
|
|
|
#define __SPARC64_REG_H
|
|
|
|
|
|
|
|
struct regs {
|
|
|
|
unsigned long r_g1;
|
|
|
|
unsigned long r_g2;
|
|
|
|
unsigned long r_g3;
|
|
|
|
unsigned long r_g4;
|
|
|
|
unsigned long r_g5;
|
|
|
|
unsigned long r_g6;
|
|
|
|
unsigned long r_g7;
|
|
|
|
unsigned long r_o0;
|
|
|
|
unsigned long r_o1;
|
|
|
|
unsigned long r_o2;
|
|
|
|
unsigned long r_o3;
|
|
|
|
unsigned long r_o4;
|
|
|
|
unsigned long r_o5;
|
|
|
|
unsigned long r_o6;
|
|
|
|
unsigned long r_o7;
|
|
|
|
unsigned long __pad;
|
|
|
|
unsigned long r_tstate;
|
|
|
|
unsigned long r_tpc;
|
|
|
|
unsigned long r_tnpc;
|
|
|
|
unsigned int r_y;
|
|
|
|
unsigned int r_fprs;
|
|
|
|
};
|
|
|
|
|
|
|
|
#define FPU_REGS_TYPE unsigned int
|
|
|
|
#define FPU_FSR_TYPE unsigned long
|
|
|
|
|
|
|
|
struct fp_status {
|
|
|
|
unsigned long fpu_fr[32];
|
|
|
|
unsigned long Fpu_fsr;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct fpu {
|
|
|
|
struct fp_status f_fpstatus;
|
|
|
|
};
|
|
|
|
|
|
|
|
#define fpu_regs f_fpstatus.fpu_fr
|
|
|
|
#define fpu_fsr f_fpstatus.Fpu_fsr
|
|
|
|
|
|
|
|
#endif /* __SPARC64_REG_H */
|