2005-04-17 02:20:36 +04:00
/*
* This file is subject to the terms and conditions of the GNU General Public
* License . See the file " COPYING " in the main directory of this archive
* for more details .
*
* Copyright ( C ) 1985 MIPS Computer Systems , Inc .
* Copyright ( C ) 1994 , 95 , 99 , 2003 by Ralf Baechle
* Copyright ( C ) 1990 - 1992 , 1999 Silicon Graphics , Inc .
2011-09-29 06:38:53 +04:00
* Copyright ( C ) 2011 Wind River Systems ,
* written by Ralf Baechle < ralf @ linux - mips . org >
2005-04-17 02:20:36 +04:00
*/
# ifndef _ASM_REGDEF_H
# define _ASM_REGDEF_H
# include <asm/sgidefs.h>
# if _MIPS_SIM == _MIPS_SIM_ABI32
/*
* Symbolic register names for 32 bit ABI
*/
2013-01-22 15:59:30 +04:00
# define zero $0 /* wired zero */
# define AT $1 /* assembler temp - uppercase because of ".set at" */
# define v0 $2 /* return value */
# define v1 $3
# define a0 $4 /* argument registers */
# define a1 $5
# define a2 $6
# define a3 $7
# define t0 $8 /* caller saved */
# define t1 $9
# define t2 $10
# define t3 $11
# define t4 $12
2011-09-29 06:38:53 +04:00
# define ta0 $12
2013-01-22 15:59:30 +04:00
# define t5 $13
2011-09-29 06:38:53 +04:00
# define ta1 $13
2013-01-22 15:59:30 +04:00
# define t6 $14
2011-09-29 06:38:53 +04:00
# define ta2 $14
2013-01-22 15:59:30 +04:00
# define t7 $15
2011-09-29 06:38:53 +04:00
# define ta3 $15
2013-01-22 15:59:30 +04:00
# define s0 $16 /* callee saved */
# define s1 $17
# define s2 $18
# define s3 $19
# define s4 $20
# define s5 $21
# define s6 $22
# define s7 $23
# define t8 $24 /* caller saved */
# define t9 $25
# define jp $25 /* PIC jump register */
# define k0 $26 /* kernel scratch */
# define k1 $27
# define gp $28 /* global pointer */
# define sp $29 /* stack pointer */
# define fp $30 /* frame pointer */
2005-04-17 02:20:36 +04:00
# define s8 $30 /* same like fp! */
2013-01-22 15:59:30 +04:00
# define ra $31 /* return address */
2005-04-17 02:20:36 +04:00
# endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
# if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32
# define zero $0 /* wired zero */
# define AT $at /* assembler temp - uppercase because of ".set at" */
# define v0 $2 /* return value - caller saved */
# define v1 $3
# define a0 $4 /* argument registers */
# define a1 $5
# define a2 $6
# define a3 $7
# define a4 $8 /* arg reg 64 bit; caller saved in 32 bit */
# define ta0 $8
# define a5 $9
# define ta1 $9
# define a6 $10
# define ta2 $10
# define a7 $11
# define ta3 $11
# define t0 $12 /* caller saved */
# define t1 $13
# define t2 $14
# define t3 $15
# define s0 $16 /* callee saved */
# define s1 $17
# define s2 $18
# define s3 $19
# define s4 $20
# define s5 $21
# define s6 $22
# define s7 $23
# define t8 $24 /* caller saved */
# define t9 $25 /* callee address for PIC/temp */
# define jp $25 /* PIC jump register */
# define k0 $26 /* kernel temporary */
# define k1 $27
# define gp $28 /* global pointer - caller saved for PIC */
# define sp $29 /* stack pointer */
# define fp $30 /* frame pointer */
# define s8 $30 /* callee saved */
# define ra $31 /* return address */
# endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */
# endif /* _ASM_REGDEF_H */