]> git.proxmox.com Git - mirror_qemu.git/commit - hw/arm/aspeed_ast2400.c
Include sysemu/sysemu.h a lot less
authorMarkus Armbruster <armbru@redhat.com>
Mon, 12 Aug 2019 05:23:57 +0000 (07:23 +0200)
committerMarkus Armbruster <armbru@redhat.com>
Fri, 16 Aug 2019 11:31:53 +0000 (13:31 +0200)
commit46517dd4971fc1fdd5b379e72cc377626ad98160
tree85087dd33afe57961b68771ef92e9c9eaf984a39
parentd5938f29fea29581725426f203a74da746ca03e7
Include sysemu/sysemu.h a lot less

In my "build everything" tree, changing sysemu/sysemu.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/qdev-core.h includes sysemu/sysemu.h since recent commit e965ffa70a
"qdev: add qdev_add_vm_change_state_handler()".  This is a bad idea:
hw/qdev-core.h is widely included.

Move the declaration of qdev_add_vm_change_state_handler() to
sysemu/sysemu.h, and drop the problematic include from hw/qdev-core.h.

Touching sysemu/sysemu.h now recompiles some 1800 objects.
qemu/uuid.h also drops from 5400 to 1800.  A few more headers show
smaller improvement: qemu/notify.h drops from 5600 to 5200,
qemu/timer.h from 5600 to 4500, and qapi/qapi-types-run-state.h from
5500 to 5000.

Cc: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20190812052359.30071-28-armbru@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
31 files changed:
accel/kvm/kvm-all.c
backends/hostmem.c
cpus.c
hw/arm/allwinner-a10.c
hw/arm/aspeed_soc.c
hw/arm/kzm.c
hw/arm/msf2-soc.c
hw/arm/stm32f205_soc.c
hw/char/serial-isa.c
hw/char/xen_console.c
hw/core/numa.c
hw/core/vm-change-state-handler.c
hw/display/qxl-render.c
hw/i386/xen/xen-hvm.c
hw/i386/xen/xen-mapcache.c
hw/intc/ioapic.c
hw/pci/pci.c
hw/riscv/sifive_e.c
hw/riscv/sifive_u.c
hw/riscv/spike.c
hw/riscv/virt.c
hw/sparc64/niagara.c
hw/usb/hcd-ehci.h
hw/xen/xen-common.c
hw/xen/xen_devconfig.c
hw/xenpv/xen_machine_pv.c
include/hw/qdev-core.h
include/sysemu/sysemu.h
migration/global_state.c
migration/migration.c
migration/savevm.c