Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 
0003 #include <errno.h>
0004 #include <libunwind.h>
0005 #include "perf_regs.h"
0006 #include "../../util/unwind.h"
0007 #include "util/debug.h"
0008 
0009 int libunwind__arch_reg_id(int regnum)
0010 {
0011     switch (regnum) {
0012     case UNW_MIPS_R1 ... UNW_MIPS_R25:
0013         return regnum - UNW_MIPS_R1 + PERF_REG_MIPS_R1;
0014     case UNW_MIPS_R28 ... UNW_MIPS_R31:
0015         return regnum - UNW_MIPS_R28 + PERF_REG_MIPS_R28;
0016     case UNW_MIPS_PC:
0017         return PERF_REG_MIPS_PC;
0018     default:
0019         pr_err("unwind: invalid reg id %d\n", regnum);
0020         return -EINVAL;
0021     }
0022 }