Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / tools / perf / arch / arm / util / unwind-libunwind.c
1
2 #include <errno.h>
3 #include <libunwind.h>
4 #include "perf_regs.h"
5 #include "../../util/unwind.h"
6 #include "../../util/debug.h"
7
8 int libunwind__arch_reg_id(int regnum)
9 {
10         switch (regnum) {
11         case UNW_ARM_R0:
12                 return PERF_REG_ARM_R0;
13         case UNW_ARM_R1:
14                 return PERF_REG_ARM_R1;
15         case UNW_ARM_R2:
16                 return PERF_REG_ARM_R2;
17         case UNW_ARM_R3:
18                 return PERF_REG_ARM_R3;
19         case UNW_ARM_R4:
20                 return PERF_REG_ARM_R4;
21         case UNW_ARM_R5:
22                 return PERF_REG_ARM_R5;
23         case UNW_ARM_R6:
24                 return PERF_REG_ARM_R6;
25         case UNW_ARM_R7:
26                 return PERF_REG_ARM_R7;
27         case UNW_ARM_R8:
28                 return PERF_REG_ARM_R8;
29         case UNW_ARM_R9:
30                 return PERF_REG_ARM_R9;
31         case UNW_ARM_R10:
32                 return PERF_REG_ARM_R10;
33         case UNW_ARM_R11:
34                 return PERF_REG_ARM_FP;
35         case UNW_ARM_R12:
36                 return PERF_REG_ARM_IP;
37         case UNW_ARM_R13:
38                 return PERF_REG_ARM_SP;
39         case UNW_ARM_R14:
40                 return PERF_REG_ARM_LR;
41         case UNW_ARM_R15:
42                 return PERF_REG_ARM_PC;
43         default:
44                 pr_err("unwind: invalid reg id %d\n", regnum);
45                 return -EINVAL;
46         }
47
48         return -EINVAL;
49 }