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