xref: /linux/tools/perf/util/perf-regs-arch/perf_regs_arm.c (revision ff124bbbca1d3a07fa1392ffdbbdeece71f68ece)
1 // SPDX-License-Identifier: GPL-2.0
2 
3 #include "../perf_regs.h"
4 #include "../../arch/arm/include/perf_regs.h"
5 
6 uint64_t __perf_reg_mask_arm(bool intr __maybe_unused)
7 {
8 	return PERF_REGS_MASK;
9 }
10 
11 const char *__perf_reg_name_arm(int id)
12 {
13 	switch (id) {
14 	case PERF_REG_ARM_R0:
15 		return "r0";
16 	case PERF_REG_ARM_R1:
17 		return "r1";
18 	case PERF_REG_ARM_R2:
19 		return "r2";
20 	case PERF_REG_ARM_R3:
21 		return "r3";
22 	case PERF_REG_ARM_R4:
23 		return "r4";
24 	case PERF_REG_ARM_R5:
25 		return "r5";
26 	case PERF_REG_ARM_R6:
27 		return "r6";
28 	case PERF_REG_ARM_R7:
29 		return "r7";
30 	case PERF_REG_ARM_R8:
31 		return "r8";
32 	case PERF_REG_ARM_R9:
33 		return "r9";
34 	case PERF_REG_ARM_R10:
35 		return "r10";
36 	case PERF_REG_ARM_FP:
37 		return "fp";
38 	case PERF_REG_ARM_IP:
39 		return "ip";
40 	case PERF_REG_ARM_SP:
41 		return "sp";
42 	case PERF_REG_ARM_LR:
43 		return "lr";
44 	case PERF_REG_ARM_PC:
45 		return "pc";
46 	default:
47 		return NULL;
48 	}
49 
50 	return NULL;
51 }
52 
53 uint64_t __perf_reg_ip_arm(void)
54 {
55 	return PERF_REG_ARM_PC;
56 }
57 
58 uint64_t __perf_reg_sp_arm(void)
59 {
60 	return PERF_REG_ARM_SP;
61 }
62