1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef __UAPI_ASM_LOONGARCH_REG_H
20#define __UAPI_ASM_LOONGARCH_REG_H
21
22#define LOONGARCH_EF_R0		0
23#define LOONGARCH_EF_R1		1
24#define LOONGARCH_EF_R2		2
25#define LOONGARCH_EF_R3		3
26#define LOONGARCH_EF_R4		4
27#define LOONGARCH_EF_R5		5
28#define LOONGARCH_EF_R6		6
29#define LOONGARCH_EF_R7		7
30#define LOONGARCH_EF_R8		8
31#define LOONGARCH_EF_R9		9
32#define LOONGARCH_EF_R10	10
33#define LOONGARCH_EF_R11	11
34#define LOONGARCH_EF_R12	12
35#define LOONGARCH_EF_R13	13
36#define LOONGARCH_EF_R14	14
37#define LOONGARCH_EF_R15	15
38#define LOONGARCH_EF_R16	16
39#define LOONGARCH_EF_R17	17
40#define LOONGARCH_EF_R18	18
41#define LOONGARCH_EF_R19	19
42#define LOONGARCH_EF_R20	20
43#define LOONGARCH_EF_R21	21
44#define LOONGARCH_EF_R22	22
45#define LOONGARCH_EF_R23	23
46#define LOONGARCH_EF_R24	24
47#define LOONGARCH_EF_R25	25
48#define LOONGARCH_EF_R26	26
49#define LOONGARCH_EF_R27	27
50#define LOONGARCH_EF_R28	28
51#define LOONGARCH_EF_R29	29
52#define LOONGARCH_EF_R30	30
53#define LOONGARCH_EF_R31	31
54
55/*
56 * Saved special registers
57 */
58#define LOONGARCH_EF_ORIG_A0	32
59#define LOONGARCH_EF_CSR_ERA	33
60#define LOONGARCH_EF_CSR_BADV	34
61#define LOONGARCH_EF_CSR_CRMD	35
62#define LOONGARCH_EF_CSR_PRMD	36
63#define LOONGARCH_EF_CSR_EUEN	37
64#define LOONGARCH_EF_CSR_ECFG	38
65#define LOONGARCH_EF_CSR_ESTAT	39
66
67#define LOONGARCH_EF_SIZE	320	/* size in bytes */
68
69#endif /* __UAPI_ASM_LOONGARCH_REG_H */
70