Ian Rogers
16ab5c708d
perf build: Remove Makefile.syscalls
...
Now a single beauty file is generated and used by all architectures,
remove the per-architecture Makefiles, Kbuild files and previous
generator script.
Note: there was conversation with Charlie Jenkins
<charlie@rivosinc.com > and they'd written an alternate approach to
support multiple architectures:
https://lore.kernel.org/all/20250114-perf_syscall_arch_runtime-v1-1-5b304e408e11@rivosinc.com/
It would have been better to have helped Charlie fix their series (my
apologies) but they agreed that the approach taken here was likely
best for longer term maintainability:
https://lore.kernel.org/lkml/Z6Jk_UN9i69QGqUj@ghost/
Signed-off-by: Ian Rogers <irogers@google.com >
Reviewed-by: Howard Chu <howardchu95@gmail.com >
Reviewed-by: Charlie Jenkins <charlie@rivosinc.com >
Reviewed-by: Namhyung Kim <namhyung@kernel.org >
Acked-by: Arnaldo Carvalho de Melo <acme@kernel.org >
Link: https://lore.kernel.org/r/20250319050741.269828-11-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-03-20 22:58:20 -07:00
Ian Rogers
af472d3c44
perf syscalltbl: Remove syscall_table.h
...
The definition of "static const char *const syscalltbl[] = {" is done
in a generated syscalls_32.h or syscalls_64.h that is architecture
dependent. In order to include the appropriate file a syscall_table.h
is found via the perf include path and it includes the syscalls_32.h
or syscalls_64.h as appropriate.
To support having multiple syscall tables, one for 32-bit and one for
64-bit, or for different architectures, an include path cannot be
used. Remove syscall_table.h because of this and inline what it does
into syscalltbl.c.
For architectures without a syscall_table.h this will cause a failure
to include either syscalls_32.h or syscalls_64.h rather than a failure
to include syscall_table.h. For architectures that only included one
or other, the behavior matches BITS_PER_LONG as previously done on
architectures supporting both syscalls_32.h and syscalls_64.h.
Signed-off-by: Ian Rogers <irogers@google.com >
Reviewed-by: Howard Chu <howardchu95@gmail.com >
Reviewed-by: Charlie Jenkins <charlie@rivosinc.com >
Reviewed-by: Namhyung Kim <namhyung@kernel.org >
Acked-by: Arnaldo Carvalho de Melo <acme@kernel.org >
Link: https://lore.kernel.org/r/20250319050741.269828-4-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2025-03-20 22:57:35 -07:00
Charlie Jenkins
26db672256
perf tools arc: Support generic syscall headers
...
Arc uses the generic syscall table, use that in perf instead of
requiring libaudit.
Signed-off-by: Charlie Jenkins <charlie@rivosinc.com >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: Christian Brauner <brauner@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Günther Noack <gnoack@google.com >
Cc: Ian Rogers <irogers@google.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: James Clark <james.clark@linaro.org >
Cc: Jiri Olsa <jolsa@kernel.org >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Jonathan Corbet <corbet@lwn.net >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Mark Rutland <mark.rutland@arm.com >
Cc: Mickaël Salaün <mic@digikod.net >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Will Deacon <will@kernel.org >
Link: https://lore.kernel.org/r/20250108-perf_syscalltbl-v6-2-7543b5293098@rivosinc.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2025-01-09 12:50:56 -03:00
Ian Rogers
cd6c9dca9d
perf disasm: Add e_machine/e_flags to struct arch
...
Currently functions like get_dwarf_regnum only work with the host
architecture. Carry the elf machine and flags in struct arch so that
in disassembly these can be used to allow cross platform disassembly.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-5-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:13 -08:00
Eugeniy Paltsev
6d99a79cb4
perf annotate: Introduce basic support for ARC
...
Introduce basic 'perf annotate' support for ARC to be able to use
anotation via stdio interface.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com >
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Cc: Alexey Brodkin <alexey.brodkin@synopsys.com >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: linux-snps-arc@lists.infradead.org
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Vineet Gupta <vineet.gupta1@synopsys.com >
Link: http://lkml.kernel.org/r/20181204175118.25232-1-Eugeniy.Paltsev@synopsys.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2018-12-17 14:59:42 -03:00