cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

unwind-libunwind.c (1041B)


      1// SPDX-License-Identifier: GPL-2.0
      2
      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}