diff mbox series

[v2] perf: enable coresight if enabled in MACHINE_FEATURES

Message ID 20250903162411.2709923-1-ross.burton@arm.com
State New
Headers show
Series [v2] perf: enable coresight if enabled in MACHINE_FEATURES | expand

Commit Message

Ross Burton Sept. 3, 2025, 4:24 p.m. UTC
Enable the CoreSight[1] functionality in perf[2] if 'coresight' is in the
MACHINE_FEATURES.

Note that enabling this will mean a dependency on the opencsd recipe,
which is currently part of meta-arm[3]. I don't think this is a problem
as this recipe is Arm-specific, and as this is a new feature the
behaviour is opt-in so shouldn't break any existing machines.

[1] https://docs.kernel.org/trace/coresight/coresight.html
[2] https://docs.kernel.org/trace/coresight/coresight-perf.html
[3] https://git.yoctoproject.org/meta-arm/tree/meta-arm/recipes-devtools/opencsd

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-kernel/perf/perf.bb | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 4f29bd5bbc3..b142b090b55 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -10,7 +10,9 @@  HOMEPAGE = "https://perf.wiki.kernel.org/index.php/Main_Page"
 LICENSE = "GPL-2.0-only"
 
 # zstd is required for kernels 6.14+ when libelf-zstd is detected
-PACKAGECONFIG ??= "python tui libunwind libtraceevent zstd"
+# Respect the coresight machine feature, but note this causes a
+# dependency on meta-arm.
+PACKAGECONFIG ??= "python tui libunwind libtraceevent zstd ${@bb.utils.filter('MACHINE_FEATURES', 'coresight', d)}"
 PACKAGECONFIG[dwarf] = ",NO_DWARF=1"
 PACKAGECONFIG[perl] = ",NO_LIBPERL=1,perl"
 PACKAGECONFIG[python] = ",NO_LIBPYTHON=1,python3 python3-setuptools-native"
@@ -28,7 +30,7 @@  PACKAGECONFIG[libtraceevent] = ",NO_LIBTRACEEVENT=1,libtraceevent"
 # jevents requires host python for generating a .c file, but is
 # unrelated to the python item.
 PACKAGECONFIG[jevents] = ",NO_JEVENTS=1,python3-native"
-# Arm CoreSight
+# Arm CoreSight support, requires meta-arm for opencsd
 PACKAGECONFIG[coresight] = "CORESIGHT=1,,opencsd"
 PACKAGECONFIG[pfm4] = ",NO_LIBPFM4=1,libpfm4"
 PACKAGECONFIG[babeltrace] = ",NO_LIBBABELTRACE=1,babeltrace"