GNU Linux-libre 4.14.290-gnu1
[releases.git] / arch / mips / include / uapi / asm / reg.h
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
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
42
43 /*
44  * k0/k1 unsaved
45  */
46 #define MIPS32_EF_R26           32
47 #define MIPS32_EF_R27           33
48
49 #define MIPS32_EF_R28           34
50 #define MIPS32_EF_R29           35
51 #define MIPS32_EF_R30           36
52 #define MIPS32_EF_R31           37
53
54 /*
55  * Saved special registers
56  */
57 #define MIPS32_EF_LO            38
58 #define MIPS32_EF_HI            39
59
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
65
66 #define MIPS32_EF_SIZE          180
67
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
94
95 /*
96  * k0/k1 unsaved
97  */
98 #define MIPS64_EF_R26           26
99 #define MIPS64_EF_R27           27
100
101
102 #define MIPS64_EF_R28           28
103 #define MIPS64_EF_R29           29
104 #define MIPS64_EF_R30           30
105 #define MIPS64_EF_R31           31
106
107 /*
108  * Saved special registers
109  */
110 #define MIPS64_EF_LO            32
111 #define MIPS64_EF_HI            33
112
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
117
118 #define MIPS64_EF_SIZE          304     /* size in bytes */
119
120 #if _MIPS_SIM == _MIPS_SIM_ABI32
121
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
162
163 #elif _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32
164
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
204
205 #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */
206
207 #endif /* __UAPI_ASM_MIPS_REG_H */