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 */ 208