From: Vladimir Mezentsev Date: Thu, 22 Feb 2024 23:30:40 +0000 (-0800) Subject: gprofng: Add hardware counter profiling for the Ampere system X-Git-Tag: gdb-15-branchpoint~883 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f8c018bcd4ef50bc68c01b19da287a9caaa89c15;p=thirdparty%2Fbinutils-gdb.git gprofng: Add hardware counter profiling for the Ampere system gprofng should recognize Ampere and other ARM systems. gprofng/ChangeLog 2024-02-22 Vladimir Mezentsev * common/hwc_cpus.h: Declare the enum values ARM_CPU_IMP_*. * common/core_pcbe.c (core_pcbe_init): Accept new systems ARM_CPU_IMP_*. --- diff --git a/gprofng/common/core_pcbe.c b/gprofng/common/core_pcbe.c index 25bf484d7f2..30977f0ebb2 100644 --- a/gprofng/common/core_pcbe.c +++ b/gprofng/common/core_pcbe.c @@ -2746,6 +2746,11 @@ core_pcbe_init (void) case ARM_CPU_IMP_CAVIUM: case ARM_CPU_IMP_APM: case ARM_CPU_IMP_QCOM: + case ARM_CPU_IMP_FUJITSU: + case ARM_CPU_IMP_NVIDIA: + case ARM_CPU_IMP_HISI: + case ARM_CPU_IMP_APPLE: + case ARM_CPU_IMP_AMPERE: snprintf (core_impl_name, sizeof (core_impl_name), "%s", AARCH64_VENDORSTR_ARM); events_table = events_generic; num_gpc = 4; // MEZ: a real implementation is needed diff --git a/gprofng/common/hwc_cpus.h b/gprofng/common/hwc_cpus.h index 34896d6fb46..4b770832b15 100644 --- a/gprofng/common/hwc_cpus.h +++ b/gprofng/common/hwc_cpus.h @@ -117,13 +117,19 @@ extern cpu_info_t *read_cpuinfo(); #define CPC_SPARC64_X 4006 /* Athena */ #define CPC_SPARC64_XII 4010 /* Athena++ */ -// aarch64. Constants from arch/arm64/include/asm/cputype.h +// aarch64. Constants from tools/arch/arm64/include/asm/cputype.h +// in https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git enum { ARM_CPU_IMP_ARM = 0x41, ARM_CPU_IMP_BRCM = 0x42, ARM_CPU_IMP_CAVIUM = 0x43, + ARM_CPU_IMP_FUJITSU = 0x46, + ARM_CPU_IMP_NVIDIA = 0x4E, + ARM_CPU_IMP_HISI = 0x48, ARM_CPU_IMP_APM = 0x50, - ARM_CPU_IMP_QCOM = 0x51 + ARM_CPU_IMP_QCOM = 0x51, + ARM_CPU_IMP_APPLE = 0x61, + ARM_CPU_IMP_AMPERE = 0xC0 }; #define AARCH64_VENDORSTR_ARM "ARM"