reg.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. /*
  3. * Various register offset definitions for debuggers, core file
  4. * examiners and whatnot.
  5. *
  6. * This file is subject to the terms and conditions of the GNU General Public
  7. * License. See the file "COPYING" in the main directory of this archive
  8. * for more details.
  9. *
  10. * Copyright (C) 1995, 1999 Ralf Baechle
  11. * Copyright (C) 1995, 1999 Silicon Graphics
  12. */
  13. #ifndef __UAPI_ASM_MIPS_REG_H
  14. #define __UAPI_ASM_MIPS_REG_H
  15. #define MIPS32_EF_R0 6
  16. #define MIPS32_EF_R1 7
  17. #define MIPS32_EF_R2 8
  18. #define MIPS32_EF_R3 9
  19. #define MIPS32_EF_R4 10
  20. #define MIPS32_EF_R5 11
  21. #define MIPS32_EF_R6 12
  22. #define MIPS32_EF_R7 13
  23. #define MIPS32_EF_R8 14
  24. #define MIPS32_EF_R9 15
  25. #define MIPS32_EF_R10 16
  26. #define MIPS32_EF_R11 17
  27. #define MIPS32_EF_R12 18
  28. #define MIPS32_EF_R13 19
  29. #define MIPS32_EF_R14 20
  30. #define MIPS32_EF_R15 21
  31. #define MIPS32_EF_R16 22
  32. #define MIPS32_EF_R17 23
  33. #define MIPS32_EF_R18 24
  34. #define MIPS32_EF_R19 25
  35. #define MIPS32_EF_R20 26
  36. #define MIPS32_EF_R21 27
  37. #define MIPS32_EF_R22 28
  38. #define MIPS32_EF_R23 29
  39. #define MIPS32_EF_R24 30
  40. #define MIPS32_EF_R25 31
  41. /*
  42. * k0/k1 unsaved
  43. */
  44. #define MIPS32_EF_R26 32
  45. #define MIPS32_EF_R27 33
  46. #define MIPS32_EF_R28 34
  47. #define MIPS32_EF_R29 35
  48. #define MIPS32_EF_R30 36
  49. #define MIPS32_EF_R31 37
  50. /*
  51. * Saved special registers
  52. */
  53. #define MIPS32_EF_LO 38
  54. #define MIPS32_EF_HI 39
  55. #define MIPS32_EF_CP0_EPC 40
  56. #define MIPS32_EF_CP0_BADVADDR 41
  57. #define MIPS32_EF_CP0_STATUS 42
  58. #define MIPS32_EF_CP0_CAUSE 43
  59. #define MIPS32_EF_UNUSED0 44
  60. #define MIPS32_EF_SIZE 180
  61. #define MIPS64_EF_R0 0
  62. #define MIPS64_EF_R1 1
  63. #define MIPS64_EF_R2 2
  64. #define MIPS64_EF_R3 3
  65. #define MIPS64_EF_R4 4
  66. #define MIPS64_EF_R5 5
  67. #define MIPS64_EF_R6 6
  68. #define MIPS64_EF_R7 7
  69. #define MIPS64_EF_R8 8
  70. #define MIPS64_EF_R9 9
  71. #define MIPS64_EF_R10 10
  72. #define MIPS64_EF_R11 11
  73. #define MIPS64_EF_R12 12
  74. #define MIPS64_EF_R13 13
  75. #define MIPS64_EF_R14 14
  76. #define MIPS64_EF_R15 15
  77. #define MIPS64_EF_R16 16
  78. #define MIPS64_EF_R17 17
  79. #define MIPS64_EF_R18 18
  80. #define MIPS64_EF_R19 19
  81. #define MIPS64_EF_R20 20
  82. #define MIPS64_EF_R21 21
  83. #define MIPS64_EF_R22 22
  84. #define MIPS64_EF_R23 23
  85. #define MIPS64_EF_R24 24
  86. #define MIPS64_EF_R25 25
  87. /*
  88. * k0/k1 unsaved
  89. */
  90. #define MIPS64_EF_R26 26
  91. #define MIPS64_EF_R27 27
  92. #define MIPS64_EF_R28 28
  93. #define MIPS64_EF_R29 29
  94. #define MIPS64_EF_R30 30
  95. #define MIPS64_EF_R31 31
  96. /*
  97. * Saved special registers
  98. */
  99. #define MIPS64_EF_LO 32
  100. #define MIPS64_EF_HI 33
  101. #define MIPS64_EF_CP0_EPC 34
  102. #define MIPS64_EF_CP0_BADVADDR 35
  103. #define MIPS64_EF_CP0_STATUS 36
  104. #define MIPS64_EF_CP0_CAUSE 37
  105. #define MIPS64_EF_SIZE 304 /* size in bytes */
  106. #if _MIPS_SIM == _MIPS_SIM_ABI32
  107. #define EF_R0 MIPS32_EF_R0
  108. #define EF_R1 MIPS32_EF_R1
  109. #define EF_R2 MIPS32_EF_R2
  110. #define EF_R3 MIPS32_EF_R3
  111. #define EF_R4 MIPS32_EF_R4
  112. #define EF_R5 MIPS32_EF_R5
  113. #define EF_R6 MIPS32_EF_R6
  114. #define EF_R7 MIPS32_EF_R7
  115. #define EF_R8 MIPS32_EF_R8
  116. #define EF_R9 MIPS32_EF_R9
  117. #define EF_R10 MIPS32_EF_R10
  118. #define EF_R11 MIPS32_EF_R11
  119. #define EF_R12 MIPS32_EF_R12
  120. #define EF_R13 MIPS32_EF_R13
  121. #define EF_R14 MIPS32_EF_R14
  122. #define EF_R15 MIPS32_EF_R15
  123. #define EF_R16 MIPS32_EF_R16
  124. #define EF_R17 MIPS32_EF_R17
  125. #define EF_R18 MIPS32_EF_R18
  126. #define EF_R19 MIPS32_EF_R19
  127. #define EF_R20 MIPS32_EF_R20
  128. #define EF_R21 MIPS32_EF_R21
  129. #define EF_R22 MIPS32_EF_R22
  130. #define EF_R23 MIPS32_EF_R23
  131. #define EF_R24 MIPS32_EF_R24
  132. #define EF_R25 MIPS32_EF_R25
  133. #define EF_R26 MIPS32_EF_R26
  134. #define EF_R27 MIPS32_EF_R27
  135. #define EF_R28 MIPS32_EF_R28
  136. #define EF_R29 MIPS32_EF_R29
  137. #define EF_R30 MIPS32_EF_R30
  138. #define EF_R31 MIPS32_EF_R31
  139. #define EF_LO MIPS32_EF_LO
  140. #define EF_HI MIPS32_EF_HI
  141. #define EF_CP0_EPC MIPS32_EF_CP0_EPC
  142. #define EF_CP0_BADVADDR MIPS32_EF_CP0_BADVADDR
  143. #define EF_CP0_STATUS MIPS32_EF_CP0_STATUS
  144. #define EF_CP0_CAUSE MIPS32_EF_CP0_CAUSE
  145. #define EF_UNUSED0 MIPS32_EF_UNUSED0
  146. #define EF_SIZE MIPS32_EF_SIZE
  147. #elif _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32
  148. #define EF_R0 MIPS64_EF_R0
  149. #define EF_R1 MIPS64_EF_R1
  150. #define EF_R2 MIPS64_EF_R2
  151. #define EF_R3 MIPS64_EF_R3
  152. #define EF_R4 MIPS64_EF_R4
  153. #define EF_R5 MIPS64_EF_R5
  154. #define EF_R6 MIPS64_EF_R6
  155. #define EF_R7 MIPS64_EF_R7
  156. #define EF_R8 MIPS64_EF_R8
  157. #define EF_R9 MIPS64_EF_R9
  158. #define EF_R10 MIPS64_EF_R10
  159. #define EF_R11 MIPS64_EF_R11
  160. #define EF_R12 MIPS64_EF_R12
  161. #define EF_R13 MIPS64_EF_R13
  162. #define EF_R14 MIPS64_EF_R14
  163. #define EF_R15 MIPS64_EF_R15
  164. #define EF_R16 MIPS64_EF_R16
  165. #define EF_R17 MIPS64_EF_R17
  166. #define EF_R18 MIPS64_EF_R18
  167. #define EF_R19 MIPS64_EF_R19
  168. #define EF_R20 MIPS64_EF_R20
  169. #define EF_R21 MIPS64_EF_R21
  170. #define EF_R22 MIPS64_EF_R22
  171. #define EF_R23 MIPS64_EF_R23
  172. #define EF_R24 MIPS64_EF_R24
  173. #define EF_R25 MIPS64_EF_R25
  174. #define EF_R26 MIPS64_EF_R26
  175. #define EF_R27 MIPS64_EF_R27
  176. #define EF_R28 MIPS64_EF_R28
  177. #define EF_R29 MIPS64_EF_R29
  178. #define EF_R30 MIPS64_EF_R30
  179. #define EF_R31 MIPS64_EF_R31
  180. #define EF_LO MIPS64_EF_LO
  181. #define EF_HI MIPS64_EF_HI
  182. #define EF_CP0_EPC MIPS64_EF_CP0_EPC
  183. #define EF_CP0_BADVADDR MIPS64_EF_CP0_BADVADDR
  184. #define EF_CP0_STATUS MIPS64_EF_CP0_STATUS
  185. #define EF_CP0_CAUSE MIPS64_EF_CP0_CAUSE
  186. #define EF_SIZE MIPS64_EF_SIZE
  187. #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */
  188. #endif /* __UAPI_ASM_MIPS_REG_H */