specreg.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /*
  2. * Xtensa Special Register symbolic names
  3. */
  4. /* $Id: //depot/rel/Eaglenest/Xtensa/SWConfig/hal/specreg.h.tpp#1 $ */
  5. /* Customer ID=11657; Build=0x5fe96; Copyright (c) 1998-2002 Tensilica Inc.
  6. Permission is hereby granted, free of charge, to any person obtaining
  7. a copy of this software and associated documentation files (the
  8. "Software"), to deal in the Software without restriction, including
  9. without limitation the rights to use, copy, modify, merge, publish,
  10. distribute, sublicense, and/or sell copies of the Software, and to
  11. permit persons to whom the Software is furnished to do so, subject to
  12. the following conditions:
  13. The above copyright notice and this permission notice shall be included
  14. in all copies or substantial portions of the Software.
  15. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  16. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  17. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  18. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
  19. CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  20. TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  21. SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
  22. #ifndef XTENSA_SPECREG_H
  23. #define XTENSA_SPECREG_H
  24. /* Include these special register bitfield definitions, for historical reasons: */
  25. #include <xtensa/corebits.h>
  26. /* Special registers: */
  27. #define LBEG 0
  28. #define LEND 1
  29. #define LCOUNT 2
  30. #define SAR 3
  31. #define BR 4
  32. #define SCOMPARE1 12
  33. #define ACCLO 16
  34. #define ACCHI 17
  35. #define MR_0 32
  36. #define MR_1 33
  37. #define MR_2 34
  38. #define MR_3 35
  39. #define WINDOWBASE 72
  40. #define WINDOWSTART 73
  41. #define IBREAKENABLE 96
  42. #define MEMCTL 97
  43. #define ATOMCTL 99
  44. #define DDR 104
  45. #define IBREAKA_0 128
  46. #define IBREAKA_1 129
  47. #define DBREAKA_0 144
  48. #define DBREAKA_1 145
  49. #define DBREAKC_0 160
  50. #define DBREAKC_1 161
  51. #define EPC_1 177
  52. #define EPC_2 178
  53. #define EPC_3 179
  54. #define EPC_4 180
  55. #define EPC_5 181
  56. #define EPC_6 182
  57. #define EPC_7 183
  58. #define DEPC 192
  59. #define EPS_2 194
  60. #define EPS_3 195
  61. #define EPS_4 196
  62. #define EPS_5 197
  63. #define EPS_6 198
  64. #define EPS_7 199
  65. #define EXCSAVE_1 209
  66. #define EXCSAVE_2 210
  67. #define EXCSAVE_3 211
  68. #define EXCSAVE_4 212
  69. #define EXCSAVE_5 213
  70. #define EXCSAVE_6 214
  71. #define EXCSAVE_7 215
  72. #define CPENABLE 224
  73. #define INTERRUPT 226
  74. #define INTENABLE 228
  75. #define PS 230
  76. #define VECBASE 231
  77. #define EXCCAUSE 232
  78. #define DEBUGCAUSE 233
  79. #define CCOUNT 234
  80. #define PRID 235
  81. #define ICOUNT 236
  82. #define ICOUNTLEVEL 237
  83. #define EXCVADDR 238
  84. #define CCOMPARE_0 240
  85. #define CCOMPARE_1 241
  86. #define CCOMPARE_2 242
  87. #define MISC_REG_0 244
  88. #define MISC_REG_1 245
  89. #define MISC_REG_2 246
  90. #define MISC_REG_3 247
  91. /* Special cases (bases of special register series): */
  92. #define MR 32
  93. #define IBREAKA 128
  94. #define DBREAKA 144
  95. #define DBREAKC 160
  96. #define EPC 176
  97. #define EPS 192
  98. #define EXCSAVE 208
  99. #define CCOMPARE 240
  100. /* Special names for read-only and write-only interrupt registers: */
  101. #define INTREAD 226
  102. #define INTSET 226
  103. #define INTCLEAR 227
  104. #endif /* XTENSA_SPECREG_H */