linux-csky.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFT 00/16] perf tools: Use generic syscall scripts for all archs
@ 2024-11-04 21:06 Charlie Jenkins
  2024-11-04 21:06 ` [PATCH RFT 01/16] perf tools: Create generic syscall table support Charlie Jenkins
                   ` (16 more replies)
  0 siblings, 17 replies; 22+ messages in thread
From: Charlie Jenkins @ 2024-11-04 21:06 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Namhyung Kim, Mark Rutland, Alexander Shishkin, Jiri Olsa,
	Ian Rogers, Adrian Hunter, Paul Walmsley, Palmer Dabbelt,
	Albert Ou, Mickaël Salaün, Günther Noack,
	Christian Brauner, Guo Ren, John Garry, Will Deacon, James Clark,
	Mike Leach, Leo Yan, Jonathan Corbet, Arnd Bergmann
  Cc: linux-kernel, linux-perf-users, linux-riscv,
	linux-security-module, bpf, linux-csky, linux-arm-kernel,
	linux-doc, Charlie Jenkins

Standardize the generation of syscall headers around syscall tables.
Previously each architecture independently selected how syscall headers
would be generated, or would not define a way and fallback onto
libaudit. Convert all architectures to use a standard syscall header
generation script and allow each architecture to override the syscall
table to use if they do not use the generic table.

As a result of these changes, no architecture will require libaudit, and
so the fallback case of using libaudit is removed by this series.

Testing:

I have tested that the syscall mappings of id to name generation works
as expected for every architecture, but I have only validated that perf
trace compiles and runs as expected on riscv, arm64, and x86_64.

Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
---
Charlie Jenkins (16):
      perf tools: Create generic syscall table support
      perf tools: arc: Support generic syscall headers
      perf tools: csky: Support generic syscall headers
      perf tools: arm: Support syscall headers
      perf tools: sh: Support syscall headers
      perf tools: sparc: Support syscall headers
      perf tools: xtensa: Support syscall header
      perf tools: x86: Use generic syscall scripts
      perf tools: alpha: Support syscall header
      perf tools: parisc: Support syscall header
      perf tools: arm64: Use syscall table
      perf tools: loongarch: Use syscall table
      perf tools: mips: Use generic syscall scripts
      perf tools: powerpc: Use generic syscall table scripts
      perf tools: s390: Use generic syscall table scripts
      perf tools: Remove dependency on libaudit

 Documentation/admin-guide/workload-tracing.rst     |   2 +-
 tools/build/feature/Makefile                       |   4 -
 tools/build/feature/test-libaudit.c                |  11 -
 tools/perf/Documentation/perf-check.txt            |   1 -
 tools/perf/Makefile.config                         |  28 +-
 tools/perf/Makefile.perf                           |  12 +-
 tools/perf/arch/alpha/entry/syscalls/Kbuild        |   2 +
 .../arch/alpha/entry/syscalls/Makefile.syscalls    |   5 +
 tools/perf/arch/alpha/entry/syscalls/syscall.tbl   | 504 ++++++++++++++++++++
 tools/perf/arch/alpha/include/syscall_table.h      |   2 +
 tools/perf/arch/arc/entry/syscalls/Kbuild          |   2 +
 .../perf/arch/arc/entry/syscalls/Makefile.syscalls |   3 +
 tools/perf/arch/arc/include/syscall_table.h        |   2 +
 tools/perf/arch/arm/entry/syscalls/Kbuild          |   4 +
 .../perf/arch/arm/entry/syscalls/Makefile.syscalls |   2 +
 tools/perf/arch/arm/entry/syscalls/syscall.tbl     | 479 +++++++++++++++++++
 tools/perf/arch/arm/include/syscall_table.h        |   2 +
 tools/perf/arch/arm64/Makefile                     |  22 -
 tools/perf/arch/arm64/entry/syscalls/Kbuild        |   3 +
 .../arch/arm64/entry/syscalls/Makefile.syscalls    |   6 +
 tools/perf/arch/arm64/entry/syscalls/mksyscalltbl  |  46 --
 .../perf/arch/arm64/entry/syscalls/syscall_32.tbl  | 476 +++++++++++++++++++
 .../perf/arch/arm64/entry/syscalls/syscall_64.tbl  |   1 +
 tools/perf/arch/arm64/include/syscall_table.h      |   8 +
 tools/perf/arch/csky/entry/syscalls/Kbuild         |   2 +
 .../arch/csky/entry/syscalls/Makefile.syscalls     |   3 +
 tools/perf/arch/csky/include/syscall_table.h       |   2 +
 tools/perf/arch/loongarch/Makefile                 |  22 -
 tools/perf/arch/loongarch/entry/syscalls/Kbuild    |   2 +
 .../loongarch/entry/syscalls/Makefile.syscalls     |   3 +
 .../arch/loongarch/entry/syscalls/mksyscalltbl     |  45 --
 tools/perf/arch/loongarch/include/syscall_table.h  |   2 +
 tools/perf/arch/mips/Makefile                      |  18 -
 tools/perf/arch/mips/entry/syscalls/Kbuild         |   2 +
 .../arch/mips/entry/syscalls/Makefile.syscalls     |   5 +
 tools/perf/arch/mips/entry/syscalls/mksyscalltbl   |  32 --
 tools/perf/arch/mips/include/syscall_table.h       |   2 +
 tools/perf/arch/parisc/entry/syscalls/Kbuild       |   3 +
 .../arch/parisc/entry/syscalls/Makefile.syscalls   |   6 +
 tools/perf/arch/parisc/entry/syscalls/syscall.tbl  | 463 +++++++++++++++++++
 tools/perf/arch/parisc/include/syscall_table.h     |   8 +
 tools/perf/arch/powerpc/Makefile                   |  25 -
 tools/perf/arch/powerpc/entry/syscalls/Kbuild      |   3 +
 .../arch/powerpc/entry/syscalls/Makefile.syscalls  |   6 +
 .../perf/arch/powerpc/entry/syscalls/mksyscalltbl  |  39 --
 tools/perf/arch/powerpc/include/syscall_table.h    |   8 +
 tools/perf/arch/riscv/entry/syscalls/Kbuild        |   2 +
 .../arch/riscv/entry/syscalls/Makefile.syscalls    |   4 +
 tools/perf/arch/riscv/include/syscall_table.h      |   8 +
 tools/perf/arch/s390/Makefile                      |  21 -
 tools/perf/arch/s390/entry/syscalls/Kbuild         |   2 +
 .../arch/s390/entry/syscalls/Makefile.syscalls     |   5 +
 tools/perf/arch/s390/entry/syscalls/mksyscalltbl   |  32 --
 tools/perf/arch/s390/include/syscall_table.h       |   2 +
 tools/perf/arch/sh/entry/syscalls/Kbuild           |   2 +
 .../perf/arch/sh/entry/syscalls/Makefile.syscalls  |   4 +
 tools/perf/arch/sh/entry/syscalls/syscall.tbl      | 468 +++++++++++++++++++
 tools/perf/arch/sh/include/syscall_table.h         |   2 +
 tools/perf/arch/sparc/entry/syscalls/Kbuild        |   3 +
 .../arch/sparc/entry/syscalls/Makefile.syscalls    |   5 +
 tools/perf/arch/sparc/entry/syscalls/syscall.tbl   | 510 +++++++++++++++++++++
 tools/perf/arch/sparc/include/syscall_table.h      |   8 +
 tools/perf/arch/x86/Build                          |   1 -
 tools/perf/arch/x86/Makefile                       |  25 -
 tools/perf/arch/x86/entry/syscalls/Kbuild          |   3 +
 .../perf/arch/x86/entry/syscalls/Makefile.syscalls |   6 +
 tools/perf/arch/x86/entry/syscalls/syscalltbl.sh   |  42 --
 tools/perf/arch/x86/include/syscall_table.h        |   8 +
 tools/perf/arch/xtensa/entry/syscalls/Kbuild       |   2 +
 .../arch/xtensa/entry/syscalls/Makefile.syscalls   |   4 +
 tools/perf/arch/xtensa/entry/syscalls/syscall.tbl  | 435 ++++++++++++++++++
 tools/perf/arch/xtensa/include/syscall_table.h     |   2 +
 tools/perf/builtin-check.c                         |   1 -
 tools/perf/builtin-help.c                          |   2 -
 tools/perf/builtin-trace.c                         |  30 --
 tools/perf/check-headers.sh                        |   9 +
 tools/perf/perf.c                                  |   6 +-
 tools/perf/scripts/Makefile.syscalls               |  69 +++
 tools/perf/scripts/syscalltbl.sh                   |  86 ++++
 tools/perf/tests/make                              |   7 +-
 tools/perf/util/env.c                              |   4 +-
 tools/perf/util/generate-cmdlist.sh                |   4 +-
 tools/perf/util/syscalltbl.c                       |  87 +---
 tools/scripts/syscall.tbl                          | 405 ++++++++++++++++
 84 files changed, 4089 insertions(+), 555 deletions(-)
---
base-commit: 59b723cd2adbac2a34fc8e12c74ae26ae45bf230
change-id: 20240913-perf_syscalltbl-6f98defcc6f5
-- 
- Charlie


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2024-11-21  4:22 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-04 21:06 [PATCH RFT 00/16] perf tools: Use generic syscall scripts for all archs Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 01/16] perf tools: Create generic syscall table support Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 02/16] perf tools: arc: Support generic syscall headers Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 03/16] perf tools: csky: " Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 04/16] perf tools: arm: Support " Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 05/16] perf tools: sh: " Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 06/16] perf tools: sparc: " Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 07/16] perf tools: xtensa: Support syscall header Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 08/16] perf tools: x86: Use generic syscall scripts Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 09/16] perf tools: alpha: Support syscall header Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 10/16] perf tools: parisc: " Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 11/16] perf tools: arm64: Use syscall table Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 12/16] perf tools: loongarch: " Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 13/16] perf tools: mips: Use generic syscall scripts Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 14/16] perf tools: powerpc: Use generic syscall table scripts Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 15/16] perf tools: s390: " Charlie Jenkins
2024-11-04 21:06 ` [PATCH RFT 16/16] perf tools: Remove dependency on libaudit Charlie Jenkins
2024-11-04 21:13 ` [PATCH RFT 00/16] perf tools: Use generic syscall scripts for all archs Arnd Bergmann
2024-11-04 21:32   ` Charlie Jenkins
2024-11-04 22:03     ` Ian Rogers
2024-11-04 23:35       ` Charlie Jenkins
2024-11-21  4:22         ` Charlie Jenkins

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).