ec87c99de4
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
95 lines
1.5 KiB
C
95 lines
1.5 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
#include "../perf_regs.h"
|
|
#include "../../../arch/x86/include/uapi/asm/perf_regs.h"
|
|
|
|
const char *__perf_reg_name_x86(int id)
|
|
{
|
|
switch (id) {
|
|
case PERF_REG_X86_AX:
|
|
return "AX";
|
|
case PERF_REG_X86_BX:
|
|
return "BX";
|
|
case PERF_REG_X86_CX:
|
|
return "CX";
|
|
case PERF_REG_X86_DX:
|
|
return "DX";
|
|
case PERF_REG_X86_SI:
|
|
return "SI";
|
|
case PERF_REG_X86_DI:
|
|
return "DI";
|
|
case PERF_REG_X86_BP:
|
|
return "BP";
|
|
case PERF_REG_X86_SP:
|
|
return "SP";
|
|
case PERF_REG_X86_IP:
|
|
return "IP";
|
|
case PERF_REG_X86_FLAGS:
|
|
return "FLAGS";
|
|
case PERF_REG_X86_CS:
|
|
return "CS";
|
|
case PERF_REG_X86_SS:
|
|
return "SS";
|
|
case PERF_REG_X86_DS:
|
|
return "DS";
|
|
case PERF_REG_X86_ES:
|
|
return "ES";
|
|
case PERF_REG_X86_FS:
|
|
return "FS";
|
|
case PERF_REG_X86_GS:
|
|
return "GS";
|
|
case PERF_REG_X86_R8:
|
|
return "R8";
|
|
case PERF_REG_X86_R9:
|
|
return "R9";
|
|
case PERF_REG_X86_R10:
|
|
return "R10";
|
|
case PERF_REG_X86_R11:
|
|
return "R11";
|
|
case PERF_REG_X86_R12:
|
|
return "R12";
|
|
case PERF_REG_X86_R13:
|
|
return "R13";
|
|
case PERF_REG_X86_R14:
|
|
return "R14";
|
|
case PERF_REG_X86_R15:
|
|
return "R15";
|
|
|
|
#define XMM(x) \
|
|
case PERF_REG_X86_XMM ## x: \
|
|
case PERF_REG_X86_XMM ## x + 1: \
|
|
return "XMM" #x;
|
|
XMM(0)
|
|
XMM(1)
|
|
XMM(2)
|
|
XMM(3)
|
|
XMM(4)
|
|
XMM(5)
|
|
XMM(6)
|
|
XMM(7)
|
|
XMM(8)
|
|
XMM(9)
|
|
XMM(10)
|
|
XMM(11)
|
|
XMM(12)
|
|
XMM(13)
|
|
XMM(14)
|
|
XMM(15)
|
|
#undef XMM
|
|
default:
|
|
return NULL;
|
|
}
|
|
|
|
return NULL;
|
|
}
|
|
|
|
uint64_t __perf_reg_ip_x86(void)
|
|
{
|
|
return PERF_REG_X86_IP;
|
|
}
|
|
|
|
uint64_t __perf_reg_sp_x86(void)
|
|
{
|
|
return PERF_REG_X86_SP;
|
|
}
|