From 64552b6be4758d3a774f7787b294543ccebd5358 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Mon, 12 Aug 2019 07:23:42 +0200 Subject: Include hw/irq.h a lot less MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In my "build everything" tree, changing hw/irq.h triggers a recompile of some 5400 out of 6600 objects (not counting tests and objects that don't depend on qemu/osdep.h). hw/hw.h supposedly includes it for convenience. Several other headers include it just to get qemu_irq and.or qemu_irq_handler. Move the qemu_irq and qemu_irq_handler typedefs from hw/irq.h to qemu/typedefs.h, and then include hw/irq.h only where it's still needed. Touching it now recompiles only some 500 objects. Signed-off-by: Markus Armbruster Reviewed-by: Alistair Francis Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Message-Id: <20190812052359.30071-13-armbru@redhat.com> --- hw/cpu/a9mpcore.c | 1 + 1 file changed, 1 insertion(+) (limited to 'hw/cpu/a9mpcore.c') diff --git a/hw/cpu/a9mpcore.c b/hw/cpu/a9mpcore.c index 187e4d939e..9dda4d8888 100644 --- a/hw/cpu/a9mpcore.c +++ b/hw/cpu/a9mpcore.c @@ -12,6 +12,7 @@ #include "qapi/error.h" #include "qemu/module.h" #include "hw/cpu/a9mpcore.h" +#include "hw/irq.h" #include "qom/cpu.h" static void a9mp_priv_set_irq(void *opaque, int irq, int level) -- cgit v1.2.3 From a27bd6c779badb8d76e4430d810ef710a1b98f4e Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Mon, 12 Aug 2019 07:23:51 +0200 Subject: Include hw/qdev-properties.h less MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In my "build everything" tree, changing hw/qdev-properties.h triggers a recompile of some 2700 out of 6600 objects (not counting tests and objects that don't depend on qemu/osdep.h). Many places including hw/qdev-properties.h (directly or via hw/qdev.h) actually need only hw/qdev-core.h. Include hw/qdev-core.h there instead. hw/qdev.h is actually pointless: all it does is include hw/qdev-core.h and hw/qdev-properties.h, which in turn includes hw/qdev-core.h. Replace the remaining uses of hw/qdev.h by hw/qdev-properties.h. While there, delete a few superfluous inclusions of hw/qdev-core.h. Touching hw/qdev-properties.h now recompiles some 1200 objects. Cc: Paolo Bonzini Cc: "Daniel P. Berrangé" Cc: Eduardo Habkost Signed-off-by: Markus Armbruster Reviewed-by: Eduardo Habkost Message-Id: <20190812052359.30071-22-armbru@redhat.com> --- hw/cpu/a9mpcore.c | 1 + 1 file changed, 1 insertion(+) (limited to 'hw/cpu/a9mpcore.c') diff --git a/hw/cpu/a9mpcore.c b/hw/cpu/a9mpcore.c index 9dda4d8888..cd1e165faf 100644 --- a/hw/cpu/a9mpcore.c +++ b/hw/cpu/a9mpcore.c @@ -13,6 +13,7 @@ #include "qemu/module.h" #include "hw/cpu/a9mpcore.h" #include "hw/irq.h" +#include "hw/qdev-properties.h" #include "qom/cpu.h" static void a9mp_priv_set_irq(void *opaque, int irq, int level) -- cgit v1.2.3