1b2441318SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0
2436aa749SJiri Olsa 
3436aa749SJiri Olsa #include <errno.h>
4436aa749SJiri Olsa #include <libunwind.h>
5436aa749SJiri Olsa #include "perf_regs.h"
6*c6613bd4SIan Rogers #include "../../../util/unwind.h"
7*c6613bd4SIan Rogers #include "../../../util/debug.h"
8436aa749SJiri Olsa 
libunwind__arch_reg_id(int regnum)9ea3da69dSJiri Olsa int libunwind__arch_reg_id(int regnum)
10436aa749SJiri Olsa {
11436aa749SJiri Olsa 	switch (regnum) {
12436aa749SJiri Olsa 	case UNW_ARM_R0:
13436aa749SJiri Olsa 		return PERF_REG_ARM_R0;
14436aa749SJiri Olsa 	case UNW_ARM_R1:
15436aa749SJiri Olsa 		return PERF_REG_ARM_R1;
16436aa749SJiri Olsa 	case UNW_ARM_R2:
17436aa749SJiri Olsa 		return PERF_REG_ARM_R2;
18436aa749SJiri Olsa 	case UNW_ARM_R3:
19436aa749SJiri Olsa 		return PERF_REG_ARM_R3;
20436aa749SJiri Olsa 	case UNW_ARM_R4:
21436aa749SJiri Olsa 		return PERF_REG_ARM_R4;
22436aa749SJiri Olsa 	case UNW_ARM_R5:
23436aa749SJiri Olsa 		return PERF_REG_ARM_R5;
24436aa749SJiri Olsa 	case UNW_ARM_R6:
25436aa749SJiri Olsa 		return PERF_REG_ARM_R6;
26436aa749SJiri Olsa 	case UNW_ARM_R7:
27436aa749SJiri Olsa 		return PERF_REG_ARM_R7;
28436aa749SJiri Olsa 	case UNW_ARM_R8:
29436aa749SJiri Olsa 		return PERF_REG_ARM_R8;
30436aa749SJiri Olsa 	case UNW_ARM_R9:
31436aa749SJiri Olsa 		return PERF_REG_ARM_R9;
32436aa749SJiri Olsa 	case UNW_ARM_R10:
33436aa749SJiri Olsa 		return PERF_REG_ARM_R10;
34436aa749SJiri Olsa 	case UNW_ARM_R11:
35436aa749SJiri Olsa 		return PERF_REG_ARM_FP;
36436aa749SJiri Olsa 	case UNW_ARM_R12:
37436aa749SJiri Olsa 		return PERF_REG_ARM_IP;
38436aa749SJiri Olsa 	case UNW_ARM_R13:
39436aa749SJiri Olsa 		return PERF_REG_ARM_SP;
40436aa749SJiri Olsa 	case UNW_ARM_R14:
41436aa749SJiri Olsa 		return PERF_REG_ARM_LR;
42436aa749SJiri Olsa 	case UNW_ARM_R15:
43436aa749SJiri Olsa 		return PERF_REG_ARM_PC;
44436aa749SJiri Olsa 	default:
45436aa749SJiri Olsa 		pr_err("unwind: invalid reg id %d\n", regnum);
46436aa749SJiri Olsa 		return -EINVAL;
47436aa749SJiri Olsa 	}
48436aa749SJiri Olsa 
49436aa749SJiri Olsa 	return -EINVAL;
50436aa749SJiri Olsa }
51