reg.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * linux/asm-sparc/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. #ifndef __SPARC_REG_H
  14. #define __SPARC_REG_H
  15. struct regs {
  16. int     r_psr;
  17. #define r_ps r_psr
  18.         int     r_pc; 
  19.         int     r_npc;
  20.         int     r_y;  
  21.         int     r_g1; 
  22.         int     r_g2;
  23.         int     r_g3;
  24.         int     r_g4;
  25.         int     r_g5;
  26.         int     r_g6;
  27.         int     r_g7;
  28.         int     r_o0;
  29.         int     r_o1;
  30.         int     r_o2;
  31.         int     r_o3;
  32.         int     r_o4;
  33.         int     r_o5;
  34.         int     r_o6;
  35.         int     r_o7;
  36. };
  37. struct fpq {
  38.         unsigned long *addr;
  39.         unsigned long instr;
  40. };
  41. struct  fq {
  42.         union {
  43.                 double  whole;
  44.                 struct  fpq fpq;
  45.         } FQu;
  46. };
  47. #define FPU_REGS_TYPE unsigned int
  48. #define FPU_FSR_TYPE unsigned
  49. struct fp_status {
  50.         union {
  51.                 FPU_REGS_TYPE Fpu_regs[32];
  52.                 double  Fpu_dregs[16];
  53.         } fpu_fr;
  54.         FPU_FSR_TYPE Fpu_fsr;
  55.         unsigned Fpu_flags;
  56.         unsigned Fpu_extra;
  57.         unsigned Fpu_qcnt;
  58.         struct fq Fpu_q[16];
  59. };
  60. #define fpu_regs  f_fpstatus.fpu_fr.Fpu_regs
  61. #define fpu_dregs f_fpstatus.fpu_fr.Fpu_dregs
  62. #define fpu_fsr   f_fpstatus.Fpu_fsr
  63. #define fpu_flags f_fpstatus.Fpu_flags
  64. #define fpu_extra f_fpstatus.Fpu_extra
  65. #define fpu_q     f_fpstatus.Fpu_q
  66. #define fpu_qcnt  f_fpstatus.Fpu_qcnt
  67. struct fpu {
  68.         struct fp_status f_fpstatus;
  69. };
  70. #endif /* __SPARC_REG_H */