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