Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf trace arm64: Use generated syscall table

This should speed up accessing new system calls introduced with the
kernel rather than waiting for libaudit updates to include them.

It also enables users to specify wildcards, for example, perf trace -e
'open*', just like was already possible on x86, s390, and powerpc, which
means arm64 can now pass the "Check open filename arg using perf trace +
vfs_getname" test.

Signed-off-by: Kim Phillips <kim.phillips@arm.com>
Reviewed-by: Hendrik Brueckner <brueckner@linux.ibm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
Cc: Thomas Richter <tmricht@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/20180706163454.f714b9ab49ecc8566a0b3565@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Kim Phillips and committed by
Arnaldo Carvalho de Melo
a7f660d6 2b588243

+6
+2
tools/perf/Makefile.config
··· 54 54 55 55 ifeq ($(SRCARCH),arm64) 56 56 NO_PERF_REGS := 0 57 + NO_SYSCALL_TABLE := 0 58 + CFLAGS += -I$(OUTPUT)arch/arm64/include/generated 57 59 LIBUNWIND_LIBS = -lunwind -lunwind-aarch64 58 60 endif 59 61
+4
tools/perf/util/syscalltbl.c
··· 38 38 #include <asm/syscalls_32.c> 39 39 const int syscalltbl_native_max_id = SYSCALLTBL_POWERPC_32_MAX_ID; 40 40 static const char **syscalltbl_native = syscalltbl_powerpc_32; 41 + #elif defined(__aarch64__) 42 + #include <asm/syscalls.c> 43 + const int syscalltbl_native_max_id = SYSCALLTBL_ARM64_MAX_ID; 44 + static const char **syscalltbl_native = syscalltbl_arm64; 41 45 #endif 42 46 43 47 struct syscall {