// SPDX-License-Identifier: GPL-2.0 #include <errno.h> #include <libunwind.h> #include "perf_regs.h" #include "../../util/unwind.h" #include "util/debug.h" int libunwind__arch_reg_id(int regnum) { switch (regnum) { case UNW_MIPS_R1 ... UNW_MIPS_R25: return regnum - UNW_MIPS_R1 + PERF_REG_MIPS_R1; case UNW_MIPS_R28 ... UNW_MIPS_R31: return regnum - UNW_MIPS_R28 + PERF_REG_MIPS_R28; case UNW_MIPS_PC: return PERF_REG_MIPS_PC; default: pr_err("unwind: invalid reg id %d\n", regnum); return -EINVAL; } }