home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 9 / FreshFishVol9-CD2.bin / bbs / gnu / gdb-4.14-src.lha / gdb-4.14 / gdb / nlm / altdebug.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-03-25  |  3.5 KB  |  106 lines

  1. typedef short int16_t;
  2. typedef unsigned short uint16_t;
  3.  
  4. typedef int int32_t;
  5. typedef unsigned int uint32_t;
  6.  
  7. typedef struct int64_s {
  8.     uint32_t   lo;
  9.     uint32_t   hi;
  10. } int64_t;
  11.  
  12. /* Define indexes into register array in StackFrame */
  13. #define SF_REG_PC    0
  14.  
  15. #define SF_IREG_OFFSET  1    /* int regs start at index 1 */
  16. #define SF_REG_V0      (0+SF_IREG_OFFSET)
  17. #define SF_REG_T0    (1+SF_IREG_OFFSET)
  18. #define SF_REG_T1    (2+SF_IREG_OFFSET)
  19. #define SF_REG_T2    (3+SF_IREG_OFFSET)
  20. #define SF_REG_T3    (4+SF_IREG_OFFSET)
  21. #define SF_REG_T4    (5+SF_IREG_OFFSET)
  22. #define SF_REG_T5    (6+SF_IREG_OFFSET)
  23. #define SF_REG_T6    (7+SF_IREG_OFFSET)
  24. #define SF_REG_T7    (8+SF_IREG_OFFSET)
  25. #define SF_REG_S0    (9+SF_IREG_OFFSET)
  26. #define SF_REG_S1    (10+SF_IREG_OFFSET)
  27. #define SF_REG_S2    (11+SF_IREG_OFFSET)
  28. #define SF_REG_S3    (12+SF_IREG_OFFSET)
  29. #define SF_REG_S4    (13+SF_IREG_OFFSET)
  30. #define SF_REG_S5    (14+SF_IREG_OFFSET)
  31. #define SF_REG_S6    (15+SF_IREG_OFFSET)
  32. #define SF_REG_FP    SF_REG_S6
  33. #define SF_REG_A0    (16+SF_IREG_OFFSET)
  34. #define SF_REG_A1    (17+SF_IREG_OFFSET)
  35. #define SF_REG_A2    (18+SF_IREG_OFFSET)
  36. #define SF_REG_A3    (19+SF_IREG_OFFSET)
  37. #define SF_REG_A4    (20+SF_IREG_OFFSET)
  38. #define SF_REG_A5    (21+SF_IREG_OFFSET)
  39. #define SF_REG_T8    (22+SF_IREG_OFFSET)
  40. #define SF_REG_T9    (23+SF_IREG_OFFSET)
  41. #define SF_REG_T10    (24+SF_IREG_OFFSET)
  42. #define SF_REG_T11    (25+SF_IREG_OFFSET)
  43. #define SF_REG_RA    (26+SF_IREG_OFFSET)
  44. #define SF_REG_PV    (27+SF_IREG_OFFSET)
  45. #define SF_REG_T12    SF_REG_PV
  46. #define SF_REG_AT    (28+SF_IREG_OFFSET)
  47. #define SF_REG_GP    (29+SF_IREG_OFFSET)
  48. #define SF_REG_SP    (30+SF_IREG_OFFSET)
  49. #define SF_REG_ZERO    (31+SF_IREG_OFFSET)
  50. #define NUMBER_OF_INT_REGS     32
  51.  
  52. #define SF_FREG_OFFSET  (SF_IREG_OFFSET+NUMBER_OF_INT_REGS)
  53. #define SF_REG_F0    (0+SF_FREG_OFFSET)
  54. #define SF_REG_F1    (1+SF_FREG_OFFSET)
  55. #define SF_REG_F2    (2+SF_FREG_OFFSET)
  56. #define SF_REG_F3    (3+SF_FREG_OFFSET)
  57. #define SF_REG_F4    (4+SF_FREG_OFFSET)
  58. #define SF_REG_F5    (5+SF_FREG_OFFSET)
  59. #define SF_REG_F6    (6+SF_FREG_OFFSET)
  60. #define SF_REG_F7    (7+SF_FREG_OFFSET)
  61. #define SF_REG_F8    (8+SF_FREG_OFFSET)
  62. #define SF_REG_F9    (9+SF_FREG_OFFSET)
  63. #define SF_REG_F10    (10+SF_FREG_OFFSET)
  64. #define SF_REG_F11    (11+SF_FREG_OFFSET)
  65. #define SF_REG_F12    (12+SF_FREG_OFFSET)
  66. #define SF_REG_F13    (13+SF_FREG_OFFSET)
  67. #define SF_REG_F14    (14+SF_FREG_OFFSET)
  68. #define SF_REG_F15    (15+SF_FREG_OFFSET)
  69. #define SF_REG_F16    (16+SF_FREG_OFFSET)
  70. #define SF_REG_F17    (17+SF_FREG_OFFSET)
  71. #define SF_REG_F18    (18+SF_FREG_OFFSET)
  72. #define SF_REG_F19    (19+SF_FREG_OFFSET)
  73. #define SF_REG_F20    (20+SF_FREG_OFFSET)
  74. #define SF_REG_F21    (21+SF_FREG_OFFSET)
  75. #define SF_REG_F22    (22+SF_FREG_OFFSET)
  76. #define SF_REG_F23    (23+SF_FREG_OFFSET)
  77. #define SF_REG_F24    (24+SF_FREG_OFFSET)
  78. #define SF_REG_F25    (25+SF_FREG_OFFSET)
  79. #define SF_REG_F26    (26+SF_FREG_OFFSET)
  80. #define SF_REG_F27    (27+SF_FREG_OFFSET)
  81. #define SF_REG_F28    (28+SF_FREG_OFFSET)
  82. #define SF_REG_F29    (29+SF_FREG_OFFSET)
  83. #define SF_REG_F30    (30+SF_FREG_OFFSET)
  84. #define SF_REG_FZERO    (31+SF_FREG_OFFSET)
  85.  
  86. #define NUMBER_OF_FLOAT_REGS    32
  87.  
  88. struct StackFrame
  89. {
  90.     struct DomainStructure *ExceptionDomainID;
  91.     struct ProcessorStructure *ExceptionProcessorID;
  92.     BYTE *ExceptionDescription;
  93.     LONG ExceptionFlags;
  94.     LONG ExceptionErrorCode;
  95.     LONG ExceptionNumber;
  96.     
  97.     int64_t ExceptionAddress; /* Address at which exception occured */
  98.     int64_t ExceptionRegs[1+NUMBER_OF_INT_REGS+NUMBER_OF_FLOAT_REGS];
  99.                 /* First entry is for PC */
  100.     int  ExceptionBrkptNum;    /* Set by the NSI debug exception handler
  101.                    if the exception was caused by a
  102.                    NID breakpoint */
  103.     int  ExceptionBrkptFlags;    /* Flags for the breakpoint. See nsibrkpt.c
  104.                    for details */
  105. };
  106.