1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (C) 1985 MIPS Computer Systems, Inc.
4 * Copyright (C) 1994, 95, 99, 2003 by Ralf Baechle
5 * Copyright (C) 1990 - 1992, 1999 Silicon Graphics, Inc.
6 * Copyright (C) 2011 Wind River Systems,
7 * written by Ralf Baechle <ralf@linux-mips.org>
12 #include <asm/sgidefs.h>
14 #if _MIPS_SIM == _MIPS_SIM_ABI32
17 * Symbolic register names for 32 bit ABI
19 #define zero $0 /* wired zero */
20 #define AT $1 /* assembler temp - uppercase because of ".set at" */
21 #define v0 $2 /* return value */
23 #define a0 $4 /* argument registers */
27 #define t0 $8 /* caller saved */
39 #define s0 $16 /* callee saved */
47 #define t8 $24 /* caller saved */
49 #define jp $25 /* PIC jump register */
50 #define k0 $26 /* kernel scratch */
52 #define gp $28 /* global pointer */
53 #define sp $29 /* stack pointer */
54 #define fp $30 /* frame pointer */
55 #define s8 $30 /* same like fp! */
56 #define ra $31 /* return address */
58 #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
60 #if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32
62 #define zero $0 /* wired zero */
63 #define AT $at /* assembler temp - uppercase because of ".set at" */
64 #define v0 $2 /* return value - caller saved */
66 #define a0 $4 /* argument registers */
70 #define a4 $8 /* arg reg 64 bit; caller saved in 32 bit */
78 #define t0 $12 /* caller saved */
82 #define s0 $16 /* callee saved */
90 #define t8 $24 /* caller saved */
91 #define t9 $25 /* callee address for PIC/temp */
92 #define jp $25 /* PIC jump register */
93 #define k0 $26 /* kernel temporary */
95 #define gp $28 /* global pointer - caller saved for PIC */
96 #define sp $29 /* stack pointer */
97 #define fp $30 /* frame pointer */
98 #define s8 $30 /* callee saved */
99 #define ra $31 /* return address */
101 #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */
103 #endif /* _ASM_REGDEF_H */