On 8/6/19 5:14 PM, Markus Armbruster wrote: > In my "build everything" tree, changing migration/qemu-file-types.h > triggers a recompile of some 2600 out of 6600 objects (not counting > tests and objects that don't depend on qemu/osdep.h). > > The culprit is again hw/hw.h, which supposedly includes it for > convenience. > > Include migration/qemu-file-types.h only where it's needed. Touching > it now recompiles less than 200 objects. > > Signed-off-by: Markus Armbruster <arm...@redhat.com> > --- > hw/acpi/piix4.c | 1 + > hw/block/virtio-blk.c | 1 + > hw/char/virtio-serial-bus.c | 1 + > hw/display/virtio-gpu.c | 1 + > hw/intc/apic_common.c | 1 + > hw/nvram/eeprom93xx.c | 1 + > hw/nvram/fw_cfg.c | 1 + > hw/pci-host/piix.c | 1 + > hw/pci/msix.c | 1 + > hw/pci/pci.c | 1 + > hw/pci/shpc.c | 1 + > hw/ppc/spapr.c | 1 + > hw/s390x/s390-skeys.c | 1 + > hw/s390x/tod.c | 1 + > hw/s390x/virtio-ccw.c | 1 + > hw/scsi/mptsas.c | 1 + > hw/scsi/scsi-bus.c | 1 + > hw/scsi/scsi-disk.c | 1 + > hw/scsi/scsi-generic.c | 1 + > hw/scsi/virtio-scsi.c | 1 + > hw/timer/i8254_common.c | 1 + > hw/timer/twl92230.c | 1 + > hw/usb/redirect.c | 1 + > hw/virtio/vhost.c | 1 + > hw/virtio/virtio-mmio.c | 1 + > hw/virtio/virtio-pci.c | 1 + > hw/virtio/virtio.c | 1 + > include/hw/hw.h | 1 - > include/migration/cpu.h | 1 + > target/ppc/kvm.c | 1 + > 30 files changed, 29 insertions(+), 1 deletion(-) [...] > diff --git a/include/hw/hw.h b/include/hw/hw.h > index a4fb2390e8..b399627cbe 100644 > --- a/include/hw/hw.h > +++ b/include/hw/hw.h > @@ -11,7 +11,6 @@ > #include "exec/memory.h" > #include "hw/irq.h" > #include "migration/vmstate.h" > -#include "migration/qemu-file-types.h"
Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> Tested-by: Philippe Mathieu-Daudé <phi...@redhat.com> > > void QEMU_NORETURN hw_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2); > > diff --git a/include/migration/cpu.h b/include/migration/cpu.h > index 8424f1631a..21c4fc9eab 100644 > --- a/include/migration/cpu.h > +++ b/include/migration/cpu.h > @@ -3,6 +3,7 @@ > #define MIGRATION_CPU_H > > #include "exec/cpu-defs.h" > +#include "migration/qemu-file-types.h" > > #if TARGET_LONG_BITS == 64 > #define qemu_put_betl qemu_put_be64 > diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c > index 8a06d3171e..4bd95be9cd 100644 > --- a/target/ppc/kvm.c > +++ b/target/ppc/kvm.c > @@ -38,6 +38,7 @@ > #include "hw/ppc/spapr.h" > #include "hw/ppc/spapr_cpu_core.h" > #include "hw/ppc/ppc.h" > +#include "migration/qemu-file-types.h" > #include "sysemu/watchdog.h" > #include "trace.h" > #include "exec/gdbstub.h" >