xref: /openbmc/linux/arch/loongarch/include/uapi/asm/reg.h (revision b738c106)
1*b738c106SHuacai Chen /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*b738c106SHuacai Chen /*
3*b738c106SHuacai Chen  * Various register offset definitions for debuggers, core file
4*b738c106SHuacai Chen  * examiners and whatnot.
5*b738c106SHuacai Chen  *
6*b738c106SHuacai Chen  * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
7*b738c106SHuacai Chen  */
8*b738c106SHuacai Chen 
9*b738c106SHuacai Chen #ifndef __UAPI_ASM_LOONGARCH_REG_H
10*b738c106SHuacai Chen #define __UAPI_ASM_LOONGARCH_REG_H
11*b738c106SHuacai Chen 
12*b738c106SHuacai Chen #define LOONGARCH_EF_R0		0
13*b738c106SHuacai Chen #define LOONGARCH_EF_R1		1
14*b738c106SHuacai Chen #define LOONGARCH_EF_R2		2
15*b738c106SHuacai Chen #define LOONGARCH_EF_R3		3
16*b738c106SHuacai Chen #define LOONGARCH_EF_R4		4
17*b738c106SHuacai Chen #define LOONGARCH_EF_R5		5
18*b738c106SHuacai Chen #define LOONGARCH_EF_R6		6
19*b738c106SHuacai Chen #define LOONGARCH_EF_R7		7
20*b738c106SHuacai Chen #define LOONGARCH_EF_R8		8
21*b738c106SHuacai Chen #define LOONGARCH_EF_R9		9
22*b738c106SHuacai Chen #define LOONGARCH_EF_R10	10
23*b738c106SHuacai Chen #define LOONGARCH_EF_R11	11
24*b738c106SHuacai Chen #define LOONGARCH_EF_R12	12
25*b738c106SHuacai Chen #define LOONGARCH_EF_R13	13
26*b738c106SHuacai Chen #define LOONGARCH_EF_R14	14
27*b738c106SHuacai Chen #define LOONGARCH_EF_R15	15
28*b738c106SHuacai Chen #define LOONGARCH_EF_R16	16
29*b738c106SHuacai Chen #define LOONGARCH_EF_R17	17
30*b738c106SHuacai Chen #define LOONGARCH_EF_R18	18
31*b738c106SHuacai Chen #define LOONGARCH_EF_R19	19
32*b738c106SHuacai Chen #define LOONGARCH_EF_R20	20
33*b738c106SHuacai Chen #define LOONGARCH_EF_R21	21
34*b738c106SHuacai Chen #define LOONGARCH_EF_R22	22
35*b738c106SHuacai Chen #define LOONGARCH_EF_R23	23
36*b738c106SHuacai Chen #define LOONGARCH_EF_R24	24
37*b738c106SHuacai Chen #define LOONGARCH_EF_R25	25
38*b738c106SHuacai Chen #define LOONGARCH_EF_R26	26
39*b738c106SHuacai Chen #define LOONGARCH_EF_R27	27
40*b738c106SHuacai Chen #define LOONGARCH_EF_R28	28
41*b738c106SHuacai Chen #define LOONGARCH_EF_R29	29
42*b738c106SHuacai Chen #define LOONGARCH_EF_R30	30
43*b738c106SHuacai Chen #define LOONGARCH_EF_R31	31
44*b738c106SHuacai Chen 
45*b738c106SHuacai Chen /*
46*b738c106SHuacai Chen  * Saved special registers
47*b738c106SHuacai Chen  */
48*b738c106SHuacai Chen #define LOONGARCH_EF_ORIG_A0	32
49*b738c106SHuacai Chen #define LOONGARCH_EF_CSR_ERA	33
50*b738c106SHuacai Chen #define LOONGARCH_EF_CSR_BADV	34
51*b738c106SHuacai Chen #define LOONGARCH_EF_CSR_CRMD	35
52*b738c106SHuacai Chen #define LOONGARCH_EF_CSR_PRMD	36
53*b738c106SHuacai Chen #define LOONGARCH_EF_CSR_EUEN	37
54*b738c106SHuacai Chen #define LOONGARCH_EF_CSR_ECFG	38
55*b738c106SHuacai Chen #define LOONGARCH_EF_CSR_ESTAT	39
56*b738c106SHuacai Chen 
57*b738c106SHuacai Chen #define LOONGARCH_EF_SIZE	320	/* size in bytes */
58*b738c106SHuacai Chen 
59*b738c106SHuacai Chen #endif /* __UAPI_ASM_LOONGARCH_REG_H */
60