[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260123222209.1181249-1-irogers@google.com>
Date: Fri, 23 Jan 2026 14:22:05 -0800
From: Ian Rogers <irogers@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>, Namhyung Kim <namhyung@...nel.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>, Jiri Olsa <jolsa@...nel.org>,
Ian Rogers <irogers@...gle.com>, Adrian Hunter <adrian.hunter@...el.com>,
James Clark <james.clark@...aro.org>, Guo Ren <guoren@...nel.org>,
Tianyou Li <tianyou.li@...el.com>, Athira Rajeev <atrajeev@...ux.ibm.com>,
Stephen Brennan <stephen.s.brennan@...cle.com>, Aditya Bodkhe <aditya.b1@...ux.ibm.com>,
Chun-Tse Shao <ctshao@...gle.com>, Swapnil Sapkal <swapnil.sapkal@....com>,
Howard Chu <howardchu95@...il.com>, Sergei Trofimovich <slyich@...il.com>,
Shimin Guo <shimin.guo@...dio.com>, linux-perf-users@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-csky@...r.kernel.org
Subject: [PATCH v1 0/4] perf e_flags support for CSKY
The ELF machine type for CSKY is insufficent to describe the perf
registers, the e_flags from the ELF header is also required. Expand
the thread__e_machine and associated APIs to optionally fill in an
e_flags output field. For uses in `perf trace` the e_flags doesn't
matter and the e_flags needn't be computed. For `perf annotate` the
e_flags are computed and passed around, however, this is optimized so
the e_flags are only read for EM_CSKY. Call chain unwinding needs to
know about perf registers during recording and in the unwinding logic,
this is similarly wired up with the e_flags.
Ian Rogers (4):
perf dso: Factor out e_machine reading for use in thread
perf thread: Add optional e_flags output argument to thread__e_machine
perf perf_regs: Accurately compute register names for CSKY
perf unwind-libdw: Wire up e_flags for CSKY
tools/perf/builtin-script.c | 38 +++--
tools/perf/builtin-trace.c | 12 +-
tools/perf/util/annotate.c | 5 +-
tools/perf/util/disasm.c | 5 +-
tools/perf/util/disasm.h | 2 +-
tools/perf/util/dso.c | 139 ++++++++++++------
tools/perf/util/dso.h | 12 +-
tools/perf/util/parse-regs-options.c | 4 +-
.../perf/util/perf-regs-arch/perf_regs_csky.c | 13 +-
tools/perf/util/perf_regs.c | 4 +-
tools/perf/util/perf_regs.h | 4 +-
.../scripting-engines/trace-event-python.c | 17 ++-
tools/perf/util/session.c | 26 ++--
tools/perf/util/thread.c | 62 +++++---
tools/perf/util/thread.h | 16 +-
tools/perf/util/unwind-libdw.c | 9 +-
tools/perf/util/unwind-libdw.h | 1 +
17 files changed, 244 insertions(+), 125 deletions(-)
--
2.52.0.457.g6b5491de43-goog
Powered by blists - more mailing lists