qemu-e2k/bsd-user
Alex Bennée f7e68c9c99 tcg/plugins: implement a qemu_plugin_user_exit helper
In user-mode emulation there is a small race between preexit_cleanup
and exit_group() which means we may end up calling instrumented
instructions before the kernel reaps child threads. To solve this we
implement a new helper which ensures the callbacks are flushed along
with any translations before we let the host do it's a thing.

While we are at it make the documentation of
qemu_plugin_register_atexit_cb clearer as to what the user can expect.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Mahmoud Mandour <ma.mandourr@gmail.com>
Acked-by: Warner Losh <imp@bsdimp.com>
Message-Id: <20210720232703.10650-21-alex.bennee@linaro.org>
2021-07-23 17:22:16 +01:00
..
arm bsd-user: move strace OS/arch dependent code to host/arch dirs 2021-01-11 14:59:21 +01:00
freebsd bsd-user: Update strace.list for FreeBSD's latest syscalls 2021-01-11 14:59:21 +01:00
i386 bsd-user: remove target_signal.h, it's unused 2021-05-11 13:52:34 -06:00
mips bsd-user: move strace OS/arch dependent code to host/arch dirs 2021-01-11 14:59:21 +01:00
mips64 bsd-user: move strace OS/arch dependent code to host/arch dirs 2021-01-11 14:59:21 +01:00
netbsd bsd-user: move strace OS/arch dependent code to host/arch dirs 2021-01-11 14:59:21 +01:00
openbsd bsd-user: move strace OS/arch dependent code to host/arch dirs 2021-01-11 14:59:21 +01:00
sparc bsd-user: remove target_signal.h, it's unused 2021-05-11 13:52:34 -06:00
sparc64 bsd-user: remove target_signal.h, it's unused 2021-05-11 13:52:34 -06:00
x86_64 bsd-user: remove target_signal.h, it's unused 2021-05-11 13:52:34 -06:00
bsd-mman.h
bsdload.c bsd-user: rename linux_binprm to bsd_binprm 2021-05-11 13:53:52 -06:00
elfload.c bsd-user: rename linux_binprm to bsd_binprm 2021-05-11 13:53:52 -06:00
errno_defs.h
main.c accel/tcg: Merge tcg_exec_init into tcg_init_machine 2021-06-11 09:26:28 -07:00
meson.build
mmap.c bsd-user: style tweak: keyword space ( 2021-05-11 11:07:22 -06:00
qemu.h bsd-user: rename linux_binprm to bsd_binprm 2021-05-11 13:53:52 -06:00
signal.c bsd-user: remove target_signal.h, it's unused 2021-05-11 13:52:34 -06:00
strace.c bsd-user: style tweak: Remove #if 0'd code 2021-05-11 11:07:22 -06:00
syscall_defs.h
syscall.c tcg/plugins: implement a qemu_plugin_user_exit helper 2021-07-23 17:22:16 +01:00
uaccess.c bsd-user: style tweak: keyword space ( 2021-05-11 11:07:22 -06:00