162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Various register offset definitions for debuggers, core file
462306a36Sopenharmony_ci * examiners and whatnot.
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#ifndef __UAPI_ASM_LOONGARCH_REG_H
1062306a36Sopenharmony_ci#define __UAPI_ASM_LOONGARCH_REG_H
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#define LOONGARCH_EF_R0		0
1362306a36Sopenharmony_ci#define LOONGARCH_EF_R1		1
1462306a36Sopenharmony_ci#define LOONGARCH_EF_R2		2
1562306a36Sopenharmony_ci#define LOONGARCH_EF_R3		3
1662306a36Sopenharmony_ci#define LOONGARCH_EF_R4		4
1762306a36Sopenharmony_ci#define LOONGARCH_EF_R5		5
1862306a36Sopenharmony_ci#define LOONGARCH_EF_R6		6
1962306a36Sopenharmony_ci#define LOONGARCH_EF_R7		7
2062306a36Sopenharmony_ci#define LOONGARCH_EF_R8		8
2162306a36Sopenharmony_ci#define LOONGARCH_EF_R9		9
2262306a36Sopenharmony_ci#define LOONGARCH_EF_R10	10
2362306a36Sopenharmony_ci#define LOONGARCH_EF_R11	11
2462306a36Sopenharmony_ci#define LOONGARCH_EF_R12	12
2562306a36Sopenharmony_ci#define LOONGARCH_EF_R13	13
2662306a36Sopenharmony_ci#define LOONGARCH_EF_R14	14
2762306a36Sopenharmony_ci#define LOONGARCH_EF_R15	15
2862306a36Sopenharmony_ci#define LOONGARCH_EF_R16	16
2962306a36Sopenharmony_ci#define LOONGARCH_EF_R17	17
3062306a36Sopenharmony_ci#define LOONGARCH_EF_R18	18
3162306a36Sopenharmony_ci#define LOONGARCH_EF_R19	19
3262306a36Sopenharmony_ci#define LOONGARCH_EF_R20	20
3362306a36Sopenharmony_ci#define LOONGARCH_EF_R21	21
3462306a36Sopenharmony_ci#define LOONGARCH_EF_R22	22
3562306a36Sopenharmony_ci#define LOONGARCH_EF_R23	23
3662306a36Sopenharmony_ci#define LOONGARCH_EF_R24	24
3762306a36Sopenharmony_ci#define LOONGARCH_EF_R25	25
3862306a36Sopenharmony_ci#define LOONGARCH_EF_R26	26
3962306a36Sopenharmony_ci#define LOONGARCH_EF_R27	27
4062306a36Sopenharmony_ci#define LOONGARCH_EF_R28	28
4162306a36Sopenharmony_ci#define LOONGARCH_EF_R29	29
4262306a36Sopenharmony_ci#define LOONGARCH_EF_R30	30
4362306a36Sopenharmony_ci#define LOONGARCH_EF_R31	31
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci/*
4662306a36Sopenharmony_ci * Saved special registers
4762306a36Sopenharmony_ci */
4862306a36Sopenharmony_ci#define LOONGARCH_EF_ORIG_A0	32
4962306a36Sopenharmony_ci#define LOONGARCH_EF_CSR_ERA	33
5062306a36Sopenharmony_ci#define LOONGARCH_EF_CSR_BADV	34
5162306a36Sopenharmony_ci#define LOONGARCH_EF_CSR_CRMD	35
5262306a36Sopenharmony_ci#define LOONGARCH_EF_CSR_PRMD	36
5362306a36Sopenharmony_ci#define LOONGARCH_EF_CSR_EUEN	37
5462306a36Sopenharmony_ci#define LOONGARCH_EF_CSR_ECFG	38
5562306a36Sopenharmony_ci#define LOONGARCH_EF_CSR_ESTAT	39
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci#define LOONGARCH_EF_SIZE	320	/* size in bytes */
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci#endif /* __UAPI_ASM_LOONGARCH_REG_H */
60