These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / tools / perf / arch / arm64 / include / perf_regs.h
1 #ifndef ARCH_PERF_REGS_H
2 #define ARCH_PERF_REGS_H
3
4 #include <stdlib.h>
5 #include <linux/types.h>
6 #include <asm/perf_regs.h>
7
8 void perf_regs_load(u64 *regs);
9
10 #define PERF_REGS_MASK  ((1ULL << PERF_REG_ARM64_MAX) - 1)
11 #define PERF_REGS_MAX   PERF_REG_ARM64_MAX
12 #define PERF_SAMPLE_REGS_ABI    PERF_SAMPLE_REGS_ABI_64
13
14 #define PERF_REG_IP     PERF_REG_ARM64_PC
15 #define PERF_REG_SP     PERF_REG_ARM64_SP
16
17 static inline const char *perf_reg_name(int id)
18 {
19         switch (id) {
20         case PERF_REG_ARM64_X0:
21                 return "x0";
22         case PERF_REG_ARM64_X1:
23                 return "x1";
24         case PERF_REG_ARM64_X2:
25                 return "x2";
26         case PERF_REG_ARM64_X3:
27                 return "x3";
28         case PERF_REG_ARM64_X4:
29                 return "x4";
30         case PERF_REG_ARM64_X5:
31                 return "x5";
32         case PERF_REG_ARM64_X6:
33                 return "x6";
34         case PERF_REG_ARM64_X7:
35                 return "x7";
36         case PERF_REG_ARM64_X8:
37                 return "x8";
38         case PERF_REG_ARM64_X9:
39                 return "x9";
40         case PERF_REG_ARM64_X10:
41                 return "x10";
42         case PERF_REG_ARM64_X11:
43                 return "x11";
44         case PERF_REG_ARM64_X12:
45                 return "x12";
46         case PERF_REG_ARM64_X13:
47                 return "x13";
48         case PERF_REG_ARM64_X14:
49                 return "x14";
50         case PERF_REG_ARM64_X15:
51                 return "x15";
52         case PERF_REG_ARM64_X16:
53                 return "x16";
54         case PERF_REG_ARM64_X17:
55                 return "x17";
56         case PERF_REG_ARM64_X18:
57                 return "x18";
58         case PERF_REG_ARM64_X19:
59                 return "x19";
60         case PERF_REG_ARM64_X20:
61                 return "x20";
62         case PERF_REG_ARM64_X21:
63                 return "x21";
64         case PERF_REG_ARM64_X22:
65                 return "x22";
66         case PERF_REG_ARM64_X23:
67                 return "x23";
68         case PERF_REG_ARM64_X24:
69                 return "x24";
70         case PERF_REG_ARM64_X25:
71                 return "x25";
72         case PERF_REG_ARM64_X26:
73                 return "x26";
74         case PERF_REG_ARM64_X27:
75                 return "x27";
76         case PERF_REG_ARM64_X28:
77                 return "x28";
78         case PERF_REG_ARM64_X29:
79                 return "x29";
80         case PERF_REG_ARM64_SP:
81                 return "sp";
82         case PERF_REG_ARM64_LR:
83                 return "lr";
84         case PERF_REG_ARM64_PC:
85                 return "pc";
86         default:
87                 return NULL;
88         }
89
90         return NULL;
91 }
92
93 #endif /* ARCH_PERF_REGS_H */