| // SPDX-License-Identifier: GPL-2.0 |
| |
| #ifdef HAVE_PERF_REGS_SUPPORT |
| |
| #include "../perf_regs.h" |
| #include "../../../arch/loongarch/include/uapi/asm/perf_regs.h" |
| |
| const char *__perf_reg_name_loongarch(int id) |
| { |
| switch (id) { |
| case PERF_REG_LOONGARCH_PC: |
| return "PC"; |
| case PERF_REG_LOONGARCH_R1: |
| return "%r1"; |
| case PERF_REG_LOONGARCH_R2: |
| return "%r2"; |
| case PERF_REG_LOONGARCH_R3: |
| return "%r3"; |
| case PERF_REG_LOONGARCH_R4: |
| return "%r4"; |
| case PERF_REG_LOONGARCH_R5: |
| return "%r5"; |
| case PERF_REG_LOONGARCH_R6: |
| return "%r6"; |
| case PERF_REG_LOONGARCH_R7: |
| return "%r7"; |
| case PERF_REG_LOONGARCH_R8: |
| return "%r8"; |
| case PERF_REG_LOONGARCH_R9: |
| return "%r9"; |
| case PERF_REG_LOONGARCH_R10: |
| return "%r10"; |
| case PERF_REG_LOONGARCH_R11: |
| return "%r11"; |
| case PERF_REG_LOONGARCH_R12: |
| return "%r12"; |
| case PERF_REG_LOONGARCH_R13: |
| return "%r13"; |
| case PERF_REG_LOONGARCH_R14: |
| return "%r14"; |
| case PERF_REG_LOONGARCH_R15: |
| return "%r15"; |
| case PERF_REG_LOONGARCH_R16: |
| return "%r16"; |
| case PERF_REG_LOONGARCH_R17: |
| return "%r17"; |
| case PERF_REG_LOONGARCH_R18: |
| return "%r18"; |
| case PERF_REG_LOONGARCH_R19: |
| return "%r19"; |
| case PERF_REG_LOONGARCH_R20: |
| return "%r20"; |
| case PERF_REG_LOONGARCH_R21: |
| return "%r21"; |
| case PERF_REG_LOONGARCH_R22: |
| return "%r22"; |
| case PERF_REG_LOONGARCH_R23: |
| return "%r23"; |
| case PERF_REG_LOONGARCH_R24: |
| return "%r24"; |
| case PERF_REG_LOONGARCH_R25: |
| return "%r25"; |
| case PERF_REG_LOONGARCH_R26: |
| return "%r26"; |
| case PERF_REG_LOONGARCH_R27: |
| return "%r27"; |
| case PERF_REG_LOONGARCH_R28: |
| return "%r28"; |
| case PERF_REG_LOONGARCH_R29: |
| return "%r29"; |
| case PERF_REG_LOONGARCH_R30: |
| return "%r30"; |
| case PERF_REG_LOONGARCH_R31: |
| return "%r31"; |
| default: |
| break; |
| } |
| return NULL; |
| } |
| |
| uint64_t __perf_reg_ip_loongarch(void) |
| { |
| return PERF_REG_LOONGARCH_PC; |
| } |
| |
| uint64_t __perf_reg_sp_loongarch(void) |
| { |
| return PERF_REG_LOONGARCH_R3; |
| } |
| |
| #endif |