brintos

brintos / linux-shallow public Read only

0
0
Text · 2.2 KiB · f693167 Raw
83 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_LOONGARCH64_R1:13		return PERF_REG_LOONGARCH_R1;14	case UNW_LOONGARCH64_R2:15		return PERF_REG_LOONGARCH_R2;16	case UNW_LOONGARCH64_R3:17		return PERF_REG_LOONGARCH_R3;18	case UNW_LOONGARCH64_R4:19		return PERF_REG_LOONGARCH_R4;20	case UNW_LOONGARCH64_R5:21		return PERF_REG_LOONGARCH_R5;22	case UNW_LOONGARCH64_R6:23		return PERF_REG_LOONGARCH_R6;24	case UNW_LOONGARCH64_R7:25		return PERF_REG_LOONGARCH_R7;26	case UNW_LOONGARCH64_R8:27		return PERF_REG_LOONGARCH_R8;28	case UNW_LOONGARCH64_R9:29		return PERF_REG_LOONGARCH_R9;30	case UNW_LOONGARCH64_R10:31		return PERF_REG_LOONGARCH_R10;32	case UNW_LOONGARCH64_R11:33		return PERF_REG_LOONGARCH_R11;34	case UNW_LOONGARCH64_R12:35		return PERF_REG_LOONGARCH_R12;36	case UNW_LOONGARCH64_R13:37		return PERF_REG_LOONGARCH_R13;38	case UNW_LOONGARCH64_R14:39		return PERF_REG_LOONGARCH_R14;40	case UNW_LOONGARCH64_R15:41		return PERF_REG_LOONGARCH_R15;42	case UNW_LOONGARCH64_R16:43		return PERF_REG_LOONGARCH_R16;44	case UNW_LOONGARCH64_R17:45		return PERF_REG_LOONGARCH_R17;46	case UNW_LOONGARCH64_R18:47		return PERF_REG_LOONGARCH_R18;48	case UNW_LOONGARCH64_R19:49		return PERF_REG_LOONGARCH_R19;50	case UNW_LOONGARCH64_R20:51		return PERF_REG_LOONGARCH_R20;52	case UNW_LOONGARCH64_R21:53		return PERF_REG_LOONGARCH_R21;54	case UNW_LOONGARCH64_R22:55		return PERF_REG_LOONGARCH_R22;56	case UNW_LOONGARCH64_R23:57		return PERF_REG_LOONGARCH_R23;58	case UNW_LOONGARCH64_R24:59		return PERF_REG_LOONGARCH_R24;60	case UNW_LOONGARCH64_R25:61		return PERF_REG_LOONGARCH_R25;62	case UNW_LOONGARCH64_R26:63		return PERF_REG_LOONGARCH_R26;64	case UNW_LOONGARCH64_R27:65		return PERF_REG_LOONGARCH_R27;66	case UNW_LOONGARCH64_R28:67		return PERF_REG_LOONGARCH_R28;68	case UNW_LOONGARCH64_R29:69		return PERF_REG_LOONGARCH_R29;70	case UNW_LOONGARCH64_R30:71		return PERF_REG_LOONGARCH_R30;72	case UNW_LOONGARCH64_R31:73		return PERF_REG_LOONGARCH_R31;74	case UNW_LOONGARCH64_PC:75		return PERF_REG_LOONGARCH_PC;76	default:77		pr_err("unwind: invalid reg id %d\n", regnum);78		return -EINVAL;79	}80 81	return -EINVAL;82}83