brintos

brintos / linux-shallow public Read only

0
0
Text · 2.2 KiB · 90a6bed Raw
93 lines · c
1// SPDX-License-Identifier: GPL-2.0-or-later2/*3 * Copyright 2016 Chandan Kumar, IBM Corporation.4 */5 6#include <errno.h>7#include <libunwind.h>8#include <asm/perf_regs.h>9#include "../../util/unwind.h"10#include "../../util/debug.h"11 12int libunwind__arch_reg_id(int regnum)13{14	switch (regnum) {15	case UNW_PPC64_R0:16		return PERF_REG_POWERPC_R0;17	case UNW_PPC64_R1:18		return PERF_REG_POWERPC_R1;19	case UNW_PPC64_R2:20		return PERF_REG_POWERPC_R2;21	case UNW_PPC64_R3:22		return PERF_REG_POWERPC_R3;23	case UNW_PPC64_R4:24		return PERF_REG_POWERPC_R4;25	case UNW_PPC64_R5:26		return PERF_REG_POWERPC_R5;27	case UNW_PPC64_R6:28		return PERF_REG_POWERPC_R6;29	case UNW_PPC64_R7:30		return PERF_REG_POWERPC_R7;31	case UNW_PPC64_R8:32		return PERF_REG_POWERPC_R8;33	case UNW_PPC64_R9:34		return PERF_REG_POWERPC_R9;35	case UNW_PPC64_R10:36		return PERF_REG_POWERPC_R10;37	case UNW_PPC64_R11:38		return PERF_REG_POWERPC_R11;39	case UNW_PPC64_R12:40		return PERF_REG_POWERPC_R12;41	case UNW_PPC64_R13:42		return PERF_REG_POWERPC_R13;43	case UNW_PPC64_R14:44		return PERF_REG_POWERPC_R14;45	case UNW_PPC64_R15:46		return PERF_REG_POWERPC_R15;47	case UNW_PPC64_R16:48		return PERF_REG_POWERPC_R16;49	case UNW_PPC64_R17:50		return PERF_REG_POWERPC_R17;51	case UNW_PPC64_R18:52		return PERF_REG_POWERPC_R18;53	case UNW_PPC64_R19:54		return PERF_REG_POWERPC_R19;55	case UNW_PPC64_R20:56		return PERF_REG_POWERPC_R20;57	case UNW_PPC64_R21:58		return PERF_REG_POWERPC_R21;59	case UNW_PPC64_R22:60		return PERF_REG_POWERPC_R22;61	case UNW_PPC64_R23:62		return PERF_REG_POWERPC_R23;63	case UNW_PPC64_R24:64		return PERF_REG_POWERPC_R24;65	case UNW_PPC64_R25:66		return PERF_REG_POWERPC_R25;67	case UNW_PPC64_R26:68		return PERF_REG_POWERPC_R26;69	case UNW_PPC64_R27:70		return PERF_REG_POWERPC_R27;71	case UNW_PPC64_R28:72		return PERF_REG_POWERPC_R28;73	case UNW_PPC64_R29:74		return PERF_REG_POWERPC_R29;75	case UNW_PPC64_R30:76		return PERF_REG_POWERPC_R30;77	case UNW_PPC64_R31:78		return PERF_REG_POWERPC_R31;79	case UNW_PPC64_LR:80		return PERF_REG_POWERPC_LINK;81	case UNW_PPC64_CTR:82		return PERF_REG_POWERPC_CTR;83	case UNW_PPC64_XER:84		return PERF_REG_POWERPC_XER;85	case UNW_PPC64_NIP:86		return PERF_REG_POWERPC_NIP;87	default:88		pr_err("unwind: invalid reg id %d\n", regnum);89		return -EINVAL;90	}91	return -EINVAL;92}93