1 /* SPDX-License-Identifier: GPL-2.0 */
2 // Copyright (C) 2019 Hangzhou C-SKY Microsystems co.,ltd.
4 #ifndef ARCH_PERF_REGS_H
5 #define ARCH_PERF_REGS_H
8 #include <linux/types.h>
9 #include <asm/perf_regs.h>
11 #define PERF_REGS_MASK ((1ULL << PERF_REG_CSKY_MAX) - 1)
12 #define PERF_REGS_MAX PERF_REG_CSKY_MAX
13 #define PERF_SAMPLE_REGS_ABI PERF_SAMPLE_REGS_ABI_32
15 #define PERF_REG_IP PERF_REG_CSKY_PC
16 #define PERF_REG_SP PERF_REG_CSKY_SP
18 static inline const char *perf_reg_name(int id)
21 case PERF_REG_CSKY_A0:
23 case PERF_REG_CSKY_A1:
25 case PERF_REG_CSKY_A2:
27 case PERF_REG_CSKY_A3:
29 case PERF_REG_CSKY_REGS0:
31 case PERF_REG_CSKY_REGS1:
33 case PERF_REG_CSKY_REGS2:
35 case PERF_REG_CSKY_REGS3:
37 case PERF_REG_CSKY_REGS4:
39 case PERF_REG_CSKY_REGS5:
41 case PERF_REG_CSKY_REGS6:
43 case PERF_REG_CSKY_REGS7:
45 case PERF_REG_CSKY_REGS8:
47 case PERF_REG_CSKY_REGS9:
49 case PERF_REG_CSKY_SP:
51 case PERF_REG_CSKY_LR:
53 case PERF_REG_CSKY_PC:
55 #if defined(__CSKYABIV2__)
56 case PERF_REG_CSKY_EXREGS0:
58 case PERF_REG_CSKY_EXREGS1:
60 case PERF_REG_CSKY_EXREGS2:
62 case PERF_REG_CSKY_EXREGS3:
64 case PERF_REG_CSKY_EXREGS4:
66 case PERF_REG_CSKY_EXREGS5:
68 case PERF_REG_CSKY_EXREGS6:
70 case PERF_REG_CSKY_EXREGS7:
72 case PERF_REG_CSKY_EXREGS8:
74 case PERF_REG_CSKY_EXREGS9:
76 case PERF_REG_CSKY_EXREGS10:
78 case PERF_REG_CSKY_EXREGS11:
80 case PERF_REG_CSKY_EXREGS12:
82 case PERF_REG_CSKY_EXREGS13:
84 case PERF_REG_CSKY_EXREGS14:
86 case PERF_REG_CSKY_TLS:
88 case PERF_REG_CSKY_HI:
90 case PERF_REG_CSKY_LO:
100 #endif /* ARCH_PERF_REGS_H */