[binutils-gdb] gprofng: Add hardware counter profiling for the Ampere system
Vladimir Mezentsev
vmezents@sourceware.org
Mon Feb 26 01:31:06 GMT 2024
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f8c018bcd4ef50bc68c01b19da287a9caaa89c15
commit f8c018bcd4ef50bc68c01b19da287a9caaa89c15
Author: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
Date: Thu Feb 22 15:30:40 2024 -0800
gprofng: Add hardware counter profiling for the Ampere system
gprofng should recognize Ampere and other ARM systems.
gprofng/ChangeLog
2024-02-22 Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
* 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:
---
gprofng/common/core_pcbe.c | 5 +++++
gprofng/common/hwc_cpus.h | 10 ++++++++--
2 files changed, 13 insertions(+), 2 deletions(-)
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"
More information about the Binutils-cvs
mailing list