]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gprofng: Add hardware counter profiling for the Ampere system
authorVladimir Mezentsev <vladimir.mezentsev@oracle.com>
Thu, 22 Feb 2024 23:30:40 +0000 (15:30 -0800)
committerVladimir Mezentsev <vladimir.mezentsev@oracle.com>
Mon, 26 Feb 2024 01:30:35 +0000 (17:30 -0800)
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_*.

gprofng/common/core_pcbe.c
gprofng/common/hwc_cpus.h

index 25bf484d7f2f44789cce249493b079d22d396bd2..30977f0ebb221dc7b12cacb59a97d73b92be1ea6 100644 (file)
@@ -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
index 34896d6fb464589e416852cea3903a0940802446..4b770832b15971936b8209c436724d9a5c4de333 100644 (file)
@@ -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"