File Index
Files and directories
Sign in
FILE

unwind-libunwind.c

File preview with syntax highlighting.

linux-6.19.14/tools/perf/arch/arm/util/unwind-libunwind.c C
 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}
~/ Read-only file preview.