summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWarner Losh2022-01-09 01:37:23 +0100
committerWarner Losh2022-01-28 23:53:41 +0100
commit6ddc1abe0fd1099f807b27306b518752ea3f40e0 (patch)
tree636ab2f5e75445c2dc681b9fb8c5f8f1d6c619b1
parentbsd-user: Add host signals to the build (diff)
downloadqemu-6ddc1abe0fd1099f807b27306b518752ea3f40e0.tar.gz
qemu-6ddc1abe0fd1099f807b27306b518752ea3f40e0.tar.xz
qemu-6ddc1abe0fd1099f807b27306b518752ea3f40e0.zip
bsd-user: Add trace events for bsd-user
Add the bsd-user specific events and infrastructure. Only include the linux-user trace events for linux-user, not bsd-user. Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Kyle Evans <kevans@freebsd.org> Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
-rw-r--r--bsd-user/signal.c1
-rw-r--r--bsd-user/trace-events11
-rw-r--r--bsd-user/trace.h1
-rw-r--r--meson.build5
4 files changed, 17 insertions, 1 deletions
diff --git a/bsd-user/signal.c b/bsd-user/signal.c
index f3e020e004..cb0036acb6 100644
--- a/bsd-user/signal.c
+++ b/bsd-user/signal.c
@@ -21,6 +21,7 @@
#include "qemu/osdep.h"
#include "qemu.h"
#include "signal-common.h"
+#include "trace.h"
#include "hw/core/tcg-cpu-ops.h"
#include "host-signal.h"
diff --git a/bsd-user/trace-events b/bsd-user/trace-events
new file mode 100644
index 0000000000..843896f627
--- /dev/null
+++ b/bsd-user/trace-events
@@ -0,0 +1,11 @@
+# See docs/tracing.txt for syntax documentation.
+
+# bsd-user/signal.c
+user_setup_frame(void *env, uint64_t frame_addr) "env=%p frame_addr=0x%"PRIx64
+user_setup_rt_frame(void *env, uint64_t frame_addr) "env=%p frame_addr=0x%"PRIx64
+user_do_rt_sigreturn(void *env, uint64_t frame_addr) "env=%p frame_addr=0x%"PRIx64
+user_do_sigreturn(void *env, uint64_t frame_addr) "env=%p frame_addr=0x%"PRIx64
+user_dump_core_and_abort(void *env, int target_sig, int host_sig) "env=%p signal %d (host %d)"
+user_handle_signal(void *env, int target_sig) "env=%p signal %d"
+user_host_signal(void *env, int host_sig, int target_sig) "env=%p signal %d (target %d("
+user_queue_signal(void *env, int target_sig) "env=%p signal %d"
diff --git a/bsd-user/trace.h b/bsd-user/trace.h
new file mode 100644
index 0000000000..593c0204ad
--- /dev/null
+++ b/bsd-user/trace.h
@@ -0,0 +1 @@
+#include "trace/trace-bsd_user.h"
diff --git a/meson.build b/meson.build
index 155403d44f..5f43355071 100644
--- a/meson.build
+++ b/meson.build
@@ -2458,9 +2458,12 @@ trace_events_subdirs = [
'monitor',
'util',
]
-if have_user
+if have_linux_user
trace_events_subdirs += [ 'linux-user' ]
endif
+if have_bsd_user
+ trace_events_subdirs += [ 'bsd-user' ]
+endif
if have_block
trace_events_subdirs += [
'authz',