15000e7f6SLeo Yan // SPDX-License-Identifier: GPL-2.0 25000e7f6SLeo Yan 35000e7f6SLeo Yan #include "../perf_regs.h" 45000e7f6SLeo Yan #include "../../../arch/powerpc/include/uapi/asm/perf_regs.h" 55000e7f6SLeo Yan __perf_reg_name_powerpc(int id)65000e7f6SLeo Yanconst char *__perf_reg_name_powerpc(int id) 75000e7f6SLeo Yan { 85000e7f6SLeo Yan switch (id) { 95000e7f6SLeo Yan case PERF_REG_POWERPC_R0: 105000e7f6SLeo Yan return "r0"; 115000e7f6SLeo Yan case PERF_REG_POWERPC_R1: 125000e7f6SLeo Yan return "r1"; 135000e7f6SLeo Yan case PERF_REG_POWERPC_R2: 145000e7f6SLeo Yan return "r2"; 155000e7f6SLeo Yan case PERF_REG_POWERPC_R3: 165000e7f6SLeo Yan return "r3"; 175000e7f6SLeo Yan case PERF_REG_POWERPC_R4: 185000e7f6SLeo Yan return "r4"; 195000e7f6SLeo Yan case PERF_REG_POWERPC_R5: 205000e7f6SLeo Yan return "r5"; 215000e7f6SLeo Yan case PERF_REG_POWERPC_R6: 225000e7f6SLeo Yan return "r6"; 235000e7f6SLeo Yan case PERF_REG_POWERPC_R7: 245000e7f6SLeo Yan return "r7"; 255000e7f6SLeo Yan case PERF_REG_POWERPC_R8: 265000e7f6SLeo Yan return "r8"; 275000e7f6SLeo Yan case PERF_REG_POWERPC_R9: 285000e7f6SLeo Yan return "r9"; 295000e7f6SLeo Yan case PERF_REG_POWERPC_R10: 305000e7f6SLeo Yan return "r10"; 315000e7f6SLeo Yan case PERF_REG_POWERPC_R11: 325000e7f6SLeo Yan return "r11"; 335000e7f6SLeo Yan case PERF_REG_POWERPC_R12: 345000e7f6SLeo Yan return "r12"; 355000e7f6SLeo Yan case PERF_REG_POWERPC_R13: 365000e7f6SLeo Yan return "r13"; 375000e7f6SLeo Yan case PERF_REG_POWERPC_R14: 385000e7f6SLeo Yan return "r14"; 395000e7f6SLeo Yan case PERF_REG_POWERPC_R15: 405000e7f6SLeo Yan return "r15"; 415000e7f6SLeo Yan case PERF_REG_POWERPC_R16: 425000e7f6SLeo Yan return "r16"; 435000e7f6SLeo Yan case PERF_REG_POWERPC_R17: 445000e7f6SLeo Yan return "r17"; 455000e7f6SLeo Yan case PERF_REG_POWERPC_R18: 465000e7f6SLeo Yan return "r18"; 475000e7f6SLeo Yan case PERF_REG_POWERPC_R19: 485000e7f6SLeo Yan return "r19"; 495000e7f6SLeo Yan case PERF_REG_POWERPC_R20: 505000e7f6SLeo Yan return "r20"; 515000e7f6SLeo Yan case PERF_REG_POWERPC_R21: 525000e7f6SLeo Yan return "r21"; 535000e7f6SLeo Yan case PERF_REG_POWERPC_R22: 545000e7f6SLeo Yan return "r22"; 555000e7f6SLeo Yan case PERF_REG_POWERPC_R23: 565000e7f6SLeo Yan return "r23"; 575000e7f6SLeo Yan case PERF_REG_POWERPC_R24: 585000e7f6SLeo Yan return "r24"; 595000e7f6SLeo Yan case PERF_REG_POWERPC_R25: 605000e7f6SLeo Yan return "r25"; 615000e7f6SLeo Yan case PERF_REG_POWERPC_R26: 625000e7f6SLeo Yan return "r26"; 635000e7f6SLeo Yan case PERF_REG_POWERPC_R27: 645000e7f6SLeo Yan return "r27"; 655000e7f6SLeo Yan case PERF_REG_POWERPC_R28: 665000e7f6SLeo Yan return "r28"; 675000e7f6SLeo Yan case PERF_REG_POWERPC_R29: 685000e7f6SLeo Yan return "r29"; 695000e7f6SLeo Yan case PERF_REG_POWERPC_R30: 705000e7f6SLeo Yan return "r30"; 715000e7f6SLeo Yan case PERF_REG_POWERPC_R31: 725000e7f6SLeo Yan return "r31"; 735000e7f6SLeo Yan case PERF_REG_POWERPC_NIP: 745000e7f6SLeo Yan return "nip"; 755000e7f6SLeo Yan case PERF_REG_POWERPC_MSR: 765000e7f6SLeo Yan return "msr"; 775000e7f6SLeo Yan case PERF_REG_POWERPC_ORIG_R3: 785000e7f6SLeo Yan return "orig_r3"; 795000e7f6SLeo Yan case PERF_REG_POWERPC_CTR: 805000e7f6SLeo Yan return "ctr"; 815000e7f6SLeo Yan case PERF_REG_POWERPC_LINK: 825000e7f6SLeo Yan return "link"; 835000e7f6SLeo Yan case PERF_REG_POWERPC_XER: 845000e7f6SLeo Yan return "xer"; 855000e7f6SLeo Yan case PERF_REG_POWERPC_CCR: 865000e7f6SLeo Yan return "ccr"; 875000e7f6SLeo Yan case PERF_REG_POWERPC_SOFTE: 885000e7f6SLeo Yan return "softe"; 895000e7f6SLeo Yan case PERF_REG_POWERPC_TRAP: 905000e7f6SLeo Yan return "trap"; 915000e7f6SLeo Yan case PERF_REG_POWERPC_DAR: 925000e7f6SLeo Yan return "dar"; 935000e7f6SLeo Yan case PERF_REG_POWERPC_DSISR: 945000e7f6SLeo Yan return "dsisr"; 955000e7f6SLeo Yan case PERF_REG_POWERPC_SIER: 965000e7f6SLeo Yan return "sier"; 975000e7f6SLeo Yan case PERF_REG_POWERPC_MMCRA: 985000e7f6SLeo Yan return "mmcra"; 995000e7f6SLeo Yan case PERF_REG_POWERPC_MMCR0: 1005000e7f6SLeo Yan return "mmcr0"; 1015000e7f6SLeo Yan case PERF_REG_POWERPC_MMCR1: 1025000e7f6SLeo Yan return "mmcr1"; 1035000e7f6SLeo Yan case PERF_REG_POWERPC_MMCR2: 1045000e7f6SLeo Yan return "mmcr2"; 1055000e7f6SLeo Yan case PERF_REG_POWERPC_MMCR3: 1065000e7f6SLeo Yan return "mmcr3"; 1075000e7f6SLeo Yan case PERF_REG_POWERPC_SIER2: 1085000e7f6SLeo Yan return "sier2"; 1095000e7f6SLeo Yan case PERF_REG_POWERPC_SIER3: 1105000e7f6SLeo Yan return "sier3"; 1115000e7f6SLeo Yan case PERF_REG_POWERPC_PMC1: 1125000e7f6SLeo Yan return "pmc1"; 1135000e7f6SLeo Yan case PERF_REG_POWERPC_PMC2: 1145000e7f6SLeo Yan return "pmc2"; 1155000e7f6SLeo Yan case PERF_REG_POWERPC_PMC3: 1165000e7f6SLeo Yan return "pmc3"; 1175000e7f6SLeo Yan case PERF_REG_POWERPC_PMC4: 1185000e7f6SLeo Yan return "pmc4"; 1195000e7f6SLeo Yan case PERF_REG_POWERPC_PMC5: 1205000e7f6SLeo Yan return "pmc5"; 1215000e7f6SLeo Yan case PERF_REG_POWERPC_PMC6: 1225000e7f6SLeo Yan return "pmc6"; 1235000e7f6SLeo Yan case PERF_REG_POWERPC_SDAR: 1245000e7f6SLeo Yan return "sdar"; 1255000e7f6SLeo Yan case PERF_REG_POWERPC_SIAR: 1265000e7f6SLeo Yan return "siar"; 1275000e7f6SLeo Yan default: 1285000e7f6SLeo Yan break; 1295000e7f6SLeo Yan } 1305000e7f6SLeo Yan return NULL; 1315000e7f6SLeo Yan } 1325000e7f6SLeo Yan __perf_reg_ip_powerpc(void)133*34af56afSLeo Yanuint64_t __perf_reg_ip_powerpc(void) 134*34af56afSLeo Yan { 135*34af56afSLeo Yan return PERF_REG_POWERPC_NIP; 136*34af56afSLeo Yan } 137*34af56afSLeo Yan __perf_reg_sp_powerpc(void)138*34af56afSLeo Yanuint64_t __perf_reg_sp_powerpc(void) 139*34af56afSLeo Yan { 140*34af56afSLeo Yan return PERF_REG_POWERPC_R1; 141*34af56afSLeo Yan } 142