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