]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
7495f374 WD |
2 | #ifndef ARCH_PERF_REGS_H |
3 | #define ARCH_PERF_REGS_H | |
4 | ||
5 | #include <stdlib.h> | |
21a8b756 | 6 | #include <linux/types.h> |
7495f374 WD |
7 | #include <asm/perf_regs.h> |
8 | ||
3418f966 JP |
9 | void perf_regs_load(u64 *regs); |
10 | ||
7495f374 | 11 | #define PERF_REGS_MASK ((1ULL << PERF_REG_ARM_MAX) - 1) |
90fa9deb JP |
12 | #define PERF_REGS_MAX PERF_REG_ARM_MAX |
13 | #define PERF_SAMPLE_REGS_ABI PERF_SAMPLE_REGS_ABI_32 | |
14 | ||
7495f374 WD |
15 | #define PERF_REG_IP PERF_REG_ARM_PC |
16 | #define PERF_REG_SP PERF_REG_ARM_SP | |
17 | ||
92186c88 | 18 | static inline const char *__perf_reg_name(int id) |
7495f374 WD |
19 | { |
20 | switch (id) { | |
21 | case PERF_REG_ARM_R0: | |
22 | return "r0"; | |
23 | case PERF_REG_ARM_R1: | |
24 | return "r1"; | |
25 | case PERF_REG_ARM_R2: | |
26 | return "r2"; | |
27 | case PERF_REG_ARM_R3: | |
28 | return "r3"; | |
29 | case PERF_REG_ARM_R4: | |
30 | return "r4"; | |
31 | case PERF_REG_ARM_R5: | |
32 | return "r5"; | |
33 | case PERF_REG_ARM_R6: | |
34 | return "r6"; | |
35 | case PERF_REG_ARM_R7: | |
36 | return "r7"; | |
37 | case PERF_REG_ARM_R8: | |
38 | return "r8"; | |
39 | case PERF_REG_ARM_R9: | |
40 | return "r9"; | |
41 | case PERF_REG_ARM_R10: | |
42 | return "r10"; | |
43 | case PERF_REG_ARM_FP: | |
44 | return "fp"; | |
45 | case PERF_REG_ARM_IP: | |
46 | return "ip"; | |
47 | case PERF_REG_ARM_SP: | |
48 | return "sp"; | |
49 | case PERF_REG_ARM_LR: | |
50 | return "lr"; | |
51 | case PERF_REG_ARM_PC: | |
52 | return "pc"; | |
53 | default: | |
54 | return NULL; | |
55 | } | |
56 | ||
57 | return NULL; | |
58 | } | |
59 | ||
60 | #endif /* ARCH_PERF_REGS_H */ |