97 lines · c
1// SPDX-License-Identifier: GPL-2.02 3#include "../perf_regs.h"4#include "../../arch/csky/include/uapi/asm/perf_regs.h"5 6const char *__perf_reg_name_csky(int id)7{8 switch (id) {9 case PERF_REG_CSKY_A0:10 return "a0";11 case PERF_REG_CSKY_A1:12 return "a1";13 case PERF_REG_CSKY_A2:14 return "a2";15 case PERF_REG_CSKY_A3:16 return "a3";17 case PERF_REG_CSKY_REGS0:18 return "regs0";19 case PERF_REG_CSKY_REGS1:20 return "regs1";21 case PERF_REG_CSKY_REGS2:22 return "regs2";23 case PERF_REG_CSKY_REGS3:24 return "regs3";25 case PERF_REG_CSKY_REGS4:26 return "regs4";27 case PERF_REG_CSKY_REGS5:28 return "regs5";29 case PERF_REG_CSKY_REGS6:30 return "regs6";31 case PERF_REG_CSKY_REGS7:32 return "regs7";33 case PERF_REG_CSKY_REGS8:34 return "regs8";35 case PERF_REG_CSKY_REGS9:36 return "regs9";37 case PERF_REG_CSKY_SP:38 return "sp";39 case PERF_REG_CSKY_LR:40 return "lr";41 case PERF_REG_CSKY_PC:42 return "pc";43#if defined(__CSKYABIV2__)44 case PERF_REG_CSKY_EXREGS0:45 return "exregs0";46 case PERF_REG_CSKY_EXREGS1:47 return "exregs1";48 case PERF_REG_CSKY_EXREGS2:49 return "exregs2";50 case PERF_REG_CSKY_EXREGS3:51 return "exregs3";52 case PERF_REG_CSKY_EXREGS4:53 return "exregs4";54 case PERF_REG_CSKY_EXREGS5:55 return "exregs5";56 case PERF_REG_CSKY_EXREGS6:57 return "exregs6";58 case PERF_REG_CSKY_EXREGS7:59 return "exregs7";60 case PERF_REG_CSKY_EXREGS8:61 return "exregs8";62 case PERF_REG_CSKY_EXREGS9:63 return "exregs9";64 case PERF_REG_CSKY_EXREGS10:65 return "exregs10";66 case PERF_REG_CSKY_EXREGS11:67 return "exregs11";68 case PERF_REG_CSKY_EXREGS12:69 return "exregs12";70 case PERF_REG_CSKY_EXREGS13:71 return "exregs13";72 case PERF_REG_CSKY_EXREGS14:73 return "exregs14";74 case PERF_REG_CSKY_TLS:75 return "tls";76 case PERF_REG_CSKY_HI:77 return "hi";78 case PERF_REG_CSKY_LO:79 return "lo";80#endif81 default:82 return NULL;83 }84 85 return NULL;86}87 88uint64_t __perf_reg_ip_csky(void)89{90 return PERF_REG_CSKY_PC;91}92 93uint64_t __perf_reg_sp_csky(void)94{95 return PERF_REG_CSKY_SP;96}97