brintos

brintos / linux-shallow public Read only

0
0
Text · 1.0 KiB · 438906b Raw
51 lines · c
1// SPDX-License-Identifier: GPL-2.02 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}51