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 * This file is subject to the terms and conditions of the GNU General Public
7 * License.  See the file "COPYING" in the main directory of this archive
8 * for more details.
9 *
10 * Copyright (C) 2020 Loongson Technology Corporation Limited
11 */
12
13#ifndef __UAPI_ASM_LOONGARCH_REG_H
14#define __UAPI_ASM_LOONGARCH_REG_H
15
16#define LOONGARCH_EF_R0		0
17#define LOONGARCH_EF_R1		1
18#define LOONGARCH_EF_R2		2
19#define LOONGARCH_EF_R3		3
20#define LOONGARCH_EF_R4		4
21#define LOONGARCH_EF_R5		5
22#define LOONGARCH_EF_R6		6
23#define LOONGARCH_EF_R7		7
24#define LOONGARCH_EF_R8		8
25#define LOONGARCH_EF_R9		9
26#define LOONGARCH_EF_R10	10
27#define LOONGARCH_EF_R11	11
28#define LOONGARCH_EF_R12	12
29#define LOONGARCH_EF_R13	13
30#define LOONGARCH_EF_R14	14
31#define LOONGARCH_EF_R15	15
32#define LOONGARCH_EF_R16	16
33#define LOONGARCH_EF_R17	17
34#define LOONGARCH_EF_R18	18
35#define LOONGARCH_EF_R19	19
36#define LOONGARCH_EF_R20	20
37#define LOONGARCH_EF_R21	21
38#define LOONGARCH_EF_R22	22
39#define LOONGARCH_EF_R23	23
40#define LOONGARCH_EF_R24	24
41#define LOONGARCH_EF_R25	25
42#define LOONGARCH_EF_R26	26
43#define LOONGARCH_EF_R27	27
44#define LOONGARCH_EF_R28	28
45#define LOONGARCH_EF_R29	29
46#define LOONGARCH_EF_R30	30
47#define LOONGARCH_EF_R31	31
48
49/*
50 * Saved special registers
51 */
52#define LOONGARCH_EF_ORIG_A0	32
53#define LOONGARCH_EF_CSR_ERA	33
54#define LOONGARCH_EF_CSR_BADV	34
55#define LOONGARCH_EF_CSR_CRMD	35
56#define LOONGARCH_EF_CSR_PRMD	36
57#define LOONGARCH_EF_CSR_EUEN	37
58#define LOONGARCH_EF_CSR_ECFG	38
59#define LOONGARCH_EF_CSR_ESTAT	39
60
61#define LOONGARCH_EF_SIZE	320	/* size in bytes */
62
63#endif /* __UAPI_ASM_LOONGARCH_REG_H */
64