1*e2be04c7SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 29f07925cSAlex Smith /* 39f07925cSAlex Smith * Various register offset definitions for debuggers, core file 49f07925cSAlex Smith * examiners and whatnot. 59f07925cSAlex Smith * 69f07925cSAlex Smith * This file is subject to the terms and conditions of the GNU General Public 79f07925cSAlex Smith * License. See the file "COPYING" in the main directory of this archive 89f07925cSAlex Smith * for more details. 99f07925cSAlex Smith * 109f07925cSAlex Smith * Copyright (C) 1995, 1999 Ralf Baechle 119f07925cSAlex Smith * Copyright (C) 1995, 1999 Silicon Graphics 129f07925cSAlex Smith */ 139f07925cSAlex Smith #ifndef __UAPI_ASM_MIPS_REG_H 149f07925cSAlex Smith #define __UAPI_ASM_MIPS_REG_H 159f07925cSAlex Smith 169f07925cSAlex Smith #define MIPS32_EF_R0 6 179f07925cSAlex Smith #define MIPS32_EF_R1 7 189f07925cSAlex Smith #define MIPS32_EF_R2 8 199f07925cSAlex Smith #define MIPS32_EF_R3 9 209f07925cSAlex Smith #define MIPS32_EF_R4 10 219f07925cSAlex Smith #define MIPS32_EF_R5 11 229f07925cSAlex Smith #define MIPS32_EF_R6 12 239f07925cSAlex Smith #define MIPS32_EF_R7 13 249f07925cSAlex Smith #define MIPS32_EF_R8 14 259f07925cSAlex Smith #define MIPS32_EF_R9 15 269f07925cSAlex Smith #define MIPS32_EF_R10 16 279f07925cSAlex Smith #define MIPS32_EF_R11 17 289f07925cSAlex Smith #define MIPS32_EF_R12 18 299f07925cSAlex Smith #define MIPS32_EF_R13 19 309f07925cSAlex Smith #define MIPS32_EF_R14 20 319f07925cSAlex Smith #define MIPS32_EF_R15 21 329f07925cSAlex Smith #define MIPS32_EF_R16 22 339f07925cSAlex Smith #define MIPS32_EF_R17 23 349f07925cSAlex Smith #define MIPS32_EF_R18 24 359f07925cSAlex Smith #define MIPS32_EF_R19 25 369f07925cSAlex Smith #define MIPS32_EF_R20 26 379f07925cSAlex Smith #define MIPS32_EF_R21 27 389f07925cSAlex Smith #define MIPS32_EF_R22 28 399f07925cSAlex Smith #define MIPS32_EF_R23 29 409f07925cSAlex Smith #define MIPS32_EF_R24 30 419f07925cSAlex Smith #define MIPS32_EF_R25 31 429f07925cSAlex Smith 439f07925cSAlex Smith /* 449f07925cSAlex Smith * k0/k1 unsaved 459f07925cSAlex Smith */ 469f07925cSAlex Smith #define MIPS32_EF_R26 32 479f07925cSAlex Smith #define MIPS32_EF_R27 33 489f07925cSAlex Smith 499f07925cSAlex Smith #define MIPS32_EF_R28 34 509f07925cSAlex Smith #define MIPS32_EF_R29 35 519f07925cSAlex Smith #define MIPS32_EF_R30 36 529f07925cSAlex Smith #define MIPS32_EF_R31 37 539f07925cSAlex Smith 549f07925cSAlex Smith /* 559f07925cSAlex Smith * Saved special registers 569f07925cSAlex Smith */ 579f07925cSAlex Smith #define MIPS32_EF_LO 38 589f07925cSAlex Smith #define MIPS32_EF_HI 39 599f07925cSAlex Smith 609f07925cSAlex Smith #define MIPS32_EF_CP0_EPC 40 619f07925cSAlex Smith #define MIPS32_EF_CP0_BADVADDR 41 629f07925cSAlex Smith #define MIPS32_EF_CP0_STATUS 42 639f07925cSAlex Smith #define MIPS32_EF_CP0_CAUSE 43 649f07925cSAlex Smith #define MIPS32_EF_UNUSED0 44 659f07925cSAlex Smith 669f07925cSAlex Smith #define MIPS32_EF_SIZE 180 679f07925cSAlex Smith 689f07925cSAlex Smith #define MIPS64_EF_R0 0 699f07925cSAlex Smith #define MIPS64_EF_R1 1 709f07925cSAlex Smith #define MIPS64_EF_R2 2 719f07925cSAlex Smith #define MIPS64_EF_R3 3 729f07925cSAlex Smith #define MIPS64_EF_R4 4 739f07925cSAlex Smith #define MIPS64_EF_R5 5 749f07925cSAlex Smith #define MIPS64_EF_R6 6 759f07925cSAlex Smith #define MIPS64_EF_R7 7 769f07925cSAlex Smith #define MIPS64_EF_R8 8 779f07925cSAlex Smith #define MIPS64_EF_R9 9 789f07925cSAlex Smith #define MIPS64_EF_R10 10 799f07925cSAlex Smith #define MIPS64_EF_R11 11 809f07925cSAlex Smith #define MIPS64_EF_R12 12 819f07925cSAlex Smith #define MIPS64_EF_R13 13 829f07925cSAlex Smith #define MIPS64_EF_R14 14 839f07925cSAlex Smith #define MIPS64_EF_R15 15 849f07925cSAlex Smith #define MIPS64_EF_R16 16 859f07925cSAlex Smith #define MIPS64_EF_R17 17 869f07925cSAlex Smith #define MIPS64_EF_R18 18 879f07925cSAlex Smith #define MIPS64_EF_R19 19 889f07925cSAlex Smith #define MIPS64_EF_R20 20 899f07925cSAlex Smith #define MIPS64_EF_R21 21 909f07925cSAlex Smith #define MIPS64_EF_R22 22 919f07925cSAlex Smith #define MIPS64_EF_R23 23 929f07925cSAlex Smith #define MIPS64_EF_R24 24 939f07925cSAlex Smith #define MIPS64_EF_R25 25 949f07925cSAlex Smith 959f07925cSAlex Smith /* 969f07925cSAlex Smith * k0/k1 unsaved 979f07925cSAlex Smith */ 989f07925cSAlex Smith #define MIPS64_EF_R26 26 999f07925cSAlex Smith #define MIPS64_EF_R27 27 1009f07925cSAlex Smith 1019f07925cSAlex Smith 1029f07925cSAlex Smith #define MIPS64_EF_R28 28 1039f07925cSAlex Smith #define MIPS64_EF_R29 29 1049f07925cSAlex Smith #define MIPS64_EF_R30 30 1059f07925cSAlex Smith #define MIPS64_EF_R31 31 1069f07925cSAlex Smith 1079f07925cSAlex Smith /* 1089f07925cSAlex Smith * Saved special registers 1099f07925cSAlex Smith */ 1109f07925cSAlex Smith #define MIPS64_EF_LO 32 1119f07925cSAlex Smith #define MIPS64_EF_HI 33 1129f07925cSAlex Smith 1139f07925cSAlex Smith #define MIPS64_EF_CP0_EPC 34 1149f07925cSAlex Smith #define MIPS64_EF_CP0_BADVADDR 35 1159f07925cSAlex Smith #define MIPS64_EF_CP0_STATUS 36 1169f07925cSAlex Smith #define MIPS64_EF_CP0_CAUSE 37 1179f07925cSAlex Smith 1189f07925cSAlex Smith #define MIPS64_EF_SIZE 304 /* size in bytes */ 1199f07925cSAlex Smith 1209f07925cSAlex Smith #if _MIPS_SIM == _MIPS_SIM_ABI32 1219f07925cSAlex Smith 1229f07925cSAlex Smith #define EF_R0 MIPS32_EF_R0 1239f07925cSAlex Smith #define EF_R1 MIPS32_EF_R1 1249f07925cSAlex Smith #define EF_R2 MIPS32_EF_R2 1259f07925cSAlex Smith #define EF_R3 MIPS32_EF_R3 1269f07925cSAlex Smith #define EF_R4 MIPS32_EF_R4 1279f07925cSAlex Smith #define EF_R5 MIPS32_EF_R5 1289f07925cSAlex Smith #define EF_R6 MIPS32_EF_R6 1299f07925cSAlex Smith #define EF_R7 MIPS32_EF_R7 1309f07925cSAlex Smith #define EF_R8 MIPS32_EF_R8 1319f07925cSAlex Smith #define EF_R9 MIPS32_EF_R9 1329f07925cSAlex Smith #define EF_R10 MIPS32_EF_R10 1339f07925cSAlex Smith #define EF_R11 MIPS32_EF_R11 1349f07925cSAlex Smith #define EF_R12 MIPS32_EF_R12 1359f07925cSAlex Smith #define EF_R13 MIPS32_EF_R13 1369f07925cSAlex Smith #define EF_R14 MIPS32_EF_R14 1379f07925cSAlex Smith #define EF_R15 MIPS32_EF_R15 1389f07925cSAlex Smith #define EF_R16 MIPS32_EF_R16 1399f07925cSAlex Smith #define EF_R17 MIPS32_EF_R17 1409f07925cSAlex Smith #define EF_R18 MIPS32_EF_R18 1419f07925cSAlex Smith #define EF_R19 MIPS32_EF_R19 1429f07925cSAlex Smith #define EF_R20 MIPS32_EF_R20 1439f07925cSAlex Smith #define EF_R21 MIPS32_EF_R21 1449f07925cSAlex Smith #define EF_R22 MIPS32_EF_R22 1459f07925cSAlex Smith #define EF_R23 MIPS32_EF_R23 1469f07925cSAlex Smith #define EF_R24 MIPS32_EF_R24 1479f07925cSAlex Smith #define EF_R25 MIPS32_EF_R25 1489f07925cSAlex Smith #define EF_R26 MIPS32_EF_R26 1499f07925cSAlex Smith #define EF_R27 MIPS32_EF_R27 1509f07925cSAlex Smith #define EF_R28 MIPS32_EF_R28 1519f07925cSAlex Smith #define EF_R29 MIPS32_EF_R29 1529f07925cSAlex Smith #define EF_R30 MIPS32_EF_R30 1539f07925cSAlex Smith #define EF_R31 MIPS32_EF_R31 1549f07925cSAlex Smith #define EF_LO MIPS32_EF_LO 1559f07925cSAlex Smith #define EF_HI MIPS32_EF_HI 1569f07925cSAlex Smith #define EF_CP0_EPC MIPS32_EF_CP0_EPC 1579f07925cSAlex Smith #define EF_CP0_BADVADDR MIPS32_EF_CP0_BADVADDR 1589f07925cSAlex Smith #define EF_CP0_STATUS MIPS32_EF_CP0_STATUS 1599f07925cSAlex Smith #define EF_CP0_CAUSE MIPS32_EF_CP0_CAUSE 1609f07925cSAlex Smith #define EF_UNUSED0 MIPS32_EF_UNUSED0 1619f07925cSAlex Smith #define EF_SIZE MIPS32_EF_SIZE 1629f07925cSAlex Smith 1639f07925cSAlex Smith #elif _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 1649f07925cSAlex Smith 1659f07925cSAlex Smith #define EF_R0 MIPS64_EF_R0 1669f07925cSAlex Smith #define EF_R1 MIPS64_EF_R1 1679f07925cSAlex Smith #define EF_R2 MIPS64_EF_R2 1689f07925cSAlex Smith #define EF_R3 MIPS64_EF_R3 1699f07925cSAlex Smith #define EF_R4 MIPS64_EF_R4 1709f07925cSAlex Smith #define EF_R5 MIPS64_EF_R5 1719f07925cSAlex Smith #define EF_R6 MIPS64_EF_R6 1729f07925cSAlex Smith #define EF_R7 MIPS64_EF_R7 1739f07925cSAlex Smith #define EF_R8 MIPS64_EF_R8 1749f07925cSAlex Smith #define EF_R9 MIPS64_EF_R9 1759f07925cSAlex Smith #define EF_R10 MIPS64_EF_R10 1769f07925cSAlex Smith #define EF_R11 MIPS64_EF_R11 1779f07925cSAlex Smith #define EF_R12 MIPS64_EF_R12 1789f07925cSAlex Smith #define EF_R13 MIPS64_EF_R13 1799f07925cSAlex Smith #define EF_R14 MIPS64_EF_R14 1809f07925cSAlex Smith #define EF_R15 MIPS64_EF_R15 1819f07925cSAlex Smith #define EF_R16 MIPS64_EF_R16 1829f07925cSAlex Smith #define EF_R17 MIPS64_EF_R17 1839f07925cSAlex Smith #define EF_R18 MIPS64_EF_R18 1849f07925cSAlex Smith #define EF_R19 MIPS64_EF_R19 1859f07925cSAlex Smith #define EF_R20 MIPS64_EF_R20 1869f07925cSAlex Smith #define EF_R21 MIPS64_EF_R21 1879f07925cSAlex Smith #define EF_R22 MIPS64_EF_R22 1889f07925cSAlex Smith #define EF_R23 MIPS64_EF_R23 1899f07925cSAlex Smith #define EF_R24 MIPS64_EF_R24 1909f07925cSAlex Smith #define EF_R25 MIPS64_EF_R25 1919f07925cSAlex Smith #define EF_R26 MIPS64_EF_R26 1929f07925cSAlex Smith #define EF_R27 MIPS64_EF_R27 1939f07925cSAlex Smith #define EF_R28 MIPS64_EF_R28 1949f07925cSAlex Smith #define EF_R29 MIPS64_EF_R29 1959f07925cSAlex Smith #define EF_R30 MIPS64_EF_R30 1969f07925cSAlex Smith #define EF_R31 MIPS64_EF_R31 1979f07925cSAlex Smith #define EF_LO MIPS64_EF_LO 1989f07925cSAlex Smith #define EF_HI MIPS64_EF_HI 1999f07925cSAlex Smith #define EF_CP0_EPC MIPS64_EF_CP0_EPC 2009f07925cSAlex Smith #define EF_CP0_BADVADDR MIPS64_EF_CP0_BADVADDR 2019f07925cSAlex Smith #define EF_CP0_STATUS MIPS64_EF_CP0_STATUS 2029f07925cSAlex Smith #define EF_CP0_CAUSE MIPS64_EF_CP0_CAUSE 2039f07925cSAlex Smith #define EF_SIZE MIPS64_EF_SIZE 2049f07925cSAlex Smith 2059f07925cSAlex Smith #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */ 2069f07925cSAlex Smith 2079f07925cSAlex Smith #endif /* __UAPI_ASM_MIPS_REG_H */ 208