mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
*-user: plugin syscalls
To avoid too much duplication add a wrapper that the existing trace and the new plugin calls can live in. We could move the -strace code here as well but that is left for a future series as the code is subtly different between the bsd and linux. Signed-off-by: Emilio G. Cota <cota@braap.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> [AJB: wrap in syscall-trace.h, expand commit msg] Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
This commit is contained in:
parent
8634d77bdb
commit
c36f7a642c
3 changed files with 59 additions and 9 deletions
40
include/user/syscall-trace.h
Normal file
40
include/user/syscall-trace.h
Normal file
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* Common System Call Tracing Wrappers for *-user
|
||||
*
|
||||
* Copyright (c) 2019 Linaro
|
||||
* Written by Alex Bennée <alex.bennee@linaro.org>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#ifndef _SYSCALL_TRACE_H_
|
||||
#define _SYSCALL_TRACE_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(void *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)
|
||||
{
|
||||
trace_guest_user_syscall(cpu, num,
|
||||
arg1, arg2, arg3, arg4,
|
||||
arg5, arg6, arg7, arg8);
|
||||
qemu_plugin_vcpu_syscall(cpu, num,
|
||||
arg1, arg2, arg3, arg4,
|
||||
arg5, arg6, arg7, arg8);
|
||||
}
|
||||
|
||||
static inline void record_syscall_return(void *cpu, int num, abi_long ret)
|
||||
{
|
||||
trace_guest_user_syscall_ret(cpu, num, ret);
|
||||
qemu_plugin_vcpu_syscall_ret(cpu, num, ret);
|
||||
}
|
||||
|
||||
|
||||
#endif /* _SYSCALL_TRACE_H_ */
|
Loading…
Add table
Add a link
Reference in a new issue