perf tools: Enable evsel__is_aux_event() to work for ARM/ARM64
authorAdrian Hunter <adrian.hunter@intel.com>
Mon, 15 Jul 2024 16:07:04 +0000 (19:07 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 31 Jul 2024 19:58:18 +0000 (16:58 -0300)
Set pmu->auxtrace on ARM/ARM64 AUX area PMUs. evsel__is_aux_event() needs
the setting to identify AUX area tracing selected events.

Currently, the features that use evsel__is_aux_event() are used only by
Intel PT, but that may change in the future.

Reviewed-by: Andi Kleen <ak@linux.intel.com>
Reviewed-by: Leo Yan <leo.yan@arm.com>
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Acked-by: Ian Rogers <irogers@google.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Hendrik Brueckner <brueckner@linux.ibm.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Jonathan Cameron <jonathan.cameron@huawei.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
Cc: Thomas Richter <tmricht@linux.ibm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Yicong Yang <yangyicong@hisilicon.com>
Cc: coresight@lists.linaro.org
Cc: linux-arm-kernel@lists.infradead.org
Link: https://lore.kernel.org/r/20240715160712.127117-6-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/arch/arm/util/pmu.c

index 1c9541d..57dc94a 100644 (file)
@@ -23,16 +23,19 @@ void perf_pmu__arch_init(struct perf_pmu *pmu)
 #ifdef HAVE_AUXTRACE_SUPPORT
        if (!strcmp(pmu->name, CORESIGHT_ETM_PMU_NAME)) {
                /* add ETM default config here */
+               pmu->auxtrace = true;
                pmu->selectable = true;
                pmu->perf_event_attr_init_default = cs_etm_get_default_config;
 #if defined(__aarch64__)
        } else if (strstarts(pmu->name, ARM_SPE_PMU_NAME)) {
+               pmu->auxtrace = true;
                pmu->selectable = true;
                pmu->is_uncore = false;
                pmu->perf_event_attr_init_default = arm_spe_pmu_default_config;
                if (strstarts(pmu->name, "arm_spe_"))
                        pmu->mem_events = perf_mem_events_arm;
        } else if (strstarts(pmu->name, HISI_PTT_PMU_NAME)) {
+               pmu->auxtrace = true;
                pmu->selectable = true;
 #endif
        }