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