For now, only linux-user supports plugin syscall API, so restrict the scope of these functions to linux-user/syscall.c
Reviewed-by: Richard Henderson <[email protected]> Link: https://lore.kernel.org/qemu-devel/[email protected] Signed-off-by: Pierrick Bouvier <[email protected]> --- include/user/syscall-trace.h | 43 ----------------------------------- bsd-user/freebsd/os-syscall.c | 1 - linux-user/syscall.c | 20 +++++++++++++++- 3 files changed, 19 insertions(+), 45 deletions(-) delete mode 100644 include/user/syscall-trace.h diff --git a/include/user/syscall-trace.h b/include/user/syscall-trace.h deleted file mode 100644 index 9bd7ca19c84..00000000000 --- a/include/user/syscall-trace.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Common System Call Tracing Wrappers for *-user - * - * Copyright (c) 2019 Linaro - * Written by Alex Bennée <[email protected]> - * - * SPDX-License-Identifier: GPL-2.0-or-later - */ - -#ifndef SYSCALL_TRACE_H -#define SYSCALL_TRACE_H - -#include "user/abitypes.h" -#include "gdbstub/user.h" -#include "qemu/plugin.h" -#include "trace/trace-root.h" - -/* - * These helpers just provide a common place for the various - * subsystems that want to track syscalls to put their hooks in. We - * could potentially unify the -strace code here as well. - */ - -static inline void record_syscall_start(CPUState *cpu, int num, - abi_long arg1, abi_long arg2, - abi_long arg3, abi_long arg4, - abi_long arg5, abi_long arg6, - abi_long arg7, abi_long arg8) -{ - qemu_plugin_vcpu_syscall(cpu, num, - arg1, arg2, arg3, arg4, - arg5, arg6, arg7, arg8); - gdb_syscall_entry(cpu, num); -} - -static inline void record_syscall_return(CPUState *cpu, int num, abi_long ret) -{ - qemu_plugin_vcpu_syscall_ret(cpu, num, ret); - gdb_syscall_return(cpu, num); -} - - -#endif /* SYSCALL_TRACE_H */ diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index ca2f6fdb66e..4c1191b8f47 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -31,7 +31,6 @@ #include "qemu.h" #include "signal-common.h" -#include "user/syscall-trace.h" /* BSD independent syscall shims */ #include "bsd-file.h" diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 3944004568f..b4b551ad148 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -132,6 +132,7 @@ #include "uname.h" #include "qemu.h" +#include "gdbstub/user.h" #include "user-internals.h" #include "strace.h" #include "signal-common.h" @@ -142,7 +143,6 @@ #include "user/signal.h" #include "qemu/guest-random.h" #include "qemu/selfmap.h" -#include "user/syscall-trace.h" #include "special-errno.h" #include "qapi/error.h" #include "fd-trans.h" @@ -14334,6 +14334,24 @@ static bool sys_dispatch(CPUState *cpu, TaskState *ts) return true; } +static void record_syscall_start(CPUState *cpu, int num, + abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4, + abi_long arg5, abi_long arg6, + abi_long arg7, abi_long arg8) +{ + qemu_plugin_vcpu_syscall(cpu, num, + arg1, arg2, arg3, arg4, + arg5, arg6, arg7, arg8); + gdb_syscall_entry(cpu, num); +} + +static void record_syscall_return(CPUState *cpu, int num, abi_long ret) +{ + qemu_plugin_vcpu_syscall_ret(cpu, num, ret); + gdb_syscall_return(cpu, num); +} + abi_long do_syscall(CPUArchState *cpu_env, int num, abi_long arg1, abi_long arg2, abi_long arg3, abi_long arg4, abi_long arg5, abi_long arg6, abi_long arg7, -- 2.47.3
