ls1x-loongson-gnu-toolchain.../sysroot/usr/include/asm/reg.h
2024-11-27 15:46:37 +08:00

104 lines
3.2 KiB
C

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
* Various register offset definitions for debuggers, core file
* examiners and whatnot.
*
* Copyright (C) 2020-2021 Loongson Technology Corporation Limited
*/
#ifndef __UAPI_ASM_LOONGARCH_REG_H
#define __UAPI_ASM_LOONGARCH_REG_H
#define LOONGARCH64_EF_R0 0
#define LOONGARCH64_EF_R1 1
#define LOONGARCH64_EF_R2 2
#define LOONGARCH64_EF_R3 3
#define LOONGARCH64_EF_R4 4
#define LOONGARCH64_EF_R5 5
#define LOONGARCH64_EF_R6 6
#define LOONGARCH64_EF_R7 7
#define LOONGARCH64_EF_R8 8
#define LOONGARCH64_EF_R9 9
#define LOONGARCH64_EF_R10 10
#define LOONGARCH64_EF_R11 11
#define LOONGARCH64_EF_R12 12
#define LOONGARCH64_EF_R13 13
#define LOONGARCH64_EF_R14 14
#define LOONGARCH64_EF_R15 15
#define LOONGARCH64_EF_R16 16
#define LOONGARCH64_EF_R17 17
#define LOONGARCH64_EF_R18 18
#define LOONGARCH64_EF_R19 19
#define LOONGARCH64_EF_R20 20
#define LOONGARCH64_EF_R21 21
#define LOONGARCH64_EF_R22 22
#define LOONGARCH64_EF_R23 23
#define LOONGARCH64_EF_R24 24
#define LOONGARCH64_EF_R25 25
#define LOONGARCH64_EF_R26 26
#define LOONGARCH64_EF_R27 27
#define LOONGARCH64_EF_R28 28
#define LOONGARCH64_EF_R29 29
#define LOONGARCH64_EF_R30 30
#define LOONGARCH64_EF_R31 31
/*
* Saved special registers
*/
#define LOONGARCH64_EF_CSR_EPC 32
#define LOONGARCH64_EF_CSR_BADVADDR 33
#define LOONGARCH64_EF_CSR_CRMD 34
#define LOONGARCH64_EF_CSR_PRMD 35
#define LOONGARCH64_EF_CSR_EUEN 36
#define LOONGARCH64_EF_CSR_ECFG 37
#define LOONGARCH64_EF_CSR_ESTAT 38
#define LOONGARCH64_EF_SIZE 320 /* size in bytes */
#if _LOONGARCH_SIM == _LOONGARCH_SIM_ABILP64
#define EF_R0 LOONGARCH64_EF_R0
#define EF_R1 LOONGARCH64_EF_R1
#define EF_R2 LOONGARCH64_EF_R2
#define EF_R3 LOONGARCH64_EF_R3
#define EF_R4 LOONGARCH64_EF_R4
#define EF_R5 LOONGARCH64_EF_R5
#define EF_R6 LOONGARCH64_EF_R6
#define EF_R7 LOONGARCH64_EF_R7
#define EF_R8 LOONGARCH64_EF_R8
#define EF_R9 LOONGARCH64_EF_R9
#define EF_R10 LOONGARCH64_EF_R10
#define EF_R11 LOONGARCH64_EF_R11
#define EF_R12 LOONGARCH64_EF_R12
#define EF_R13 LOONGARCH64_EF_R13
#define EF_R14 LOONGARCH64_EF_R14
#define EF_R15 LOONGARCH64_EF_R15
#define EF_R16 LOONGARCH64_EF_R16
#define EF_R17 LOONGARCH64_EF_R17
#define EF_R18 LOONGARCH64_EF_R18
#define EF_R19 LOONGARCH64_EF_R19
#define EF_R20 LOONGARCH64_EF_R20
#define EF_R21 LOONGARCH64_EF_R21
#define EF_R22 LOONGARCH64_EF_R22
#define EF_R23 LOONGARCH64_EF_R23
#define EF_R24 LOONGARCH64_EF_R24
#define EF_R25 LOONGARCH64_EF_R25
#define EF_R26 LOONGARCH64_EF_R26
#define EF_R27 LOONGARCH64_EF_R27
#define EF_R28 LOONGARCH64_EF_R28
#define EF_R29 LOONGARCH64_EF_R29
#define EF_R30 LOONGARCH64_EF_R30
#define EF_R31 LOONGARCH64_EF_R31
#define EF_CP0_EPC LOONGARCH64_EF_CSR_EPC
#define EF_CP0_BADVADDR LOONGARCH64_EF_CSR_BADVADDR
#define EF_CP0_CRMD LOONGARCH64_EF_CSR_CRMD
#define EF_CP0_PRMD LOONGARCH64_EF_CSR_PRMD
#define EF_CP0_EUEN LOONGARCH64_EF_CSR_EUEN
#define EF_CP0_ECFG LOONGARCH64_EF_CSR_ECFG
#define EF_CP0_ESTAT LOONGARCH64_EF_CSR_ESTAT
#define EF_SIZE LOONGARCH64_EF_SIZE
#endif /* _LOONGARCH_SIM == _LOONGARCH_SIM_ABILP64 */
#endif /* __UAPI_ASM_LOONGARCH_REG_H */