root/tools/perf/arch/riscv/include/perf_regs.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. perf_reg_name

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /* Copyright (C) 2019 Hangzhou C-SKY Microsystems co.,ltd. */
   3 
   4 #ifndef ARCH_PERF_REGS_H
   5 #define ARCH_PERF_REGS_H
   6 
   7 #include <stdlib.h>
   8 #include <linux/types.h>
   9 #include <asm/perf_regs.h>
  10 
  11 #define PERF_REGS_MASK  ((1ULL << PERF_REG_RISCV_MAX) - 1)
  12 #define PERF_REGS_MAX   PERF_REG_RISCV_MAX
  13 #if __riscv_xlen == 64
  14 #define PERF_SAMPLE_REGS_ABI    PERF_SAMPLE_REGS_ABI_64
  15 #else
  16 #define PERF_SAMPLE_REGS_ABI    PERF_SAMPLE_REGS_ABI_32
  17 #endif
  18 
  19 #define PERF_REG_IP     PERF_REG_RISCV_PC
  20 #define PERF_REG_SP     PERF_REG_RISCV_SP
  21 
  22 static inline const char *perf_reg_name(int id)
  23 {
  24         switch (id) {
  25         case PERF_REG_RISCV_PC:
  26                 return "pc";
  27         case PERF_REG_RISCV_RA:
  28                 return "ra";
  29         case PERF_REG_RISCV_SP:
  30                 return "sp";
  31         case PERF_REG_RISCV_GP:
  32                 return "gp";
  33         case PERF_REG_RISCV_TP:
  34                 return "tp";
  35         case PERF_REG_RISCV_T0:
  36                 return "t0";
  37         case PERF_REG_RISCV_T1:
  38                 return "t1";
  39         case PERF_REG_RISCV_T2:
  40                 return "t2";
  41         case PERF_REG_RISCV_S0:
  42                 return "s0";
  43         case PERF_REG_RISCV_S1:
  44                 return "s1";
  45         case PERF_REG_RISCV_A0:
  46                 return "a0";
  47         case PERF_REG_RISCV_A1:
  48                 return "a1";
  49         case PERF_REG_RISCV_A2:
  50                 return "a2";
  51         case PERF_REG_RISCV_A3:
  52                 return "a3";
  53         case PERF_REG_RISCV_A4:
  54                 return "a4";
  55         case PERF_REG_RISCV_A5:
  56                 return "a5";
  57         case PERF_REG_RISCV_A6:
  58                 return "a6";
  59         case PERF_REG_RISCV_A7:
  60                 return "a7";
  61         case PERF_REG_RISCV_S2:
  62                 return "s2";
  63         case PERF_REG_RISCV_S3:
  64                 return "s3";
  65         case PERF_REG_RISCV_S4:
  66                 return "s4";
  67         case PERF_REG_RISCV_S5:
  68                 return "s5";
  69         case PERF_REG_RISCV_S6:
  70                 return "s6";
  71         case PERF_REG_RISCV_S7:
  72                 return "s7";
  73         case PERF_REG_RISCV_S8:
  74                 return "s8";
  75         case PERF_REG_RISCV_S9:
  76                 return "s9";
  77         case PERF_REG_RISCV_S10:
  78                 return "s10";
  79         case PERF_REG_RISCV_S11:
  80                 return "s11";
  81         case PERF_REG_RISCV_T3:
  82                 return "t3";
  83         case PERF_REG_RISCV_T4:
  84                 return "t4";
  85         case PERF_REG_RISCV_T5:
  86                 return "t5";
  87         case PERF_REG_RISCV_T6:
  88                 return "t6";
  89         default:
  90                 return NULL;
  91         }
  92 
  93         return NULL;
  94 }
  95 
  96 #endif /* ARCH_PERF_REGS_H */

/* [<][>][^][v][top][bottom][index][help] */