mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

Currently, the macro HAVE_PERF_REGS_SUPPORT is used as a switch to turn on or turn off the code of perf registers. If any architecture cannot support perf register, it disables the perf register parsing, for both the native parsing and cross parsing for other architectures. To support both the native parsing and cross parsing, the tool should always build the perf regs functions. Thus, this patch removes HAVE_PERF_REGS_SUPPORT from the perf regs files. Signed-off-by: Leo Yan <leo.yan@linux.dev> Reviewed-by: Ian Rogers <irogers@google.com> Cc: James Clark <james.clark@arm.com> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Albert Ou <aou@eecs.berkeley.edu> Cc: Huacai Chen <chenhuacai@kernel.org> Cc: Guo Ren <guoren@kernel.org> Cc: Will Deacon <will@kernel.org> Cc: Mike Leach <mike.leach@linaro.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Ming Wang <wangming01@loongson.cn> Cc: John Garry <john.g.garry@oracle.com> Cc: Paul Walmsley <paul.walmsley@sifive.com> Cc: linux-csky@vger.kernel.org Cc: linux-riscv@lists.infradead.org Signed-off-by: Namhyung Kim <namhyung@kernel.org> Link: https://lore.kernel.org/r/20240214113947.240957-3-leo.yan@linux.dev
141 lines
2.9 KiB
C
141 lines
2.9 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
#include "../perf_regs.h"
|
|
#include "../../../arch/powerpc/include/uapi/asm/perf_regs.h"
|
|
|
|
const char *__perf_reg_name_powerpc(int id)
|
|
{
|
|
switch (id) {
|
|
case PERF_REG_POWERPC_R0:
|
|
return "r0";
|
|
case PERF_REG_POWERPC_R1:
|
|
return "r1";
|
|
case PERF_REG_POWERPC_R2:
|
|
return "r2";
|
|
case PERF_REG_POWERPC_R3:
|
|
return "r3";
|
|
case PERF_REG_POWERPC_R4:
|
|
return "r4";
|
|
case PERF_REG_POWERPC_R5:
|
|
return "r5";
|
|
case PERF_REG_POWERPC_R6:
|
|
return "r6";
|
|
case PERF_REG_POWERPC_R7:
|
|
return "r7";
|
|
case PERF_REG_POWERPC_R8:
|
|
return "r8";
|
|
case PERF_REG_POWERPC_R9:
|
|
return "r9";
|
|
case PERF_REG_POWERPC_R10:
|
|
return "r10";
|
|
case PERF_REG_POWERPC_R11:
|
|
return "r11";
|
|
case PERF_REG_POWERPC_R12:
|
|
return "r12";
|
|
case PERF_REG_POWERPC_R13:
|
|
return "r13";
|
|
case PERF_REG_POWERPC_R14:
|
|
return "r14";
|
|
case PERF_REG_POWERPC_R15:
|
|
return "r15";
|
|
case PERF_REG_POWERPC_R16:
|
|
return "r16";
|
|
case PERF_REG_POWERPC_R17:
|
|
return "r17";
|
|
case PERF_REG_POWERPC_R18:
|
|
return "r18";
|
|
case PERF_REG_POWERPC_R19:
|
|
return "r19";
|
|
case PERF_REG_POWERPC_R20:
|
|
return "r20";
|
|
case PERF_REG_POWERPC_R21:
|
|
return "r21";
|
|
case PERF_REG_POWERPC_R22:
|
|
return "r22";
|
|
case PERF_REG_POWERPC_R23:
|
|
return "r23";
|
|
case PERF_REG_POWERPC_R24:
|
|
return "r24";
|
|
case PERF_REG_POWERPC_R25:
|
|
return "r25";
|
|
case PERF_REG_POWERPC_R26:
|
|
return "r26";
|
|
case PERF_REG_POWERPC_R27:
|
|
return "r27";
|
|
case PERF_REG_POWERPC_R28:
|
|
return "r28";
|
|
case PERF_REG_POWERPC_R29:
|
|
return "r29";
|
|
case PERF_REG_POWERPC_R30:
|
|
return "r30";
|
|
case PERF_REG_POWERPC_R31:
|
|
return "r31";
|
|
case PERF_REG_POWERPC_NIP:
|
|
return "nip";
|
|
case PERF_REG_POWERPC_MSR:
|
|
return "msr";
|
|
case PERF_REG_POWERPC_ORIG_R3:
|
|
return "orig_r3";
|
|
case PERF_REG_POWERPC_CTR:
|
|
return "ctr";
|
|
case PERF_REG_POWERPC_LINK:
|
|
return "link";
|
|
case PERF_REG_POWERPC_XER:
|
|
return "xer";
|
|
case PERF_REG_POWERPC_CCR:
|
|
return "ccr";
|
|
case PERF_REG_POWERPC_SOFTE:
|
|
return "softe";
|
|
case PERF_REG_POWERPC_TRAP:
|
|
return "trap";
|
|
case PERF_REG_POWERPC_DAR:
|
|
return "dar";
|
|
case PERF_REG_POWERPC_DSISR:
|
|
return "dsisr";
|
|
case PERF_REG_POWERPC_SIER:
|
|
return "sier";
|
|
case PERF_REG_POWERPC_MMCRA:
|
|
return "mmcra";
|
|
case PERF_REG_POWERPC_MMCR0:
|
|
return "mmcr0";
|
|
case PERF_REG_POWERPC_MMCR1:
|
|
return "mmcr1";
|
|
case PERF_REG_POWERPC_MMCR2:
|
|
return "mmcr2";
|
|
case PERF_REG_POWERPC_MMCR3:
|
|
return "mmcr3";
|
|
case PERF_REG_POWERPC_SIER2:
|
|
return "sier2";
|
|
case PERF_REG_POWERPC_SIER3:
|
|
return "sier3";
|
|
case PERF_REG_POWERPC_PMC1:
|
|
return "pmc1";
|
|
case PERF_REG_POWERPC_PMC2:
|
|
return "pmc2";
|
|
case PERF_REG_POWERPC_PMC3:
|
|
return "pmc3";
|
|
case PERF_REG_POWERPC_PMC4:
|
|
return "pmc4";
|
|
case PERF_REG_POWERPC_PMC5:
|
|
return "pmc5";
|
|
case PERF_REG_POWERPC_PMC6:
|
|
return "pmc6";
|
|
case PERF_REG_POWERPC_SDAR:
|
|
return "sdar";
|
|
case PERF_REG_POWERPC_SIAR:
|
|
return "siar";
|
|
default:
|
|
break;
|
|
}
|
|
return NULL;
|
|
}
|
|
|
|
uint64_t __perf_reg_ip_powerpc(void)
|
|
{
|
|
return PERF_REG_POWERPC_NIP;
|
|
}
|
|
|
|
uint64_t __perf_reg_sp_powerpc(void)
|
|
{
|
|
return PERF_REG_POWERPC_R1;
|
|
}
|