]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - tools/perf/arch/arm64/util/unwind-libunwind.c
Merge branch 'drm-next-4.12' of git://people.freedesktop.org/~agd5f/linux into drm...
[mirror_ubuntu-focal-kernel.git] / tools / perf / arch / arm64 / util / unwind-libunwind.c
1 #include <errno.h>
2
3 #ifndef REMOTE_UNWIND_LIBUNWIND
4 #include <libunwind.h>
5 #include "perf_regs.h"
6 #include "../../util/unwind.h"
7 #include "../../util/debug.h"
8 #endif
9
10 int LIBUNWIND__ARCH_REG_ID(int regnum)
11 {
12 switch (regnum) {
13 case UNW_AARCH64_X0:
14 return PERF_REG_ARM64_X0;
15 case UNW_AARCH64_X1:
16 return PERF_REG_ARM64_X1;
17 case UNW_AARCH64_X2:
18 return PERF_REG_ARM64_X2;
19 case UNW_AARCH64_X3:
20 return PERF_REG_ARM64_X3;
21 case UNW_AARCH64_X4:
22 return PERF_REG_ARM64_X4;
23 case UNW_AARCH64_X5:
24 return PERF_REG_ARM64_X5;
25 case UNW_AARCH64_X6:
26 return PERF_REG_ARM64_X6;
27 case UNW_AARCH64_X7:
28 return PERF_REG_ARM64_X7;
29 case UNW_AARCH64_X8:
30 return PERF_REG_ARM64_X8;
31 case UNW_AARCH64_X9:
32 return PERF_REG_ARM64_X9;
33 case UNW_AARCH64_X10:
34 return PERF_REG_ARM64_X10;
35 case UNW_AARCH64_X11:
36 return PERF_REG_ARM64_X11;
37 case UNW_AARCH64_X12:
38 return PERF_REG_ARM64_X12;
39 case UNW_AARCH64_X13:
40 return PERF_REG_ARM64_X13;
41 case UNW_AARCH64_X14:
42 return PERF_REG_ARM64_X14;
43 case UNW_AARCH64_X15:
44 return PERF_REG_ARM64_X15;
45 case UNW_AARCH64_X16:
46 return PERF_REG_ARM64_X16;
47 case UNW_AARCH64_X17:
48 return PERF_REG_ARM64_X17;
49 case UNW_AARCH64_X18:
50 return PERF_REG_ARM64_X18;
51 case UNW_AARCH64_X19:
52 return PERF_REG_ARM64_X19;
53 case UNW_AARCH64_X20:
54 return PERF_REG_ARM64_X20;
55 case UNW_AARCH64_X21:
56 return PERF_REG_ARM64_X21;
57 case UNW_AARCH64_X22:
58 return PERF_REG_ARM64_X22;
59 case UNW_AARCH64_X23:
60 return PERF_REG_ARM64_X23;
61 case UNW_AARCH64_X24:
62 return PERF_REG_ARM64_X24;
63 case UNW_AARCH64_X25:
64 return PERF_REG_ARM64_X25;
65 case UNW_AARCH64_X26:
66 return PERF_REG_ARM64_X26;
67 case UNW_AARCH64_X27:
68 return PERF_REG_ARM64_X27;
69 case UNW_AARCH64_X28:
70 return PERF_REG_ARM64_X28;
71 case UNW_AARCH64_X29:
72 return PERF_REG_ARM64_X29;
73 case UNW_AARCH64_X30:
74 return PERF_REG_ARM64_LR;
75 case UNW_AARCH64_SP:
76 return PERF_REG_ARM64_SP;
77 case UNW_AARCH64_PC:
78 return PERF_REG_ARM64_PC;
79 default:
80 pr_err("unwind: invalid reg id %d\n", regnum);
81 return -EINVAL;
82 }
83
84 return -EINVAL;
85 }