[PATCH 0/7] perf cs-etm/arm-spe: Remove hard coded config fields

James Clark
2025-12-01T16:41:52Z

The specific config field that an event format attribute is in is
consistently hard coded, even though the API is supposed to be that the
driver publishes the config field name. To stop this pattern from being
copy pasted and causing problems in the future, replace them all with
calls to a new helper that returns the value that a user set.

The existing evsel__set_config_if_unset() also has a similar problem
that it hard codes attr.config, so fix that too.

There are no functional changes here because all the fields touched are
in attr.config and not config1 or config2 etc. Although this may not be
the case for new fields.

Signed-off-by: James Clark <james.clark@linaro.org>
---
James Clark (7):
perf tools: Track all user changed config bits
perf tools: apply evsel__set_config_if_unset() to all config fields
perf cs-etm: Make a helper to find the Coresight evsel
perf cs-etm: Don't use hard coded config bits when setting up ETMCR
perf cs-etm: Don't use hard coded config bits when setting up TRCCONFIGR
perf cs-etm: Don't hard code config attribute when configuring the event
perf arm-spe: Don't hard code config attribute

tools/perf/arch/arm/util/cs-etm.c | 202 ++++++++++++++++++++---------------
tools/perf/arch/arm64/util/arm-spe.c | 15 +--
tools/perf/util/evsel.c | 6 +-
tools/perf/util/evsel.h | 2 +
tools/perf/util/evsel_config.h | 6 +-
tools/perf/util/parse-events.c | 89 +++++++--------
tools/perf/util/pmu.c | 93 +++++++++++++---
7 files changed, 251 insertions(+), 162 deletions(-)
---
base-commit: 834ebb5678d75d844f5d4f44ede78724d8c96630
change-id: 20251112-james-perf-config-bits-bee7106f0f00

Best regards,
--
James Clark <james.clark@linaro.org>