]> git.karo-electronics.de Git - karo-tx-linux.git/blob - tools/perf/arch/arm/include/perf_regs.h
Merge remote-tracking branch 'wireless-next/master'
[karo-tx-linux.git] / tools / perf / arch / arm / include / perf_regs.h
1 #ifndef ARCH_PERF_REGS_H
2 #define ARCH_PERF_REGS_H
3
4 #include <stdlib.h>
5 #include "../../util/types.h"
6 #include <asm/perf_regs.h>
7
8 #define PERF_REGS_MASK  ((1ULL << PERF_REG_ARM_MAX) - 1)
9 #define PERF_REG_IP     PERF_REG_ARM_PC
10 #define PERF_REG_SP     PERF_REG_ARM_SP
11
12 static inline const char *perf_reg_name(int id)
13 {
14         switch (id) {
15         case PERF_REG_ARM_R0:
16                 return "r0";
17         case PERF_REG_ARM_R1:
18                 return "r1";
19         case PERF_REG_ARM_R2:
20                 return "r2";
21         case PERF_REG_ARM_R3:
22                 return "r3";
23         case PERF_REG_ARM_R4:
24                 return "r4";
25         case PERF_REG_ARM_R5:
26                 return "r5";
27         case PERF_REG_ARM_R6:
28                 return "r6";
29         case PERF_REG_ARM_R7:
30                 return "r7";
31         case PERF_REG_ARM_R8:
32                 return "r8";
33         case PERF_REG_ARM_R9:
34                 return "r9";
35         case PERF_REG_ARM_R10:
36                 return "r10";
37         case PERF_REG_ARM_FP:
38                 return "fp";
39         case PERF_REG_ARM_IP:
40                 return "ip";
41         case PERF_REG_ARM_SP:
42                 return "sp";
43         case PERF_REG_ARM_LR:
44                 return "lr";
45         case PERF_REG_ARM_PC:
46                 return "pc";
47         default:
48                 return NULL;
49         }
50
51         return NULL;
52 }
53
54 #endif /* ARCH_PERF_REGS_H */