xref: /linux/arch/loongarch/include/asm/regdef.h (revision f2ac457a)
1*f2ac457aSHuacai Chen /* SPDX-License-Identifier: GPL-2.0 */
2*f2ac457aSHuacai Chen /*
3*f2ac457aSHuacai Chen  * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
4*f2ac457aSHuacai Chen  */
5*f2ac457aSHuacai Chen #ifndef _ASM_REGDEF_H
6*f2ac457aSHuacai Chen #define _ASM_REGDEF_H
7*f2ac457aSHuacai Chen 
8*f2ac457aSHuacai Chen #define zero	$r0	/* wired zero */
9*f2ac457aSHuacai Chen #define ra	$r1	/* return address */
10*f2ac457aSHuacai Chen #define tp	$r2
11*f2ac457aSHuacai Chen #define sp	$r3	/* stack pointer */
12*f2ac457aSHuacai Chen #define a0	$r4	/* argument registers, a0/a1 reused as v0/v1 for return value */
13*f2ac457aSHuacai Chen #define a1	$r5
14*f2ac457aSHuacai Chen #define a2	$r6
15*f2ac457aSHuacai Chen #define a3	$r7
16*f2ac457aSHuacai Chen #define a4	$r8
17*f2ac457aSHuacai Chen #define a5	$r9
18*f2ac457aSHuacai Chen #define a6	$r10
19*f2ac457aSHuacai Chen #define a7	$r11
20*f2ac457aSHuacai Chen #define t0	$r12	/* caller saved */
21*f2ac457aSHuacai Chen #define t1	$r13
22*f2ac457aSHuacai Chen #define t2	$r14
23*f2ac457aSHuacai Chen #define t3	$r15
24*f2ac457aSHuacai Chen #define t4	$r16
25*f2ac457aSHuacai Chen #define t5	$r17
26*f2ac457aSHuacai Chen #define t6	$r18
27*f2ac457aSHuacai Chen #define t7	$r19
28*f2ac457aSHuacai Chen #define t8	$r20
29*f2ac457aSHuacai Chen #define u0	$r21
30*f2ac457aSHuacai Chen #define fp	$r22	/* frame pointer */
31*f2ac457aSHuacai Chen #define s0	$r23	/* callee saved */
32*f2ac457aSHuacai Chen #define s1	$r24
33*f2ac457aSHuacai Chen #define s2	$r25
34*f2ac457aSHuacai Chen #define s3	$r26
35*f2ac457aSHuacai Chen #define s4	$r27
36*f2ac457aSHuacai Chen #define s5	$r28
37*f2ac457aSHuacai Chen #define s6	$r29
38*f2ac457aSHuacai Chen #define s7	$r30
39*f2ac457aSHuacai Chen #define s8	$r31
40*f2ac457aSHuacai Chen 
41*f2ac457aSHuacai Chen #endif /* _ASM_REGDEF_H */
42