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