162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci#ifdef HAVE_PERF_REGS_SUPPORT 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include "../perf_regs.h" 662306a36Sopenharmony_ci#include "../../../arch/s390/include/uapi/asm/perf_regs.h" 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciconst char *__perf_reg_name_s390(int id) 962306a36Sopenharmony_ci{ 1062306a36Sopenharmony_ci switch (id) { 1162306a36Sopenharmony_ci case PERF_REG_S390_R0: 1262306a36Sopenharmony_ci return "R0"; 1362306a36Sopenharmony_ci case PERF_REG_S390_R1: 1462306a36Sopenharmony_ci return "R1"; 1562306a36Sopenharmony_ci case PERF_REG_S390_R2: 1662306a36Sopenharmony_ci return "R2"; 1762306a36Sopenharmony_ci case PERF_REG_S390_R3: 1862306a36Sopenharmony_ci return "R3"; 1962306a36Sopenharmony_ci case PERF_REG_S390_R4: 2062306a36Sopenharmony_ci return "R4"; 2162306a36Sopenharmony_ci case PERF_REG_S390_R5: 2262306a36Sopenharmony_ci return "R5"; 2362306a36Sopenharmony_ci case PERF_REG_S390_R6: 2462306a36Sopenharmony_ci return "R6"; 2562306a36Sopenharmony_ci case PERF_REG_S390_R7: 2662306a36Sopenharmony_ci return "R7"; 2762306a36Sopenharmony_ci case PERF_REG_S390_R8: 2862306a36Sopenharmony_ci return "R8"; 2962306a36Sopenharmony_ci case PERF_REG_S390_R9: 3062306a36Sopenharmony_ci return "R9"; 3162306a36Sopenharmony_ci case PERF_REG_S390_R10: 3262306a36Sopenharmony_ci return "R10"; 3362306a36Sopenharmony_ci case PERF_REG_S390_R11: 3462306a36Sopenharmony_ci return "R11"; 3562306a36Sopenharmony_ci case PERF_REG_S390_R12: 3662306a36Sopenharmony_ci return "R12"; 3762306a36Sopenharmony_ci case PERF_REG_S390_R13: 3862306a36Sopenharmony_ci return "R13"; 3962306a36Sopenharmony_ci case PERF_REG_S390_R14: 4062306a36Sopenharmony_ci return "R14"; 4162306a36Sopenharmony_ci case PERF_REG_S390_R15: 4262306a36Sopenharmony_ci return "R15"; 4362306a36Sopenharmony_ci case PERF_REG_S390_FP0: 4462306a36Sopenharmony_ci return "FP0"; 4562306a36Sopenharmony_ci case PERF_REG_S390_FP1: 4662306a36Sopenharmony_ci return "FP1"; 4762306a36Sopenharmony_ci case PERF_REG_S390_FP2: 4862306a36Sopenharmony_ci return "FP2"; 4962306a36Sopenharmony_ci case PERF_REG_S390_FP3: 5062306a36Sopenharmony_ci return "FP3"; 5162306a36Sopenharmony_ci case PERF_REG_S390_FP4: 5262306a36Sopenharmony_ci return "FP4"; 5362306a36Sopenharmony_ci case PERF_REG_S390_FP5: 5462306a36Sopenharmony_ci return "FP5"; 5562306a36Sopenharmony_ci case PERF_REG_S390_FP6: 5662306a36Sopenharmony_ci return "FP6"; 5762306a36Sopenharmony_ci case PERF_REG_S390_FP7: 5862306a36Sopenharmony_ci return "FP7"; 5962306a36Sopenharmony_ci case PERF_REG_S390_FP8: 6062306a36Sopenharmony_ci return "FP8"; 6162306a36Sopenharmony_ci case PERF_REG_S390_FP9: 6262306a36Sopenharmony_ci return "FP9"; 6362306a36Sopenharmony_ci case PERF_REG_S390_FP10: 6462306a36Sopenharmony_ci return "FP10"; 6562306a36Sopenharmony_ci case PERF_REG_S390_FP11: 6662306a36Sopenharmony_ci return "FP11"; 6762306a36Sopenharmony_ci case PERF_REG_S390_FP12: 6862306a36Sopenharmony_ci return "FP12"; 6962306a36Sopenharmony_ci case PERF_REG_S390_FP13: 7062306a36Sopenharmony_ci return "FP13"; 7162306a36Sopenharmony_ci case PERF_REG_S390_FP14: 7262306a36Sopenharmony_ci return "FP14"; 7362306a36Sopenharmony_ci case PERF_REG_S390_FP15: 7462306a36Sopenharmony_ci return "FP15"; 7562306a36Sopenharmony_ci case PERF_REG_S390_MASK: 7662306a36Sopenharmony_ci return "MASK"; 7762306a36Sopenharmony_ci case PERF_REG_S390_PC: 7862306a36Sopenharmony_ci return "PC"; 7962306a36Sopenharmony_ci default: 8062306a36Sopenharmony_ci return NULL; 8162306a36Sopenharmony_ci } 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci return NULL; 8462306a36Sopenharmony_ci} 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ciuint64_t __perf_reg_ip_s390(void) 8762306a36Sopenharmony_ci{ 8862306a36Sopenharmony_ci return PERF_REG_S390_PC; 8962306a36Sopenharmony_ci} 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ciuint64_t __perf_reg_sp_s390(void) 9262306a36Sopenharmony_ci{ 9362306a36Sopenharmony_ci return PERF_REG_S390_R15; 9462306a36Sopenharmony_ci} 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci#endif 97