Linux Audio

Check our new training course

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