[PATCH v2 0/3] Support register names of all architectures

German Gomez german.gomez at arm.com
Tue Dec 7 10:06:49 PST 2021


The following changeset applies some corrections to the way system
registers are processed and presented when reading perf.data files using
the various perf tools.

The commit message from [3/3] shows how register names aren't correctly
presented when performing x-arch analysis of perf.data files (recording
in one arch, then reading the file from a different arch).

  - [PATCH 1/3] Fixes a potential out-of-bounds access when reading the
    values of the registers in the perf.data file.
  - [PATCH 2/3] Fixes an issue of ARM and ARM64 registers having the
    same enum name.
  - [PATCH 3/3] Refactors the function "perf_reg_name" declared in the
   "tools/perf/util/perf_regs.h" header, in order to support every arch.

Thanks,
German

--
Changes since v1

  - Added "Reported-by" tags.
  - Removed [PATCH 2/4] because it's not needed (suggested by Athira
    Rajeev).
  - Removed [PATCH 3/4] which created additional header files with the
    register names of every arch.
  - Introduced [PATCH 2/3] to deal with ARM and ARM64 registers having the
    same enum name across "/tools/perf/".
  - Reworked the refactor of "perf_reg_name" function (now implemented in
    perf_regs.c, rather than in the header file) in [PATCH 3/3].

German Gomez (3):
  perf tools: Prevent out-of-bounds access to registers
  perf tools: Rename perf_event_arm_regs for ARM64 registers
  perf tools: Support register names from all archs

 tools/perf/arch/arm/include/perf_regs.h       |  42 --
 tools/perf/arch/arm64/include/perf_regs.h     |  78 +-
 tools/perf/arch/csky/include/perf_regs.h      |  82 ---
 tools/perf/arch/mips/include/perf_regs.h      |  69 --
 tools/perf/arch/powerpc/include/perf_regs.h   |  66 --
 tools/perf/arch/riscv/include/perf_regs.h     |  74 --
 tools/perf/arch/s390/include/perf_regs.h      |  78 --
 tools/perf/arch/x86/include/perf_regs.h       |  82 ---
 tools/perf/builtin-script.c                   |  18 +-
 tools/perf/util/event.h                       |   5 +-
 tools/perf/util/libunwind/arm64.c             |   2 +
 tools/perf/util/perf_regs.c                   | 671 +++++++++++++++++-
 tools/perf/util/perf_regs.h                   |  10 +-
 .../scripting-engines/trace-event-python.c    |  10 +-
 tools/perf/util/session.c                     |  25 +-
 15 files changed, 709 insertions(+), 603 deletions(-)

-- 
2.25.1




More information about the linux-riscv mailing list