aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/branch.c
diff options
context:
space:
mode:
authorAnshuman Khandual <anshuman.khandual@arm.com>2022-08-24 10:18:22 +0530
committerArnaldo Carvalho de Melo <acme@redhat.com>2022-10-04 08:55:20 -0300
commitfb42f8b729f431b53acfaa8bf1b4d43b98e62e14 (patch)
tree76c9e8586359d66913f28f539ebe97508ed74f4c /tools/perf/util/branch.c
parentperf branch: Add branch privilege information request flag (diff)
downloadlinux-dev-fb42f8b729f431b53acfaa8bf1b4d43b98e62e14.tar.xz
linux-dev-fb42f8b729f431b53acfaa8bf1b4d43b98e62e14.zip
perf branch: Add PERF_BR_NEW_ARCH_[N] map for BRBE on arm64 platform
This updates the perf tool with arch specific branch type classification used for BRBE on arm64 platform as added in the kernel earlier. Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Clark <james.clark@arm.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Robin Murphy <robin.murphy@arm.com> Cc: Suzuki Poulouse <suzuki.poulose@arm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Will Deacon <will@kernel.org> Cc: linux-arm-kernel@lists.infradead.org Link: https://lore.kernel.org/r/20220824044822.70230-9-anshuman.khandual@arm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/branch.c')
-rw-r--r--tools/perf/util/branch.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/perf/util/branch.c b/tools/perf/util/branch.c
index 675cbbe80ce3..6d38238481d3 100644
--- a/tools/perf/util/branch.c
+++ b/tools/perf/util/branch.c
@@ -45,11 +45,24 @@ const char *branch_new_type_name(int new_type)
"FAULT_ALGN",
"FAULT_DATA",
"FAULT_INST",
+/*
+ * TODO: This switch should happen on 'session->header.env.arch'
+ * instead, because an arm64 platform perf recording could be
+ * opened for analysis on other platforms as well.
+ */
+#ifdef __aarch64__
+ "ARM64_FIQ",
+ "ARM64_DEBUG_HALT",
+ "ARM64_DEBUG_EXIT",
+ "ARM64_DEBUG_INST",
+ "ARM64_DEBUG_DATA"
+#else
"ARCH_1",
"ARCH_2",
"ARCH_3",
"ARCH_4",
"ARCH_5"
+#endif
};
if (new_type >= 0 && new_type < PERF_BR_NEW_MAX)