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 */