reg.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
- /*
- * linux/asm-sparc/reg.h
- * 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 __SPARC_REG_H
- #define __SPARC_REG_H
- struct regs {
- int r_psr;
- #define r_ps r_psr
- int r_pc;
- int r_npc;
- int r_y;
- int r_g1;
- int r_g2;
- int r_g3;
- int r_g4;
- int r_g5;
- int r_g6;
- int r_g7;
- int r_o0;
- int r_o1;
- int r_o2;
- int r_o3;
- int r_o4;
- int r_o5;
- int r_o6;
- int r_o7;
- };
- struct fpq {
- unsigned long *addr;
- unsigned long instr;
- };
- struct fq {
- union {
- double whole;
- struct fpq fpq;
- } FQu;
- };
- #define FPU_REGS_TYPE unsigned int
- #define FPU_FSR_TYPE unsigned
- struct fp_status {
- union {
- FPU_REGS_TYPE Fpu_regs[32];
- double Fpu_dregs[16];
- } fpu_fr;
- FPU_FSR_TYPE Fpu_fsr;
- unsigned Fpu_flags;
- unsigned Fpu_extra;
- unsigned Fpu_qcnt;
- struct fq Fpu_q[16];
- };
- #define fpu_regs f_fpstatus.fpu_fr.Fpu_regs
- #define fpu_dregs f_fpstatus.fpu_fr.Fpu_dregs
- #define fpu_fsr f_fpstatus.Fpu_fsr
- #define fpu_flags f_fpstatus.Fpu_flags
- #define fpu_extra f_fpstatus.Fpu_extra
- #define fpu_q f_fpstatus.Fpu_q
- #define fpu_qcnt f_fpstatus.Fpu_qcnt
- struct fpu {
- struct fp_status f_fpstatus;
- };
- #endif /* __SPARC_REG_H */