linux/arch/mips/include/asm/regdef.h
<<
>>
Prefs
   1/*
   2 * This file is subject to the terms and conditions of the GNU General Public
   3 * License.  See the file "COPYING" in the main directory of this archive
   4 * for more details.
   5 *
   6 * Copyright (C) 1985 MIPS Computer Systems, Inc.
   7 * Copyright (C) 1994, 95, 99, 2003 by Ralf Baechle
   8 * Copyright (C) 1990 - 1992, 1999 Silicon Graphics, Inc.
   9 */
  10#ifndef _ASM_REGDEF_H
  11#define _ASM_REGDEF_H
  12
  13#include <asm/sgidefs.h>
  14
  15#if _MIPS_SIM == _MIPS_SIM_ABI32
  16
  17/*
  18 * Symbolic register names for 32 bit ABI
  19 */
  20#define zero    $0      /* wired zero */
  21#define AT      $1      /* assembler temp  - uppercase because of ".set at" */
  22#define v0      $2      /* return value */
  23#define v1      $3
  24#define a0      $4      /* argument registers */
  25#define a1      $5
  26#define a2      $6
  27#define a3      $7
  28#define t0      $8      /* caller saved */
  29#define t1      $9
  30#define t2      $10
  31#define t3      $11
  32#define t4      $12
  33#define t5      $13
  34#define t6      $14
  35#define t7      $15
  36#define s0      $16     /* callee saved */
  37#define s1      $17
  38#define s2      $18
  39#define s3      $19
  40#define s4      $20
  41#define s5      $21
  42#define s6      $22
  43#define s7      $23
  44#define t8      $24     /* caller saved */
  45#define t9      $25
  46#define jp      $25     /* PIC jump register */
  47#define k0      $26     /* kernel scratch */
  48#define k1      $27
  49#define gp      $28     /* global pointer */
  50#define sp      $29     /* stack pointer */
  51#define fp      $30     /* frame pointer */
  52#define s8      $30     /* same like fp! */
  53#define ra      $31     /* return address */
  54
  55#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
  56
  57#if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32
  58
  59#define zero    $0      /* wired zero */
  60#define AT      $at     /* assembler temp - uppercase because of ".set at" */
  61#define v0      $2      /* return value - caller saved */
  62#define v1      $3
  63#define a0      $4      /* argument registers */
  64#define a1      $5
  65#define a2      $6
  66#define a3      $7
  67#define a4      $8      /* arg reg 64 bit; caller saved in 32 bit */
  68#define ta0     $8
  69#define a5      $9
  70#define ta1     $9
  71#define a6      $10
  72#define ta2     $10
  73#define a7      $11
  74#define ta3     $11
  75#define t0      $12     /* caller saved */
  76#define t1      $13
  77#define t2      $14
  78#define t3      $15
  79#define s0      $16     /* callee saved */
  80#define s1      $17
  81#define s2      $18
  82#define s3      $19
  83#define s4      $20
  84#define s5      $21
  85#define s6      $22
  86#define s7      $23
  87#define t8      $24     /* caller saved */
  88#define t9      $25     /* callee address for PIC/temp */
  89#define jp      $25     /* PIC jump register */
  90#define k0      $26     /* kernel temporary */
  91#define k1      $27
  92#define gp      $28     /* global pointer - caller saved for PIC */
  93#define sp      $29     /* stack pointer */
  94#define fp      $30     /* frame pointer */
  95#define s8      $30     /* callee saved */
  96#define ra      $31     /* return address */
  97
  98#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */
  99
 100#endif /* _ASM_REGDEF_H */
 101