All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/qemu: add option to enable tracing (default no)
@ 2023-07-12 22:01 unixmania
  2023-09-02 16:01 ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 2+ messages in thread
From: unixmania @ 2023-07-12 22:01 UTC (permalink / raw)
  To: buildroot; +Cc: Carlos Santos, Romain Naour

From: Carlos Santos <unixmania@gmail.com>

Tracing is a development feature for debugging, profiling, and observing
QEMU execution. It does not make sense to enable it by default, so add a
config to enable the "log" tracing backend (the default one). Options to
select other backends may be added in the future.

Also pull a patch already reviewed upstream to install the trace events
file only if necessary:

    https://patchwork.kernel.org/project/qemu-devel/patch/20230408010410.281263-1-casantos@redhat.com/

Signed-off-by: Carlos Santos <unixmania@gmail.com>
---
 ...-trace-events-file-only-if-necessary.patch | 29 +++++++++++++++++++
 package/qemu/Config.in                        |  9 ++++++
 package/qemu/qemu.mk                          |  6 ++++
 3 files changed, 44 insertions(+)
 create mode 100644 package/qemu/0004-tracing-install-trace-events-file-only-if-necessary.patch

diff --git a/package/qemu/0004-tracing-install-trace-events-file-only-if-necessary.patch b/package/qemu/0004-tracing-install-trace-events-file-only-if-necessary.patch
new file mode 100644
index 0000000000..0db9a6b647
--- /dev/null
+++ b/package/qemu/0004-tracing-install-trace-events-file-only-if-necessary.patch
@@ -0,0 +1,29 @@
+From 5c43da1e4983cc3c209b325a5228b6149e0a0ccf Mon Sep 17 00:00:00 2001
+From: Carlos Santos <casantos@redhat.com>
+Date: Fri, 24 Mar 2023 21:40:22 -0300
+Subject: [PATCH] tracing: install trace events file only if necessary
+
+It is not useful when configuring with --enable-trace-backends=nop.
+
+Signed-off-by: Carlos Santos <casantos@redhat.com>
+Signed-off-by: Carlos Santos <unixmania@gmail.com>
+---
+ trace/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/trace/meson.build b/trace/meson.build
+index 8e80be895c..30b1d942eb 100644
+--- a/trace/meson.build
++++ b/trace/meson.build
+@@ -64,7 +64,7 @@ trace_events_all = custom_target('trace-events-all',
+                                  input: trace_events_files,
+                                  command: [ 'cat', '@INPUT@' ],
+                                  capture: true,
+-                                 install: true,
++                                 install: get_option('trace_backends') != [ 'nop' ],
+                                  install_dir: qemu_datadir)
+ 
+ if 'ust' in get_option('trace_backends')
+-- 
+2.31.1
+
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 6fb34a0dae..8d53ced300 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -106,6 +106,15 @@ config BR2_PACKAGE_QEMU_FDT
 	  Say 'y' here to have QEMU capable of constructing Device
 	  Trees, and passing them to the VMs.
 
+config BR2_PACKAGE_QEMU_TRACING
+	bool "Enable tracing"
+	help
+	  Say 'y' to enable the "log" tracing infrastructure in QEMU,
+	  used for debugging, profiling, and observing execution. For
+	  detailed documentation, see
+
+	  https://www.qemu.org/docs/master/devel/tracing.html
+
 endif # BR2_PACKAGE_QEMU_SYSTEM
 
 comment "systems emulation needs a toolchain w/ dynamic library"
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index c530896fa8..a020dd5226 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -159,6 +159,12 @@ else
 QEMU_OPTS += --disable-fdt
 endif
 
+ifeq ($(BR2_PACKAGE_QEMU_TRACING),y)
+QEMU_OPTS += --enable-trace-backends=log
+else
+QEMU_OPTS += --enable-trace-backends=nop
+endif
+
 ifeq ($(BR2_PACKAGE_QEMU_TOOLS),y)
 QEMU_OPTS += --enable-tools
 else
-- 
2.39.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-09-02 16:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-12 22:01 [Buildroot] [PATCH] package/qemu: add option to enable tracing (default no) unixmania
2023-09-02 16:01 ` Thomas Petazzoni via buildroot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.