From nobody Mon Feb 9 08:57:44 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1485957379051222.65309622267262; Wed, 1 Feb 2017 05:56:19 -0800 (PST) Received: from localhost ([::1]:51105 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cYvOS-0007ih-OP for importer@patchew.org; Wed, 01 Feb 2017 08:56:16 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46480) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cYvDj-0006VK-Vx for qemu-devel@nongnu.org; Wed, 01 Feb 2017 08:45:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cYvDf-0004mf-Mt for qemu-devel@nongnu.org; Wed, 01 Feb 2017 08:45:12 -0500 Received: from mx1.redhat.com ([209.132.183.28]:56722) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cYvDf-0004lH-AU for qemu-devel@nongnu.org; Wed, 01 Feb 2017 08:45:07 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 548D876EE; Wed, 1 Feb 2017 13:45:07 +0000 (UTC) Received: from localhost (ovpn-116-240.ams2.redhat.com [10.36.116.240]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v11Dj5mW026199; Wed, 1 Feb 2017 08:45:06 -0500 From: Stefan Hajnoczi To: Date: Wed, 1 Feb 2017 13:44:49 +0000 Message-Id: <20170201134453.11963-7-stefanha@redhat.com> In-Reply-To: <20170201134453.11963-1-stefanha@redhat.com> References: <20170201134453.11963-1-stefanha@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 01 Feb 2017 13:45:07 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 06/10] trace: switch to modular code generation for sub-directories X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Stefan Hajnoczi Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: "Daniel P. Berrange" Introduce rules in the top level Makefile that are able to generate trace.[ch] files in every subdirectory which has a trace-events file. The top level directory is handled specially, so instead of creating trace.h, it creates trace-root.h. This allows sub-directories to include the top level trace-root.h file, without ambiguity wrt to the trace.g file in the current sub-dir. Reviewed-by: Stefan Hajnoczi Signed-off-by: Daniel P. Berrange Message-id: 20170125161417.31949-7-berrange@redhat.com Signed-off-by: Stefan Hajnoczi --- Makefile | 156 ++++++++++++++++++++++++++= ---- Makefile.objs | 102 ++++++++++--------- Makefile.target | 7 +- tests/Makefile.include | 2 +- trace/Makefile.objs | 94 +----------------- include/exec/cpu_ldst_template.h | 2 +- include/exec/cpu_ldst_useronly_template.h | 2 +- include/hw/xen/xen_common.h | 2 +- include/trace.h | 6 -- aio-posix.c | 2 +- balloon.c | 2 +- block.c | 2 +- blockdev-nbd.c | 1 - blockdev.c | 2 +- blockjob.c | 1 - cpu-exec.c | 2 +- dma-helpers.c | 2 +- exec.c | 2 +- hw/net/fsl_etsec/etsec.c | 1 - ioport.c | 2 +- kvm-all.c | 2 +- memory.c | 2 +- monitor.c | 2 +- qom/cpu.c | 2 +- spice-qemu-char.c | 2 +- thread-pool.c | 2 +- trace/control-target.c | 2 +- trace/control.c | 2 +- trace/ftrace.c | 2 +- trace/simple.c | 1 - translate-all.c | 2 +- vl.c | 2 +- xen-hvm.c | 2 +- xen-mapcache.c | 2 +- .gitignore | 22 +++-- scripts/tracetool.py | 8 +- scripts/tracetool/backend/dtrace.py | 7 +- scripts/tracetool/backend/simple.py | 1 - scripts/tracetool/backend/ust.py | 7 +- scripts/tracetool/format/c.py | 7 +- scripts/tracetool/format/tcg_h.py | 6 +- scripts/tracetool/format/tcg_helper_c.py | 6 +- scripts/tracetool/format/ust_events_c.py | 2 +- scripts/tracetool/format/ust_events_h.py | 7 +- 44 files changed, 283 insertions(+), 209 deletions(-) delete mode 100644 include/trace.h diff --git a/Makefile b/Makefile index 1e5cb19..3ad4bc2 100644 --- a/Makefile +++ b/Makefile @@ -56,25 +56,136 @@ GENERATED_SOURCES +=3D qmp-marshal.c qapi-types.c qapi= -visit.c qapi-event.c GENERATED_HEADERS +=3D qmp-introspect.h GENERATED_SOURCES +=3D qmp-introspect.c =20 -GENERATED_HEADERS +=3D trace/generated-tracers.h -ifeq ($(findstring dtrace,$(TRACE_BACKENDS)),dtrace) -GENERATED_HEADERS +=3D trace/generated-tracers-dtrace.h -endif -GENERATED_SOURCES +=3D trace/generated-tracers.c - GENERATED_HEADERS +=3D trace/generated-tcg-tracers.h =20 GENERATED_HEADERS +=3D trace/generated-helpers-wrappers.h GENERATED_HEADERS +=3D trace/generated-helpers.h GENERATED_SOURCES +=3D trace/generated-helpers.c =20 -ifeq ($(findstring ust,$(TRACE_BACKENDS)),ust) -GENERATED_HEADERS +=3D trace/generated-ust-provider.h -GENERATED_SOURCES +=3D trace/generated-ust.c +ifdef CONFIG_TRACE_UST +GENERATED_HEADERS +=3D trace-ust-all.h +GENERATED_SOURCES +=3D trace-ust-all.c endif =20 GENERATED_HEADERS +=3D module_block.h =20 +TRACE_HEADERS =3D trace-root.h $(trace-events-subdirs:%=3D%/trace.h) +TRACE_SOURCES =3D trace-root.c $(trace-events-subdirs:%=3D%/trace.c) +TRACE_DTRACE =3D +ifdef CONFIG_TRACE_DTRACE +TRACE_HEADERS +=3D trace-dtrace-root.h $(trace-events-subdirs:%=3D%/trace-= dtrace.h) +TRACE_DTRACE +=3D trace-dtrace-root.dtrace $(trace-events-subdirs:%=3D%/tr= ace-dtrace.dtrace) +endif +ifdef CONFIG_TRACE_UST +TRACE_HEADERS +=3D trace-ust-root.h $(trace-events-subdirs:%=3D%/trace-ust= .h) +endif + +GENERATED_HEADERS +=3D $(TRACE_HEADERS) +GENERATED_SOURCES +=3D $(TRACE_SOURCES) + +trace-group-name =3D $(shell dirname $1 | sed -e 's/[^a-zA-Z0-9]/_/g') + +%/trace.h: %/trace.h-timestamp + @cmp $< $@ >/dev/null 2>&1 || cp $< $@ +%/trace.h-timestamp: $(SRC_PATH)/%/trace-events $(tracetool-y) + $(call quiet-command,$(TRACETOOL) \ + --group=3D$(call trace-group-name,$@) \ + --format=3Dh \ + --backends=3D$(TRACE_BACKENDS) \ + $< > $@,"GEN","$(@:%-timestamp=3D%)") + +%/trace.c: %/trace.c-timestamp + @cmp $< $@ >/dev/null 2>&1 || cp $< $@ +%/trace.c-timestamp: $(SRC_PATH)/%/trace-events $(tracetool-y) + $(call quiet-command,$(TRACETOOL) \ + --group=3D$(call trace-group-name,$@) \ + --format=3Dc \ + --backends=3D$(TRACE_BACKENDS) \ + $< > $@,"GEN","$(@:%-timestamp=3D%)") + +%/trace-ust.h: %/trace-ust.h-timestamp + @cmp $< $@ >/dev/null 2>&1 || cp $< $@ +%/trace-ust.h-timestamp: $(SRC_PATH)/%/trace-events $(tracetool-y) + $(call quiet-command,$(TRACETOOL) \ + --group=3D$(call trace-group-name,$@) \ + --format=3Dust-events-h \ + --backends=3D$(TRACE_BACKENDS) \ + $< > $@,"GEN","$(@:%-timestamp=3D%)") + +%/trace-dtrace.dtrace: %/trace-dtrace.dtrace-timestamp + @cmp $< $@ >/dev/null 2>&1 || cp $< $@ +%/trace-dtrace.dtrace-timestamp: $(SRC_PATH)/%/trace-events $(BUILD_DIR)/c= onfig-host.mak $(tracetool-y) + $(call quiet-command,$(TRACETOOL) \ + --group=3D$(call trace-group-name,$@) \ + --format=3Dd \ + --backends=3D$(TRACE_BACKENDS) \ + $< > $@,"GEN","$(@:%-timestamp=3D%)") + +%/trace-dtrace.h: %/trace-dtrace.dtrace $(tracetool-y) + $(call quiet-command,dtrace -o $@ -h -s $<, "GEN","$@") + +%/trace-dtrace.o: %/trace-dtrace.dtrace $(tracetool-y) + + +trace-root.h: trace-root.h-timestamp + @cmp $< $@ >/dev/null 2>&1 || cp $< $@ +trace-root.h-timestamp: $(SRC_PATH)/trace-events $(tracetool-y) + $(call quiet-command,$(TRACETOOL) \ + --group=3Droot \ + --format=3Dh \ + --backends=3D$(TRACE_BACKENDS) \ + $< > $@,"GEN","$(@:%-timestamp=3D%)") + +trace-root.c: trace-root.c-timestamp + @cmp $< $@ >/dev/null 2>&1 || cp $< $@ +trace-root.c-timestamp: $(SRC_PATH)/trace-events $(tracetool-y) + $(call quiet-command,$(TRACETOOL) \ + --group=3Droot \ + --format=3Dc \ + --backends=3D$(TRACE_BACKENDS) \ + $< > $@,"GEN","$(@:%-timestamp=3D%)") + +trace-ust-root.h: trace-ust-root.h-timestamp + @cmp $< $@ >/dev/null 2>&1 || cp $< $@ +trace-ust-root.h-timestamp: $(SRC_PATH)/trace-events $(tracetool-y) + $(call quiet-command,$(TRACETOOL) \ + --group=3Droot \ + --format=3Dust-events-h \ + --backends=3D$(TRACE_BACKENDS) \ + $< > $@,"GEN","$(@:%-timestamp=3D%)") + +trace-ust-all.h: trace-ust-all.h-timestamp + @cmp $< $@ >/dev/null 2>&1 || cp $< $@ +trace-ust-all.h-timestamp: $(trace-events-files) $(tracetool-y) + $(call quiet-command,$(TRACETOOL) \ + --group=3Dall \ + --format=3Dust-events-h \ + --backends=3D$(TRACE_BACKENDS) \ + $(trace-events-files) > $@,"GEN","$(@:%-timestamp=3D%)") + +trace-ust-all.c: trace-ust-all.c-timestamp + @cmp $< $@ >/dev/null 2>&1 || cp $< $@ +trace-ust-all.c-timestamp: $(trace-events-files) $(tracetool-y) + $(call quiet-command,$(TRACETOOL) \ + --group=3Dall \ + --format=3Dust-events-c \ + --backends=3D$(TRACE_BACKENDS) \ + $(trace-events-files) > $@,"GEN","$(@:%-timestamp=3D%)") + +trace-dtrace-root.dtrace: trace-dtrace-root.dtrace-timestamp + @cmp $< $@ >/dev/null 2>&1 || cp $< $@ +trace-dtrace-root.dtrace-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/= config-host.mak $(tracetool-y) + $(call quiet-command,$(TRACETOOL) \ + --group=3Droot \ + --format=3Dd \ + --backends=3D$(TRACE_BACKENDS) \ + $< > $@,"GEN","$(@:%-timestamp=3D%)") + +trace-dtrace-root.h: trace-dtrace-root.dtrace + $(call quiet-command,dtrace -o $@ -h -s $<, "GEN","$@") + +trace-dtrace-root.o: trace-dtrace-root.dtrace + # Don't try to regenerate Makefile or configure # We don't generate any of them Makefile: ; @@ -160,7 +271,8 @@ dummy :=3D $(call unnest-vars,, \ qom-obj-y \ io-obj-y \ common-obj-y \ - common-obj-m) + common-obj-m \ + trace-obj-y) =20 ifneq ($(wildcard config-host.mak),) include $(SRC_PATH)/tests/Makefile.include @@ -223,7 +335,7 @@ subdir-dtc:dtc/libfdt dtc/tests dtc/%: mkdir -p $@ =20 -$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(qom-obj-y) = $(crypto-aes-obj-$(CONFIG_USER_ONLY)) +$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(qom-obj-y) = $(crypto-aes-obj-$(CONFIG_USER_ONLY)) $(trace-obj-y) =20 ROMSUBDIR_RULES=3D$(patsubst %,romsubdir-%, $(ROMS)) # Only keep -O and -g cflags @@ -247,15 +359,17 @@ libqemuutil.a: $(util-obj-y) =20 ###################################################################### =20 +COMMON_LDADDS =3D $(trace-obj-y) libqemuutil.a libqemustub.a + qemu-img.o: qemu-img-cmds.h =20 -qemu-img$(EXESUF): qemu-img.o $(block-obj-y) $(crypto-obj-y) $(io-obj-y) $= (qom-obj-y) libqemuutil.a libqemustub.a -qemu-nbd$(EXESUF): qemu-nbd.o $(block-obj-y) $(crypto-obj-y) $(io-obj-y) $= (qom-obj-y) libqemuutil.a libqemustub.a -qemu-io$(EXESUF): qemu-io.o $(block-obj-y) $(crypto-obj-y) $(io-obj-y) $(q= om-obj-y) libqemuutil.a libqemustub.a +qemu-img$(EXESUF): qemu-img.o $(block-obj-y) $(crypto-obj-y) $(io-obj-y) $= (qom-obj-y) $(COMMON_LDADDS) +qemu-nbd$(EXESUF): qemu-nbd.o $(block-obj-y) $(crypto-obj-y) $(io-obj-y) $= (qom-obj-y) $(COMMON_LDADDS) +qemu-io$(EXESUF): qemu-io.o $(block-obj-y) $(crypto-obj-y) $(io-obj-y) $(q= om-obj-y) $(COMMON_LDADDS) =20 -qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o libqemuutil.a libqemustu= b.a +qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o $(COMMON_LDADDS) =20 -fsdev/virtfs-proxy-helper$(EXESUF): fsdev/virtfs-proxy-helper.o fsdev/9p-m= arshal.o fsdev/9p-iov-marshal.o libqemuutil.a libqemustub.a +fsdev/virtfs-proxy-helper$(EXESUF): fsdev/virtfs-proxy-helper.o fsdev/9p-m= arshal.o fsdev/9p-iov-marshal.o $(COMMON_LDADDS) fsdev/virtfs-proxy-helper$(EXESUF): LIBS +=3D -lcap =20 qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx $(SRC_PATH)/scripts/hxtool @@ -320,7 +434,7 @@ $(qapi-modules) $(SRC_PATH)/scripts/qapi-introspect.py = $(qapi-py) QGALIB_GEN=3D$(addprefix qga/qapi-generated/, qga-qapi-types.h qga-qapi-vi= sit.h qga-qmp-commands.h) $(qga-obj-y) qemu-ga.o: $(QGALIB_GEN) =20 -qemu-ga$(EXESUF): $(qga-obj-y) libqemuutil.a libqemustub.a +qemu-ga$(EXESUF): $(qga-obj-y) $(COMMON_LDADDS) $(call LINK, $^) =20 ifdef QEMU_GA_MSI_ENABLED @@ -345,9 +459,9 @@ ifneq ($(EXESUF),) qemu-ga: qemu-ga$(EXESUF) $(QGA_VSS_PROVIDER) $(QEMU_GA_MSI) endif =20 -ivshmem-client$(EXESUF): $(ivshmem-client-obj-y) libqemuutil.a libqemustub= .a +ivshmem-client$(EXESUF): $(ivshmem-client-obj-y) $(COMMON_LDADDS) $(call LINK, $^) -ivshmem-server$(EXESUF): $(ivshmem-server-obj-y) libqemuutil.a libqemustub= .a +ivshmem-server$(EXESUF): $(ivshmem-server-obj-y) $(COMMON_LDADDS) $(call LINK, $^) =20 module_block.h: $(SRC_PATH)/scripts/modules/module_block.py config-host.mak @@ -664,6 +778,10 @@ ifneq ($(filter-out $(UNCHECKED_GOALS),$(MAKECMDGOALS)= ),$(if $(MAKECMDGOALS),,fa Makefile: $(GENERATED_HEADERS) endif =20 +.SECONDARY: $(TRACE_HEADERS) $(TRACE_HEADERS:%=3D%-timestamp) \ + $(TRACE_SOURCES) $(TRACE_SOURCES:%=3D%-timestamp) \ + $(TRACE_DTRACE) $(TRACE_DTRACE:%=3D%-timestamp) + # Include automatically generated dependency files # Dependencies in Makefile.objs files come from our recursive subdir rules -include $(wildcard *.d tests/*.d) diff --git a/Makefile.objs b/Makefile.objs index 6abe0b9..cf2f387 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -118,50 +118,58 @@ ivshmem-server-obj-y =3D contrib/ivshmem-server/ libvhost-user-obj-y =3D contrib/libvhost-user/ =20 ###################################################################### -trace-events-y =3D trace-events -trace-events-y +=3D util/trace-events -trace-events-y +=3D crypto/trace-events -trace-events-y +=3D io/trace-events -trace-events-y +=3D migration/trace-events -trace-events-y +=3D block/trace-events -trace-events-y +=3D hw/block/trace-events -trace-events-y +=3D hw/block/dataplane/trace-events -trace-events-y +=3D hw/char/trace-events -trace-events-y +=3D hw/intc/trace-events -trace-events-y +=3D hw/net/trace-events -trace-events-y +=3D hw/virtio/trace-events -trace-events-y +=3D hw/audio/trace-events -trace-events-y +=3D hw/misc/trace-events -trace-events-y +=3D hw/usb/trace-events -trace-events-y +=3D hw/scsi/trace-events -trace-events-y +=3D hw/nvram/trace-events -trace-events-y +=3D hw/display/trace-events -trace-events-y +=3D hw/input/trace-events -trace-events-y +=3D hw/timer/trace-events -trace-events-y +=3D hw/dma/trace-events -trace-events-y +=3D hw/sparc/trace-events -trace-events-y +=3D hw/sd/trace-events -trace-events-y +=3D hw/isa/trace-events -trace-events-y +=3D hw/mem/trace-events -trace-events-y +=3D hw/i386/trace-events -trace-events-y +=3D hw/i386/xen/trace-events -trace-events-y +=3D hw/9pfs/trace-events -trace-events-y +=3D hw/ppc/trace-events -trace-events-y +=3D hw/pci/trace-events -trace-events-y +=3D hw/s390x/trace-events -trace-events-y +=3D hw/vfio/trace-events -trace-events-y +=3D hw/acpi/trace-events -trace-events-y +=3D hw/arm/trace-events -trace-events-y +=3D hw/alpha/trace-events -trace-events-y +=3D hw/xen/trace-events -trace-events-y +=3D ui/trace-events -trace-events-y +=3D audio/trace-events -trace-events-y +=3D net/trace-events -trace-events-y +=3D target/arm/trace-events -trace-events-y +=3D target/i386/trace-events -trace-events-y +=3D target/sparc/trace-events -trace-events-y +=3D target/s390x/trace-events -trace-events-y +=3D target/ppc/trace-events -trace-events-y +=3D qom/trace-events -trace-events-y +=3D linux-user/trace-events -trace-events-y +=3D qapi/trace-events +trace-events-subdirs =3D +trace-events-subdirs +=3D util +trace-events-subdirs +=3D crypto +trace-events-subdirs +=3D io +trace-events-subdirs +=3D migration +trace-events-subdirs +=3D block +trace-events-subdirs +=3D hw/block +trace-events-subdirs +=3D hw/block/dataplane +trace-events-subdirs +=3D hw/char +trace-events-subdirs +=3D hw/intc +trace-events-subdirs +=3D hw/net +trace-events-subdirs +=3D hw/virtio +trace-events-subdirs +=3D hw/audio +trace-events-subdirs +=3D hw/misc +trace-events-subdirs +=3D hw/usb +trace-events-subdirs +=3D hw/scsi +trace-events-subdirs +=3D hw/nvram +trace-events-subdirs +=3D hw/display +trace-events-subdirs +=3D hw/input +trace-events-subdirs +=3D hw/timer +trace-events-subdirs +=3D hw/dma +trace-events-subdirs +=3D hw/sparc +trace-events-subdirs +=3D hw/sd +trace-events-subdirs +=3D hw/isa +trace-events-subdirs +=3D hw/mem +trace-events-subdirs +=3D hw/i386 +trace-events-subdirs +=3D hw/i386/xen +trace-events-subdirs +=3D hw/9pfs +trace-events-subdirs +=3D hw/ppc +trace-events-subdirs +=3D hw/pci +trace-events-subdirs +=3D hw/s390x +trace-events-subdirs +=3D hw/vfio +trace-events-subdirs +=3D hw/acpi +trace-events-subdirs +=3D hw/arm +trace-events-subdirs +=3D hw/alpha +trace-events-subdirs +=3D hw/xen +trace-events-subdirs +=3D ui +trace-events-subdirs +=3D audio +trace-events-subdirs +=3D net +trace-events-subdirs +=3D target/arm +trace-events-subdirs +=3D target/i386 +trace-events-subdirs +=3D target/sparc +trace-events-subdirs +=3D target/s390x +trace-events-subdirs +=3D target/ppc +trace-events-subdirs +=3D qom +trace-events-subdirs +=3D linux-user +trace-events-subdirs +=3D qapi + +trace-events-files =3D $(SRC_PATH)/trace-events $(trace-events-subdirs:%= =3D$(SRC_PATH)/%/trace-events) + +trace-obj-y =3D trace-root.o +trace-obj-y +=3D $(trace-events-subdirs:%=3D%/trace.o) +trace-obj-$(CONFIG_TRACE_UST) +=3D trace-ust-all.o +trace-obj-$(CONFIG_TRACE_DTRACE) +=3D trace-dtrace-root.o +trace-obj-$(CONFIG_TRACE_DTRACE) +=3D $(trace-events-subdirs:%=3D%/trace-d= trace.o) diff --git a/Makefile.target b/Makefile.target index fa6ae0c..9f2af5b 100644 --- a/Makefile.target +++ b/Makefile.target @@ -186,7 +186,8 @@ dummy :=3D $(call unnest-vars,.., \ qom-obj-y \ io-obj-y \ common-obj-y \ - common-obj-m) + common-obj-m \ + trace-obj-y) target-obj-y :=3D $(target-obj-y-save) all-obj-y +=3D $(common-obj-y) all-obj-y +=3D $(target-obj-y) @@ -198,8 +199,10 @@ all-obj-$(CONFIG_SOFTMMU) +=3D $(io-obj-y) =20 $(QEMU_PROG_BUILD): config-devices.mak =20 +COMMON_LDADDS =3D $(trace-obj-y) ../libqemuutil.a ../libqemustub.a + # build either PROG or PROGW -$(QEMU_PROG_BUILD): $(all-obj-y) ../libqemuutil.a ../libqemustub.a +$(QEMU_PROG_BUILD): $(all-obj-y) $(COMMON_LDADDS) $(call LINK, $(filter-out %.mak, $^)) ifdef CONFIG_DARWIN $(call quiet-command,Rez -append $(SRC_PATH)/pc-bios/qemu.rsrc -o $@,"REZ= ","$(TARGET_DIR)$@") diff --git a/tests/Makefile.include b/tests/Makefile.include index 33b4f88..4447bf3 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -491,7 +491,7 @@ QEMU_CFLAGS +=3D -I$(SRC_PATH)/tests =20 =20 # Deps that are common to various different sets of tests below -test-util-obj-y =3D libqemuutil.a libqemustub.a +test-util-obj-y =3D $(trace-obj-y) libqemuutil.a libqemustub.a test-qom-obj-y =3D $(qom-obj-y) $(test-util-obj-y) test-qapi-obj-y =3D tests/test-qapi-visit.o tests/test-qapi-types.o \ tests/test-qapi-event.o tests/test-qmp-introspect.o \ diff --git a/trace/Makefile.objs b/trace/Makefile.objs index d3b47da..7de840a 100644 --- a/trace/Makefile.objs +++ b/trace/Makefile.objs @@ -8,98 +8,16 @@ tracetool-y =3D $(SRC_PATH)/scripts/tracetool.py tracetool-y +=3D $(shell find $(SRC_PATH)/scripts/tracetool -name "*.py") =20 -$(BUILD_DIR)/trace-events-all: $(trace-events-y:%=3D$(SRC_PATH)/%) +$(BUILD_DIR)/trace-events-all: $(trace-events-files) $(call quiet-command,cat $^ > $@) =20 -###################################################################### -# Auto-generated event descriptions for LTTng ust code - -ifeq ($(findstring ust,$(TRACE_BACKENDS)),ust) - -$(obj)/generated-ust-provider.h: $(obj)/generated-ust-provider.h-timestamp - @cmp $< $@ >/dev/null 2>&1 || cp $< $@ -$(obj)/generated-ust-provider.h-timestamp: $(BUILD_DIR)/trace-events-all $= (tracetool-y) - $(call quiet-command,$(TRACETOOL) \ - --group=3Dall \ - --format=3Dust-events-h \ - --backends=3D$(TRACE_BACKENDS) \ - $< > $@,"GEN","$(patsubst %-timestamp,%,$@)") - -$(obj)/generated-ust.c: $(obj)/generated-ust.c-timestamp $(BUILD_DIR)/conf= ig-host.mak - @cmp $< $@ >/dev/null 2>&1 || cp $< $@ -$(obj)/generated-ust.c-timestamp: $(BUILD_DIR)/trace-events-all $(tracetoo= l-y) - $(call quiet-command,$(TRACETOOL) \ - --group=3Dall \ - --format=3Dust-events-c \ - --backends=3D$(TRACE_BACKENDS) \ - $< > $@,"GEN","$(patsubst %-timestamp,%,$@)") - -$(obj)/generated-tracers.h: $(obj)/generated-ust-provider.h -$(obj)/generated-tracers.c: $(obj)/generated-ust.c - -endif - - -###################################################################### -# Auto-generated tracing routines - -################################################## -# Execution level - -$(obj)/generated-tracers.h: $(obj)/generated-tracers.h-timestamp - @cmp -s $< $@ || cp $< $@ -$(obj)/generated-tracers.h-timestamp: $(BUILD_DIR)/trace-events-all $(BUIL= D_DIR)/config-host.mak $(tracetool-y) - $(call quiet-command,$(TRACETOOL) \ - --group=3Dall \ - --format=3Dh \ - --backends=3D$(TRACE_BACKENDS) \ - $< > $@,"GEN","$(patsubst %-timestamp,%,$@)") - -############################## -# non-DTrace - -$(obj)/generated-tracers.c: $(obj)/generated-tracers.c-timestamp - @cmp -s $< $@ || cp $< $@ -$(obj)/generated-tracers.c-timestamp: $(BUILD_DIR)/trace-events-all $(BUIL= D_DIR)/config-host.mak $(tracetool-y) - $(call quiet-command,$(TRACETOOL) \ - --group=3Dall \ - --format=3Dc \ - --backends=3D$(TRACE_BACKENDS) \ - $< > $@,"GEN","$(patsubst %-timestamp,%,$@)") - -$(obj)/generated-tracers.o: $(obj)/generated-tracers.c $(obj)/generated-tr= acers.h - -############################## -# DTrace - -# Normal practice is to name DTrace probe file with a '.d' extension -# but that gets picked up by QEMU's Makefile as an external dependency -# rule file. So we use '.dtrace' instead -ifeq ($(findstring dtrace,$(TRACE_BACKENDS)),dtrace) - -$(obj)/generated-tracers-dtrace.dtrace: $(obj)/generated-tracers-dtrace.dt= race-timestamp - @cmp $< $@ >/dev/null 2>&1 || cp $< $@ -$(obj)/generated-tracers-dtrace.dtrace-timestamp: $(BUILD_DIR)/trace-event= s-all $(BUILD_DIR)/config-host.mak $(tracetool-y) - $(call quiet-command,$(TRACETOOL) \ - --group=3Dall \ - --format=3Dd \ - --backends=3D$(TRACE_BACKENDS) \ - $< > $@,"GEN","$(patsubst %-timestamp,%,$@)") - -$(obj)/generated-tracers-dtrace.h: $(obj)/generated-tracers-dtrace.dtrace - $(call quiet-command,dtrace -o $@ -h -s $<,"GEN","$@") - -$(obj)/generated-tracers-dtrace.o: $(obj)/generated-tracers-dtrace.dtrace - -util-obj-y +=3D generated-tracers-dtrace.o -endif =20 ################################################## # Translation level =20 $(obj)/generated-helpers-wrappers.h: $(obj)/generated-helpers-wrappers.h-t= imestamp @cmp $< $@ >/dev/null 2>&1 || cp $< $@ -$(obj)/generated-helpers-wrappers.h-timestamp: $(BUILD_DIR)/trace-events-a= ll $(BUILD_DIR)/config-host.mak $(tracetool-y) +$(obj)/generated-helpers-wrappers.h-timestamp: $(trace-events-files) $(BUI= LD_DIR)/config-host.mak $(tracetool-y) $(call quiet-command,$(TRACETOOL) \ --group=3Dall \ --format=3Dtcg-helper-wrapper-h \ @@ -108,7 +26,7 @@ $(obj)/generated-helpers-wrappers.h-timestamp: $(BUILD_D= IR)/trace-events-all $(B =20 $(obj)/generated-helpers.h: $(obj)/generated-helpers.h-timestamp @cmp $< $@ >/dev/null 2>&1 || cp $< $@ -$(obj)/generated-helpers.h-timestamp: $(BUILD_DIR)/trace-events-all $(BUIL= D_DIR)/config-host.mak $(tracetool-y) +$(obj)/generated-helpers.h-timestamp: $(trace-events-files) $(BUILD_DIR)/c= onfig-host.mak $(tracetool-y) $(call quiet-command,$(TRACETOOL) \ --group=3Dall \ --format=3Dtcg-helper-h \ @@ -117,7 +35,7 @@ $(obj)/generated-helpers.h-timestamp: $(BUILD_DIR)/trace= -events-all $(BUILD_DIR) =20 $(obj)/generated-helpers.c: $(obj)/generated-helpers.c-timestamp @cmp $< $@ >/dev/null 2>&1 || cp $< $@ -$(obj)/generated-helpers.c-timestamp: $(BUILD_DIR)/trace-events-all $(BUIL= D_DIR)/config-host.mak $(tracetool-y) +$(obj)/generated-helpers.c-timestamp: $(trace-events-files) $(BUILD_DIR)/c= onfig-host.mak $(tracetool-y) $(call quiet-command,$(TRACETOOL) \ --group=3Dall \ --format=3Dtcg-helper-c \ @@ -131,7 +49,7 @@ target-obj-y +=3D generated-helpers.o =20 $(obj)/generated-tcg-tracers.h: $(obj)/generated-tcg-tracers.h-timestamp @cmp $< $@ >/dev/null 2>&1 || cp $< $@ -$(obj)/generated-tcg-tracers.h-timestamp: $(BUILD_DIR)/trace-events-all $(= BUILD_DIR)/config-host.mak $(tracetool-y) +$(obj)/generated-tcg-tracers.h-timestamp: $(trace-events-files) $(BUILD_DI= R)/config-host.mak $(tracetool-y) $(call quiet-command,$(TRACETOOL) \ --group=3Dall \ --format=3Dtcg-h \ @@ -142,10 +60,8 @@ $(obj)/generated-tcg-tracers.h-timestamp: $(BUILD_DIR)/= trace-events-all $(BUILD_ ###################################################################### # Backend code =20 -util-obj-y +=3D generated-tracers.o util-obj-$(CONFIG_TRACE_SIMPLE) +=3D simple.o util-obj-$(CONFIG_TRACE_FTRACE) +=3D ftrace.o -util-obj-$(CONFIG_TRACE_UST) +=3D generated-ust.o util-obj-y +=3D control.o target-obj-y +=3D control-target.o util-obj-y +=3D qmp.o diff --git a/include/exec/cpu_ldst_template.h b/include/exec/cpu_ldst_templ= ate.h index eaf69a1..4db2302 100644 --- a/include/exec/cpu_ldst_template.h +++ b/include/exec/cpu_ldst_template.h @@ -25,7 +25,7 @@ */ =20 #if !defined(SOFTMMU_CODE_ACCESS) -#include "trace.h" +#include "trace-root.h" #endif =20 #include "trace/mem.h" diff --git a/include/exec/cpu_ldst_useronly_template.h b/include/exec/cpu_l= dst_useronly_template.h index b1378bf..7b8c7c5 100644 --- a/include/exec/cpu_ldst_useronly_template.h +++ b/include/exec/cpu_ldst_useronly_template.h @@ -24,7 +24,7 @@ */ =20 #if !defined(CODE_ACCESS) -#include "trace.h" +#include "trace-root.h" #endif =20 #include "trace/mem.h" diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h index 8e1580d..dce76ee 100644 --- a/include/hw/xen/xen_common.h +++ b/include/hw/xen/xen_common.h @@ -18,7 +18,7 @@ #include "hw/xen/xen.h" #include "hw/pci/pci.h" #include "qemu/queue.h" -#include "trace.h" +#include "hw/xen/trace.h" =20 /* * We don't support Xen prior to 4.2.0. diff --git a/include/trace.h b/include/trace.h deleted file mode 100644 index ac9ff3d..0000000 --- a/include/trace.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef TRACE_H -#define TRACE_H - -#include "trace/generated-tracers.h" - -#endif /* TRACE_H */ diff --git a/aio-posix.c b/aio-posix.c index a8d7090..577527f 100644 --- a/aio-posix.c +++ b/aio-posix.c @@ -19,7 +19,7 @@ #include "qemu/rcu_queue.h" #include "qemu/sockets.h" #include "qemu/cutils.h" -#include "trace.h" +#include "trace-root.h" #ifdef CONFIG_EPOLL_CREATE1 #include #endif diff --git a/balloon.c b/balloon.c index f2ef50c..1d720ff 100644 --- a/balloon.c +++ b/balloon.c @@ -29,7 +29,7 @@ #include "exec/cpu-common.h" #include "sysemu/kvm.h" #include "sysemu/balloon.h" -#include "trace.h" +#include "trace-root.h" #include "qmp-commands.h" #include "qapi/qmp/qerror.h" #include "qapi/qmp/qjson.h" diff --git a/block.c b/block.c index a0346c8..1dbc060 100644 --- a/block.c +++ b/block.c @@ -22,7 +22,7 @@ * THE SOFTWARE. */ #include "qemu/osdep.h" -#include "trace.h" +#include "block/trace.h" #include "block/block_int.h" #include "block/blockjob.h" #include "block/nbd.h" diff --git a/blockdev-nbd.c b/blockdev-nbd.c index 81bca17..7ea836b 100644 --- a/blockdev-nbd.c +++ b/blockdev-nbd.c @@ -16,7 +16,6 @@ #include "qapi/qmp/qerror.h" #include "sysemu/sysemu.h" #include "qmp-commands.h" -#include "trace.h" #include "block/nbd.h" #include "io/channel-socket.h" =20 diff --git a/blockdev.c b/blockdev.c index 245e1e1..db82ac9 100644 --- a/blockdev.c +++ b/blockdev.c @@ -48,7 +48,7 @@ #include "sysemu/sysemu.h" #include "block/block_int.h" #include "qmp-commands.h" -#include "trace.h" +#include "block/trace.h" #include "sysemu/arch_init.h" #include "qemu/cutils.h" #include "qemu/help_option.h" diff --git a/blockjob.c b/blockjob.c index 513620c..abee11b 100644 --- a/blockjob.c +++ b/blockjob.c @@ -25,7 +25,6 @@ =20 #include "qemu/osdep.h" #include "qemu-common.h" -#include "trace.h" #include "block/block.h" #include "block/blockjob_int.h" #include "block/block_int.h" diff --git a/cpu-exec.c b/cpu-exec.c index fa08c73..57583f1 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -18,7 +18,7 @@ */ #include "qemu/osdep.h" #include "cpu.h" -#include "trace.h" +#include "trace-root.h" #include "disas/disas.h" #include "exec/exec-all.h" #include "tcg.h" diff --git a/dma-helpers.c b/dma-helpers.c index 6f9d47c..97157cc 100644 --- a/dma-helpers.c +++ b/dma-helpers.c @@ -10,7 +10,7 @@ #include "qemu/osdep.h" #include "sysemu/block-backend.h" #include "sysemu/dma.h" -#include "trace.h" +#include "trace-root.h" #include "qemu/thread.h" #include "qemu/main-loop.h" =20 diff --git a/exec.c b/exec.c index b05c5d2..8b9ed73 100644 --- a/exec.c +++ b/exec.c @@ -44,7 +44,7 @@ #include "sysemu/dma.h" #include "exec/address-spaces.h" #include "sysemu/xen-mapcache.h" -#include "trace.h" +#include "trace-root.h" #endif #include "exec/cpu-all.h" #include "qemu/rcu_queue.h" diff --git a/hw/net/fsl_etsec/etsec.c b/hw/net/fsl_etsec/etsec.c index fadf9c8..aa2b0d5 100644 --- a/hw/net/fsl_etsec/etsec.c +++ b/hw/net/fsl_etsec/etsec.c @@ -29,7 +29,6 @@ #include "qemu/osdep.h" #include "sysemu/sysemu.h" #include "hw/sysbus.h" -#include "trace.h" #include "hw/ptimer.h" #include "etsec.h" #include "registers.h" diff --git a/ioport.c b/ioport.c index 94e08ab..1a65add 100644 --- a/ioport.c +++ b/ioport.c @@ -29,7 +29,7 @@ #include "qemu-common.h" #include "cpu.h" #include "exec/ioport.h" -#include "trace.h" +#include "trace-root.h" #include "exec/memory.h" #include "exec/address-spaces.h" =20 diff --git a/kvm-all.c b/kvm-all.c index 330219e..a27c880 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -34,7 +34,7 @@ #include "exec/ram_addr.h" #include "exec/address-spaces.h" #include "qemu/event_notifier.h" -#include "trace.h" +#include "trace-root.h" #include "hw/irq.h" =20 #include "hw/boards.h" diff --git a/memory.c b/memory.c index 6498727..6c58373 100644 --- a/memory.c +++ b/memory.c @@ -24,7 +24,7 @@ #include "qemu/bitops.h" #include "qemu/error-report.h" #include "qom/object.h" -#include "trace.h" +#include "trace-root.h" =20 #include "exec/memory-internal.h" #include "exec/ram_addr.h" diff --git a/monitor.c b/monitor.c index 25a480a..23c24c9 100644 --- a/monitor.c +++ b/monitor.c @@ -59,7 +59,7 @@ #include "qapi/qmp/json-streamer.h" #include "qapi/qmp/json-parser.h" #include "qom/object_interfaces.h" -#include "trace.h" +#include "trace-root.h" #include "trace/control.h" #include "monitor/hmp-target.h" #ifdef CONFIG_TRACE_SIMPLE diff --git a/qom/cpu.c b/qom/cpu.c index e815db7..d57faf3 100644 --- a/qom/cpu.c +++ b/qom/cpu.c @@ -29,7 +29,7 @@ #include "qemu/error-report.h" #include "sysemu/sysemu.h" #include "hw/qdev-properties.h" -#include "trace.h" +#include "trace-root.h" =20 bool cpu_exists(int64_t id) { diff --git a/spice-qemu-char.c b/spice-qemu-char.c index dd97c17..3bdadfc 100644 --- a/spice-qemu-char.c +++ b/spice-qemu-char.c @@ -1,5 +1,5 @@ #include "qemu/osdep.h" -#include "trace.h" +#include "trace-root.h" #include "ui/qemu-spice.h" #include "sysemu/char.h" #include "qemu/error-report.h" diff --git a/thread-pool.c b/thread-pool.c index 6fba913..3847969 100644 --- a/thread-pool.c +++ b/thread-pool.c @@ -19,7 +19,7 @@ #include "qemu/queue.h" #include "qemu/thread.h" #include "qemu/coroutine.h" -#include "trace.h" +#include "trace-root.h" #include "block/thread-pool.h" #include "qemu/main-loop.h" =20 diff --git a/trace/control-target.c b/trace/control-target.c index e2e138a..6266e63 100644 --- a/trace/control-target.c +++ b/trace/control-target.c @@ -9,7 +9,7 @@ =20 #include "qemu/osdep.h" #include "cpu.h" -#include "trace.h" +#include "trace-root.h" #include "trace/control.h" #include "translate-all.h" =20 diff --git a/trace/control.c b/trace/control.c index 56a2632..9b157b0 100644 --- a/trace/control.c +++ b/trace/control.c @@ -26,7 +26,7 @@ #include "qemu/error-report.h" #include "qemu/config-file.h" #include "monitor/monitor.h" -#include "trace.h" +#include "trace-root.h" =20 int trace_events_enabled_count; =20 diff --git a/trace/ftrace.c b/trace/ftrace.c index 3588bb0..7de104d 100644 --- a/trace/ftrace.c +++ b/trace/ftrace.c @@ -10,8 +10,8 @@ */ =20 #include "qemu/osdep.h" -#include "trace.h" #include "trace/control.h" +#include "trace/ftrace.h" =20 int trace_marker_fd; =20 diff --git a/trace/simple.c b/trace/simple.c index b263622..a221a3f 100644 --- a/trace/simple.c +++ b/trace/simple.c @@ -13,7 +13,6 @@ #include #endif #include "qemu/timer.h" -#include "trace.h" #include "trace/control.h" #include "trace/simple.h" =20 diff --git a/translate-all.c b/translate-all.c index 6d2fcab..5f44ec8 100644 --- a/translate-all.c +++ b/translate-all.c @@ -25,7 +25,7 @@ #include "qemu-common.h" #define NO_CPU_IO_DEFS #include "cpu.h" -#include "trace.h" +#include "trace-root.h" #include "disas/disas.h" #include "exec/exec-all.h" #include "tcg.h" diff --git a/vl.c b/vl.c index 0b72b12..b4eaf03 100644 --- a/vl.c +++ b/vl.c @@ -110,7 +110,7 @@ int main(int argc, char **argv) =20 #include "slirp/libslirp.h" =20 -#include "trace.h" +#include "trace-root.h" #include "trace/control.h" #include "qemu/queue.h" #include "sysemu/arch_init.h" diff --git a/xen-hvm.c b/xen-hvm.c index 0892361..5043beb 100644 --- a/xen-hvm.c +++ b/xen-hvm.c @@ -22,7 +22,7 @@ #include "qemu/error-report.h" #include "qemu/range.h" #include "sysemu/xen-mapcache.h" -#include "trace.h" +#include "trace-root.h" #include "exec/address-spaces.h" =20 #include diff --git a/xen-mapcache.c b/xen-mapcache.c index 31debdf..1a96d2e 100644 --- a/xen-mapcache.c +++ b/xen-mapcache.c @@ -19,7 +19,7 @@ #include =20 #include "sysemu/xen-mapcache.h" -#include "trace.h" +#include "trace-root.h" =20 =20 //#define MAPCACHE_DEBUG diff --git a/.gitignore b/.gitignore index 78f180a..c563dc1 100644 --- a/.gitignore +++ b/.gitignore @@ -6,18 +6,12 @@ /config.status /config-temp /trace-events-all -/trace/generated-tracers.h -/trace/generated-tracers.c -/trace/generated-tracers-dtrace.h -/trace/generated-tracers.dtrace /trace/generated-events.h /trace/generated-events.c /trace/generated-helpers-wrappers.h /trace/generated-helpers.h /trace/generated-helpers.c /trace/generated-tcg-tracers.h -/trace/generated-ust-provider.h -/trace/generated-ust.c /ui/shader/texture-blit-frag.h /ui/shader/texture-blit-vert.h *-timestamp @@ -120,3 +114,19 @@ tags TAGS docker-src.* *~ +trace.h +trace.c +trace-ust.h +trace-ust.h +trace-dtrace.h +trace-dtrace.dtrace +trace-root.h +trace-root.c +trace-ust-root.h +trace-ust-root.h +trace-ust-all.h +trace-ust-all.c +trace-dtrace-root.h +trace-dtrace-root.dtrace +trace-ust-all.h +trace-ust-all.c diff --git a/scripts/tracetool.py b/scripts/tracetool.py index 0c9d992..c55a215 100755 --- a/scripts/tracetool.py +++ b/scripts/tracetool.py @@ -137,10 +137,12 @@ def main(args): if probe_prefix is None: probe_prefix =3D ".".join(["qemu", target_type, target_name]) =20 - if len(args) !=3D 1: + if len(args) < 1: error_opt("missing trace-events filepath") - with open(args[0], "r") as fh: - events =3D tracetool.read_events(fh) + events =3D [] + for arg in args: + with open(arg, "r") as fh: + events.extend(tracetool.read_events(fh)) =20 try: tracetool.generate(events, arg_group, arg_format, arg_backends, diff --git a/scripts/tracetool/backend/dtrace.py b/scripts/tracetool/backen= d/dtrace.py index 79505c6..c469cbd 100644 --- a/scripts/tracetool/backend/dtrace.py +++ b/scripts/tracetool/backend/dtrace.py @@ -36,7 +36,12 @@ def binary(): =20 =20 def generate_h_begin(events, group): - out('#include "trace/generated-tracers-dtrace.h"', + if group =3D=3D "root": + header =3D "trace-dtrace-root.h" + else: + header =3D "trace-dtrace.h" + + out('#include "%s"' % header, '') =20 =20 diff --git a/scripts/tracetool/backend/simple.py b/scripts/tracetool/backen= d/simple.py index 85f6102..4acc06e 100644 --- a/scripts/tracetool/backend/simple.py +++ b/scripts/tracetool/backend/simple.py @@ -44,7 +44,6 @@ def generate_h(event, group): =20 def generate_c_begin(events, group): out('#include "qemu/osdep.h"', - '#include "trace.h"', '#include "trace/control.h"', '#include "trace/simple.h"', '') diff --git a/scripts/tracetool/backend/ust.py b/scripts/tracetool/backend/u= st.py index 4594db6..52ce892 100644 --- a/scripts/tracetool/backend/ust.py +++ b/scripts/tracetool/backend/ust.py @@ -20,8 +20,13 @@ PUBLIC =3D True =20 =20 def generate_h_begin(events, group): + if group =3D=3D "root": + header =3D "trace-ust-root.h" + else: + header =3D "trace-ust.h" + out('#include ', - '#include "trace/generated-ust-provider.h"', + '#include "%s"' % header, '') =20 =20 diff --git a/scripts/tracetool/format/c.py b/scripts/tracetool/format/c.py index 47115ed..833c05a 100644 --- a/scripts/tracetool/format/c.py +++ b/scripts/tracetool/format/c.py @@ -20,10 +20,15 @@ def generate(events, backend, group): active_events =3D [e for e in events if "disable" not in e.properties] =20 + if group =3D=3D "root": + header =3D "trace-root.h" + else: + header =3D "trace.h" + out('/* This file is autogenerated by tracetool, do not edit. */', '', '#include "qemu/osdep.h"', - '#include "trace.h"', + '#include "%s"' % header, '') =20 for e in events: diff --git a/scripts/tracetool/format/tcg_h.py b/scripts/tracetool/format/t= cg_h.py index 5f213f6..7ddc4a5 100644 --- a/scripts/tracetool/format/tcg_h.py +++ b/scripts/tracetool/format/tcg_h.py @@ -28,13 +28,17 @@ def vcpu_transform_args(args): =20 =20 def generate(events, backend, group): + if group =3D=3D "root": + header =3D "trace-root.h" + else: + header =3D "trace.h" + out('/* This file is autogenerated by tracetool, do not edit. */', '/* You must include this file after the inclusion of helper.h */', '', '#ifndef TRACE_%s_GENERATED_TCG_TRACERS_H' % group.upper(), '#define TRACE_%s_GENERATED_TCG_TRACERS_H' % group.upper(), '', - '#include "trace.h"', '#include "exec/helper-proto.h"', '', ) diff --git a/scripts/tracetool/format/tcg_helper_c.py b/scripts/tracetool/f= ormat/tcg_helper_c.py index cc26e03..7dccd8c 100644 --- a/scripts/tracetool/format/tcg_helper_c.py +++ b/scripts/tracetool/format/tcg_helper_c.py @@ -41,6 +41,11 @@ def vcpu_transform_args(args, mode): =20 =20 def generate(events, backend, group): + if group =3D=3D "root": + header =3D "trace-root.h" + else: + header =3D "trace.h" + events =3D [e for e in events if "disable" not in e.properties] =20 @@ -49,7 +54,6 @@ def generate(events, backend, group): '#include "qemu/osdep.h"', '#include "qemu-common.h"', '#include "cpu.h"', - '#include "trace.h"', '#include "exec/helper-proto.h"', '', ) diff --git a/scripts/tracetool/format/ust_events_c.py b/scripts/tracetool/f= ormat/ust_events_c.py index cd87d8a..264784c 100644 --- a/scripts/tracetool/format/ust_events_c.py +++ b/scripts/tracetool/format/ust_events_c.py @@ -32,4 +32,4 @@ def generate(events, backend, group): ' */', '#pragma GCC diagnostic ignored "-Wredundant-decls"', '', - '#include "generated-ust-provider.h"') + '#include "trace-ust-all.h"') diff --git a/scripts/tracetool/format/ust_events_h.py b/scripts/tracetool/f= ormat/ust_events_h.py index d853155..514294c 100644 --- a/scripts/tracetool/format/ust_events_h.py +++ b/scripts/tracetool/format/ust_events_h.py @@ -20,13 +20,18 @@ def generate(events, backend, group): events =3D [e for e in events if "disabled" not in e.properties] =20 + if group =3D=3D "all": + include =3D "trace-ust-all.h" + else: + include =3D "trace-ust.h" + out('/* This file is autogenerated by tracetool, do not edit. */', '', '#undef TRACEPOINT_PROVIDER', '#define TRACEPOINT_PROVIDER qemu', '', '#undef TRACEPOINT_INCLUDE_FILE', - '#define TRACEPOINT_INCLUDE_FILE ./generated-ust-provider.h', + '#define TRACEPOINT_INCLUDE_FILE ./%s' % include, '', '#if !defined (TRACE_%s_GENERATED_UST_H) || \\' % group.upper(), ' defined(TRACEPOINT_HEADER_MULTI_READ)', --=20 2.9.3