From d5938f29fea29581725426f203a74da746ca03e7 Mon Sep 17 00:00:00 2001
From: Markus Armbruster <armbru@redhat.com>
Date: Mon, 12 Aug 2019 07:23:56 +0200
Subject: [PATCH] Clean up inclusion of sysemu/sysemu.h
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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).

Almost a third of its inclusions are actually superfluous.  Delete
them.  Downgrade two more to qapi/qapi-types-run-state.h, and move one
from char/serial.h to char/serial.c.

hw/semihosting/config.c, monitor/monitor.c, qdev-monitor.c, and
stubs/semihost.c define variables declared in sysemu/sysemu.h without
including it.  The compiler is cool with that, but include it anyway.

This doesn't reduce actual use much, as it's still included into
widely included headers.  The next commit will tackle that.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20190812052359.30071-27-armbru@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
---
 accel/tcg/tcg-all.c                 | 1 -
 block/nfs.c                         | 1 -
 blockdev-nbd.c                      | 1 -
 dump/win_dump.c                     | 1 -
 hw/acpi/pcihp.c                     | 1 -
 hw/acpi/vmgenid.c                   | 1 -
 hw/alpha/pci.c                      | 1 -
 hw/alpha/typhoon.c                  | 1 -
 hw/arm/nrf51_soc.c                  | 1 -
 hw/arm/smmu-common.c                | 1 -
 hw/arm/smmuv3.c                     | 1 -
 hw/arm/sysbus-fdt.c                 | 1 -
 hw/arm/z2.c                         | 1 -
 hw/char/exynos4210_uart.c           | 1 -
 hw/char/imx_serial.c                | 1 -
 hw/char/serial.c                    | 1 +
 hw/core/loader-fit.c                | 1 -
 hw/core/platform-bus.c              | 1 -
 hw/core/qdev.c                      | 1 -
 hw/display/ramfb-standalone.c       | 1 -
 hw/display/ramfb.c                  | 1 -
 hw/dma/xlnx-zynq-devcfg.c           | 1 -
 hw/hppa/dino.c                      | 1 -
 hw/hppa/pci.c                       | 1 -
 hw/i2c/smbus_ich9.c                 | 1 -
 hw/ide/cmd646.c                     | 1 -
 hw/ide/ioport.c                     | 1 -
 hw/ide/piix.c                       | 1 -
 hw/ide/via.c                        | 1 -
 hw/input/adb-kbd.c                  | 1 -
 hw/intc/allwinner-a10-pic.c         | 1 -
 hw/intc/mips_gic.c                  | 1 -
 hw/intc/xics_pnv.c                  | 1 -
 hw/ipmi/ipmi_bmc_extern.c           | 1 -
 hw/isa/vt82c686.c                   | 1 -
 hw/misc/armsse-cpuid.c              | 1 -
 hw/misc/armsse-mhu.c                | 1 -
 hw/misc/imx6_src.c                  | 1 -
 hw/misc/imx7_gpr.c                  | 1 -
 hw/misc/iotkit-sysinfo.c            | 1 -
 hw/misc/mips_cmgcr.c                | 1 -
 hw/misc/mos6522.c                   | 1 -
 hw/misc/sga.c                       | 1 -
 hw/misc/zynq-xadc.c                 | 1 -
 hw/net/fsl_etsec/etsec.c            | 1 -
 hw/net/lan9118.c                    | 1 -
 hw/net/ne2000.c                     | 1 -
 hw/net/opencores_eth.c              | 1 -
 hw/net/pcnet.c                      | 1 -
 hw/nios2/generic_nommu.c            | 1 -
 hw/pci-host/pam.c                   | 1 -
 hw/ppc/pnv_bmc.c                    | 1 -
 hw/ppc/pnv_core.c                   | 1 -
 hw/ppc/pnv_lpc.c                    | 1 -
 hw/ppc/pnv_occ.c                    | 1 -
 hw/ppc/ppce500_spin.c               | 1 -
 hw/ppc/spapr_rng.c                  | 1 -
 hw/ppc/spapr_vio.c                  | 1 -
 hw/s390x/event-facility.c           | 1 -
 hw/s390x/sclpcpu.c                  | 1 -
 hw/s390x/virtio-ccw.c               | 1 -
 hw/scsi/scsi-disk.c                 | 1 -
 hw/sd/milkymist-memcard.c           | 1 -
 hw/semihosting/config.c             | 1 +
 hw/ssi/aspeed_smc.c                 | 1 -
 hw/ssi/imx_spi.c                    | 1 -
 hw/ssi/xilinx_spi.c                 | 1 -
 hw/ssi/xilinx_spips.c               | 1 -
 hw/timer/allwinner-a10-pit.c        | 1 -
 hw/timer/altera_timer.c             | 1 -
 hw/timer/exynos4210_rtc.c           | 1 -
 hw/tricore/tricore_testboard.c      | 1 -
 hw/usb/hcd-ehci.h                   | 1 -
 hw/vfio/ap.c                        | 1 -
 hw/vfio/platform.c                  | 1 -
 hw/xen/xen_pt_load_rom.c            | 1 -
 hw/xtensa/xtensa_memory.c           | 1 -
 include/hw/arm/allwinner-a10.h      | 1 -
 include/hw/char/serial.h            | 1 -
 include/hw/i386/pc.h                | 1 -
 include/hw/riscv/riscv_htif.h       | 1 -
 include/hw/timer/stm32f2xx_timer.h  | 1 -
 include/hw/virtio/virtio-bus.h      | 1 -
 include/hw/xen/xen-legacy-backend.h | 1 -
 include/migration/global_state.h    | 2 +-
 include/sysemu/kvm_int.h            | 1 -
 include/sysemu/replay.h             | 2 +-
 include/ui/spice-display.h          | 1 -
 monitor/monitor.c                   | 1 +
 net/tap-bsd.c                       | 1 -
 net/tap-linux.c                     | 1 -
 net/tap-solaris.c                   | 1 -
 net/tap-win32.c                     | 1 -
 qdev-monitor.c                      | 1 +
 qemu-img.c                          | 1 -
 qom/cpu.c                           | 1 -
 replay/replay-audio.c               | 1 -
 replay/replay-char.c                | 1 -
 replay/replay-net.c                 | 1 -
 replay/replay-snapshot.c            | 1 -
 stubs/replay.c                      | 1 -
 stubs/semihost.c                    | 1 +
 target/arm/cpu64.c                  | 1 -
 target/arm/helper-a64.c             | 1 -
 target/arm/helper.c                 | 1 -
 target/arm/kvm32.c                  | 1 -
 target/arm/kvm64.c                  | 1 -
 target/arm/m_helper.c               | 1 -
 target/i386/hvf/x86_task.c          | 1 -
 target/lm32/helper.c                | 1 -
 target/m68k/m68k-semi.c             | 1 -
 target/nios2/nios2-semi.c           | 1 -
 target/ppc/kvm.c                    | 1 -
 target/sparc/helper.c               | 1 -
 target/xtensa/translate.c           | 1 -
 target/xtensa/xtensa-semi.c         | 1 -
 tests/migration-test.c              | 1 -
 ui/input-keymap.c                   | 1 -
 ui/input-legacy.c                   | 1 -
 ui/input-linux.c                    | 1 -
 ui/keymaps.c                        | 1 -
 ui/sdl2-2d.c                        | 1 -
 ui/sdl2-gl.c                        | 1 -
 ui/sdl2-input.c                     | 1 -
 ui/spice-display.c                  | 1 -
 util/qemu-timer.c                   | 1 -
 126 files changed, 7 insertions(+), 121 deletions(-)

diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c
index c92d4c82edd..c59d5b00245 100644
--- a/accel/tcg/tcg-all.c
+++ b/accel/tcg/tcg-all.c
@@ -25,7 +25,6 @@
 
 #include "qemu/osdep.h"
 #include "sysemu/accel.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/tcg.h"
 #include "qom/object.h"
 #include "cpu.h"
diff --git a/block/nfs.c b/block/nfs.c
index a1fe004c615..ed0cce63bb7 100644
--- a/block/nfs.c
+++ b/block/nfs.c
@@ -37,7 +37,6 @@
 #include "qemu/option.h"
 #include "qemu/uri.h"
 #include "qemu/cutils.h"
-#include "sysemu/sysemu.h"
 #include "qapi/qapi-visit-block-core.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
diff --git a/blockdev-nbd.c b/blockdev-nbd.c
index 66eebab3187..7a71da447fd 100644
--- a/blockdev-nbd.c
+++ b/blockdev-nbd.c
@@ -15,7 +15,6 @@
 #include "hw/block/block.h"
 #include "qapi/error.h"
 #include "qapi/qapi-commands-block.h"
-#include "sysemu/sysemu.h"
 #include "block/nbd.h"
 #include "io/channel-socket.h"
 #include "io/net-listener.h"
diff --git a/dump/win_dump.c b/dump/win_dump.c
index 0142655d3d0..eda2a489742 100644
--- a/dump/win_dump.c
+++ b/dump/win_dump.c
@@ -17,7 +17,6 @@
 #include "monitor/monitor.h"
 #include "sysemu/kvm.h"
 #include "sysemu/dump.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/memory_mapping.h"
 #include "sysemu/cpus.h"
 #include "qapi/error.h"
diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c
index ac49a5a77b7..82d295b6e81 100644
--- a/hw/acpi/pcihp.c
+++ b/hw/acpi/pcihp.c
@@ -31,7 +31,6 @@
 #include "hw/pci/pci.h"
 #include "hw/pci/pci_bridge.h"
 #include "hw/acpi/acpi.h"
-#include "sysemu/sysemu.h"
 #include "exec/address-spaces.h"
 #include "hw/pci/pci_bus.h"
 #include "migration/vmstate.h"
diff --git a/hw/acpi/vmgenid.c b/hw/acpi/vmgenid.c
index 4eae426969a..6e11b0fa9b5 100644
--- a/hw/acpi/vmgenid.c
+++ b/hw/acpi/vmgenid.c
@@ -21,7 +21,6 @@
 #include "hw/qdev-properties.h"
 #include "migration/vmstate.h"
 #include "sysemu/reset.h"
-#include "sysemu/sysemu.h"
 
 void vmgenid_build_acpi(VmGenIdState *vms, GArray *table_data, GArray *guid,
                         BIOSLinker *linker)
diff --git a/hw/alpha/pci.c b/hw/alpha/pci.c
index fb902bb92d7..72251fcdf00 100644
--- a/hw/alpha/pci.c
+++ b/hw/alpha/pci.c
@@ -9,7 +9,6 @@
 #include "qemu/osdep.h"
 #include "alpha_sys.h"
 #include "qemu/log.h"
-#include "sysemu/sysemu.h"
 #include "trace.h"
 
 
diff --git a/hw/alpha/typhoon.c b/hw/alpha/typhoon.c
index 1c0565acc16..179e1f76583 100644
--- a/hw/alpha/typhoon.c
+++ b/hw/alpha/typhoon.c
@@ -13,7 +13,6 @@
 #include "cpu.h"
 #include "hw/boards.h"
 #include "hw/irq.h"
-#include "sysemu/sysemu.h"
 #include "alpha_sys.h"
 #include "exec/address-spaces.h"
 
diff --git a/hw/arm/nrf51_soc.c b/hw/arm/nrf51_soc.c
index d9e54fefbb6..74029169d02 100644
--- a/hw/arm/nrf51_soc.c
+++ b/hw/arm/nrf51_soc.c
@@ -14,7 +14,6 @@
 #include "hw/sysbus.h"
 #include "hw/misc/unimp.h"
 #include "exec/address-spaces.h"
-#include "sysemu/sysemu.h"
 #include "qemu/log.h"
 #include "cpu.h"
 
diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c
index 717d22bcbe7..956ebe32c8c 100644
--- a/hw/arm/smmu-common.c
+++ b/hw/arm/smmu-common.c
@@ -17,7 +17,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "sysemu/sysemu.h"
 #include "exec/address-spaces.h"
 #include "trace.h"
 #include "exec/target_page.h"
diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c
index 0ccc7723900..2eaf07fb5f6 100644
--- a/hw/arm/smmuv3.c
+++ b/hw/arm/smmuv3.c
@@ -18,7 +18,6 @@
 
 #include "qemu/osdep.h"
 #include "hw/irq.h"
-#include "sysemu/sysemu.h"
 #include "hw/sysbus.h"
 #include "migration/vmstate.h"
 #include "hw/qdev-core.h"
diff --git a/hw/arm/sysbus-fdt.c b/hw/arm/sysbus-fdt.c
index 57f94e6581b..022fc97ecd8 100644
--- a/hw/arm/sysbus-fdt.c
+++ b/hw/arm/sysbus-fdt.c
@@ -31,7 +31,6 @@
 #include "qemu/error-report.h"
 #include "sysemu/device_tree.h"
 #include "hw/platform-bus.h"
-#include "sysemu/sysemu.h"
 #include "hw/vfio/vfio-platform.h"
 #include "hw/vfio/vfio-calxeda-xgmac.h"
 #include "hw/vfio/vfio-amd-xgbe.h"
diff --git a/hw/arm/z2.c b/hw/arm/z2.c
index 1e3db425ef9..3923b87e4c9 100644
--- a/hw/arm/z2.c
+++ b/hw/arm/z2.c
@@ -19,7 +19,6 @@
 #include "hw/ssi/ssi.h"
 #include "migration/vmstate.h"
 #include "hw/boards.h"
-#include "sysemu/sysemu.h"
 #include "hw/block/flash.h"
 #include "ui/console.h"
 #include "hw/audio/wm8750.h"
diff --git a/hw/char/exynos4210_uart.c b/hw/char/exynos4210_uart.c
index 49e279d5dfb..d6b6b62366e 100644
--- a/hw/char/exynos4210_uart.c
+++ b/hw/char/exynos4210_uart.c
@@ -24,7 +24,6 @@
 #include "migration/vmstate.h"
 #include "qemu/error-report.h"
 #include "qemu/module.h"
-#include "sysemu/sysemu.h"
 #include "chardev/char-fe.h"
 #include "chardev/char-serial.h"
 
diff --git a/hw/char/imx_serial.c b/hw/char/imx_serial.c
index e49baa994ce..fddde9b43d5 100644
--- a/hw/char/imx_serial.c
+++ b/hw/char/imx_serial.c
@@ -23,7 +23,6 @@
 #include "hw/irq.h"
 #include "hw/qdev-properties.h"
 #include "migration/vmstate.h"
-#include "sysemu/sysemu.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
 
diff --git a/hw/char/serial.c b/hw/char/serial.c
index 4d54163a620..72580f19d07 100644
--- a/hw/char/serial.c
+++ b/hw/char/serial.c
@@ -31,6 +31,7 @@
 #include "qapi/error.h"
 #include "qemu/timer.h"
 #include "sysemu/reset.h"
+#include "sysemu/sysemu.h"
 #include "qemu/error-report.h"
 #include "trace.h"
 
diff --git a/hw/core/loader-fit.c b/hw/core/loader-fit.c
index f27b6af9429..953b16bc82a 100644
--- a/hw/core/loader-fit.c
+++ b/hw/core/loader-fit.c
@@ -26,7 +26,6 @@
 #include "qemu/cutils.h"
 #include "qemu/error-report.h"
 #include "sysemu/device_tree.h"
-#include "sysemu/sysemu.h"
 
 #include <libfdt.h>
 #include <zlib.h>
diff --git a/hw/core/platform-bus.c b/hw/core/platform-bus.c
index 9c9a9c271fd..edb0da1de88 100644
--- a/hw/core/platform-bus.c
+++ b/hw/core/platform-bus.c
@@ -24,7 +24,6 @@
 #include "hw/qdev-properties.h"
 #include "qemu/error-report.h"
 #include "qemu/module.h"
-#include "sysemu/sysemu.h"
 
 
 /*
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index 8c055df1cbe..60d66c2f396 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -26,7 +26,6 @@
    this API directly.  */
 
 #include "qemu/osdep.h"
-#include "sysemu/sysemu.h"
 #include "qapi/error.h"
 #include "qapi/qapi-events-qdev.h"
 #include "qapi/qmp/qerror.h"
diff --git a/hw/display/ramfb-standalone.c b/hw/display/ramfb-standalone.c
index ebd623a669e..1f724503031 100644
--- a/hw/display/ramfb-standalone.c
+++ b/hw/display/ramfb-standalone.c
@@ -6,7 +6,6 @@
 #include "hw/isa/isa.h"
 #include "hw/display/ramfb.h"
 #include "ui/console.h"
-#include "sysemu/sysemu.h"
 
 #define RAMFB(obj) OBJECT_CHECK(RAMFBStandaloneState, (obj), TYPE_RAMFB_DEVICE)
 
diff --git a/hw/display/ramfb.c b/hw/display/ramfb.c
index 6026a35b111..cd94940223b 100644
--- a/hw/display/ramfb.c
+++ b/hw/display/ramfb.c
@@ -18,7 +18,6 @@
 #include "hw/display/ramfb.h"
 #include "ui/console.h"
 #include "sysemu/reset.h"
-#include "sysemu/sysemu.h"
 
 struct QEMU_PACKED RAMFBCfg {
     uint64_t addr;
diff --git a/hw/dma/xlnx-zynq-devcfg.c b/hw/dma/xlnx-zynq-devcfg.c
index 89200ff15db..e33112b6f0e 100644
--- a/hw/dma/xlnx-zynq-devcfg.c
+++ b/hw/dma/xlnx-zynq-devcfg.c
@@ -29,7 +29,6 @@
 #include "hw/irq.h"
 #include "migration/vmstate.h"
 #include "qemu/bitops.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/dma.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
diff --git a/hw/hppa/dino.c b/hw/hppa/dino.c
index bb9d0e033cc..e0466ee055a 100644
--- a/hw/hppa/dino.c
+++ b/hw/hppa/dino.c
@@ -16,7 +16,6 @@
 #include "qapi/error.h"
 #include "cpu.h"
 #include "hw/irq.h"
-#include "sysemu/sysemu.h"
 #include "hw/pci/pci.h"
 #include "hw/pci/pci_bus.h"
 #include "migration/vmstate.h"
diff --git a/hw/hppa/pci.c b/hw/hppa/pci.c
index b6606d9719c..32609aba63e 100644
--- a/hw/hppa/pci.c
+++ b/hw/hppa/pci.c
@@ -6,7 +6,6 @@
 #include "qemu/osdep.h"
 #include "hppa_sys.h"
 #include "qemu/log.h"
-#include "sysemu/sysemu.h"
 #include "trace.h"
 
 
diff --git a/hw/i2c/smbus_ich9.c b/hw/i2c/smbus_ich9.c
index 564198dae99..fd50fb851af 100644
--- a/hw/i2c/smbus_ich9.c
+++ b/hw/i2c/smbus_ich9.c
@@ -25,7 +25,6 @@
 #include "hw/pci/pci.h"
 #include "migration/vmstate.h"
 #include "qemu/module.h"
-#include "sysemu/sysemu.h"
 
 #include "hw/i386/ich9.h"
 
diff --git a/hw/ide/cmd646.c b/hw/ide/cmd646.c
index 3fbfc5ea454..f3ccd11c79d 100644
--- a/hw/ide/cmd646.c
+++ b/hw/ide/cmd646.c
@@ -29,7 +29,6 @@
 #include "migration/vmstate.h"
 #include "qemu/module.h"
 #include "hw/isa/isa.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/dma.h"
 #include "sysemu/reset.h"
 
diff --git a/hw/ide/ioport.c b/hw/ide/ioport.c
index e6085612d4c..ab1f4e5d9c0 100644
--- a/hw/ide/ioport.c
+++ b/hw/ide/ioport.c
@@ -27,7 +27,6 @@
 #include "hw/isa/isa.h"
 #include "qemu/error-report.h"
 #include "qemu/timer.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/blockdev.h"
 #include "sysemu/dma.h"
 #include "hw/block/block.h"
diff --git a/hw/ide/piix.c b/hw/ide/piix.c
index bcfd119a8ea..fba6bc8bffe 100644
--- a/hw/ide/piix.c
+++ b/hw/ide/piix.c
@@ -28,7 +28,6 @@
 #include "migration/vmstate.h"
 #include "qemu/module.h"
 #include "sysemu/block-backend.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/blockdev.h"
 #include "sysemu/dma.h"
 #include "sysemu/reset.h"
diff --git a/hw/ide/via.c b/hw/ide/via.c
index 45f929395fd..7087dc676ef 100644
--- a/hw/ide/via.c
+++ b/hw/ide/via.c
@@ -28,7 +28,6 @@
 #include "hw/pci/pci.h"
 #include "migration/vmstate.h"
 #include "qemu/module.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/dma.h"
 #include "sysemu/reset.h"
 
diff --git a/hw/input/adb-kbd.c b/hw/input/adb-kbd.c
index b3c4aeded13..0ba82075897 100644
--- a/hw/input/adb-kbd.c
+++ b/hw/input/adb-kbd.c
@@ -28,7 +28,6 @@
 #include "qemu/module.h"
 #include "ui/input.h"
 #include "hw/input/adb-keys.h"
-#include "sysemu/sysemu.h"
 #include "adb-internal.h"
 #include "trace.h"
 
diff --git a/hw/intc/allwinner-a10-pic.c b/hw/intc/allwinner-a10-pic.c
index 79959a4d230..8cca1248073 100644
--- a/hw/intc/allwinner-a10-pic.c
+++ b/hw/intc/allwinner-a10-pic.c
@@ -18,7 +18,6 @@
 #include "qemu/osdep.h"
 #include "hw/sysbus.h"
 #include "migration/vmstate.h"
-#include "sysemu/sysemu.h"
 #include "hw/intc/allwinner-a10-pic.h"
 #include "hw/irq.h"
 #include "qemu/log.h"
diff --git a/hw/intc/mips_gic.c b/hw/intc/mips_gic.c
index 524cc3ca458..54b3059f3fd 100644
--- a/hw/intc/mips_gic.c
+++ b/hw/intc/mips_gic.c
@@ -15,7 +15,6 @@
 #include "qapi/error.h"
 #include "hw/sysbus.h"
 #include "exec/memory.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/kvm.h"
 #include "sysemu/reset.h"
 #include "kvm_mips.h"
diff --git a/hw/intc/xics_pnv.c b/hw/intc/xics_pnv.c
index 67f2702e521..35f38112649 100644
--- a/hw/intc/xics_pnv.c
+++ b/hw/intc/xics_pnv.c
@@ -19,7 +19,6 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "sysemu/sysemu.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
 #include "hw/ppc/xics.h"
diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c
index 4405aa634ea..573428eca1b 100644
--- a/hw/ipmi/ipmi_bmc_extern.c
+++ b/hw/ipmi/ipmi_bmc_extern.c
@@ -33,7 +33,6 @@
 #include "qapi/error.h"
 #include "qemu/timer.h"
 #include "chardev/char-fe.h"
-#include "sysemu/sysemu.h"
 #include "hw/ipmi/ipmi.h"
 #include "hw/qdev-properties.h"
 #include "migration/vmstate.h"
diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c
index 1bc915405b2..50bd28fa82b 100644
--- a/hw/isa/vt82c686.c
+++ b/hw/isa/vt82c686.c
@@ -24,7 +24,6 @@
 #include "hw/acpi/acpi.h"
 #include "hw/i2c/pm_smbus.h"
 #include "sysemu/reset.h"
-#include "sysemu/sysemu.h"
 #include "qemu/module.h"
 #include "qemu/timer.h"
 #include "exec/address-spaces.h"
diff --git a/hw/misc/armsse-cpuid.c b/hw/misc/armsse-cpuid.c
index 5f225096f60..8ab15fea816 100644
--- a/hw/misc/armsse-cpuid.c
+++ b/hw/misc/armsse-cpuid.c
@@ -23,7 +23,6 @@
 #include "qemu/module.h"
 #include "trace.h"
 #include "qapi/error.h"
-#include "sysemu/sysemu.h"
 #include "hw/sysbus.h"
 #include "hw/registerfields.h"
 #include "hw/misc/armsse-cpuid.h"
diff --git a/hw/misc/armsse-mhu.c b/hw/misc/armsse-mhu.c
index 34b6205f11a..a45d97fada8 100644
--- a/hw/misc/armsse-mhu.c
+++ b/hw/misc/armsse-mhu.c
@@ -20,7 +20,6 @@
 #include "qemu/module.h"
 #include "trace.h"
 #include "qapi/error.h"
-#include "sysemu/sysemu.h"
 #include "hw/sysbus.h"
 #include "migration/vmstate.h"
 #include "hw/registerfields.h"
diff --git a/hw/misc/imx6_src.c b/hw/misc/imx6_src.c
index b9d86fe5300..8ab18967b56 100644
--- a/hw/misc/imx6_src.c
+++ b/hw/misc/imx6_src.c
@@ -11,7 +11,6 @@
 #include "qemu/osdep.h"
 #include "hw/misc/imx6_src.h"
 #include "migration/vmstate.h"
-#include "sysemu/sysemu.h"
 #include "qemu/bitops.h"
 #include "qemu/log.h"
 #include "qemu/main-loop.h"
diff --git a/hw/misc/imx7_gpr.c b/hw/misc/imx7_gpr.c
index 09d57d4710c..b03341a2eba 100644
--- a/hw/misc/imx7_gpr.c
+++ b/hw/misc/imx7_gpr.c
@@ -16,7 +16,6 @@
 #include "hw/misc/imx7_gpr.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
-#include "sysemu/sysemu.h"
 
 #include "trace.h"
 
diff --git a/hw/misc/iotkit-sysinfo.c b/hw/misc/iotkit-sysinfo.c
index 0106fa48d35..783e613959f 100644
--- a/hw/misc/iotkit-sysinfo.c
+++ b/hw/misc/iotkit-sysinfo.c
@@ -22,7 +22,6 @@
 #include "qemu/module.h"
 #include "trace.h"
 #include "qapi/error.h"
-#include "sysemu/sysemu.h"
 #include "hw/sysbus.h"
 #include "hw/registerfields.h"
 #include "hw/misc/iotkit-sysinfo.h"
diff --git a/hw/misc/mips_cmgcr.c b/hw/misc/mips_cmgcr.c
index 0feab092f15..8176d91c0cc 100644
--- a/hw/misc/mips_cmgcr.c
+++ b/hw/misc/mips_cmgcr.c
@@ -14,7 +14,6 @@
 #include "qemu/module.h"
 #include "hw/sysbus.h"
 #include "migration/vmstate.h"
-#include "sysemu/sysemu.h"
 #include "hw/misc/mips_cmgcr.h"
 #include "hw/misc/mips_cpc.h"
 #include "hw/qdev-properties.h"
diff --git a/hw/misc/mos6522.c b/hw/misc/mos6522.c
index 4d99350e227..57f13db266b 100644
--- a/hw/misc/mos6522.c
+++ b/hw/misc/mos6522.c
@@ -31,7 +31,6 @@
 #include "hw/qdev-properties.h"
 #include "migration/vmstate.h"
 #include "qemu/timer.h"
-#include "sysemu/sysemu.h"
 #include "qemu/cutils.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
diff --git a/hw/misc/sga.c b/hw/misc/sga.c
index da04924f5f0..6866bf72cb7 100644
--- a/hw/misc/sga.c
+++ b/hw/misc/sga.c
@@ -29,7 +29,6 @@
 #include "hw/isa/isa.h"
 #include "hw/loader.h"
 #include "qemu/module.h"
-#include "sysemu/sysemu.h"
 
 #define SGABIOS_FILENAME "sgabios.bin"
 
diff --git a/hw/misc/zynq-xadc.c b/hw/misc/zynq-xadc.c
index 7745df4c853..7b1972ce063 100644
--- a/hw/misc/zynq-xadc.c
+++ b/hw/misc/zynq-xadc.c
@@ -18,7 +18,6 @@
 #include "hw/misc/zynq-xadc.h"
 #include "migration/vmstate.h"
 #include "qemu/timer.h"
-#include "sysemu/sysemu.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
 
diff --git a/hw/net/fsl_etsec/etsec.c b/hw/net/fsl_etsec/etsec.c
index e1556236b00..8451c17fb8f 100644
--- a/hw/net/fsl_etsec/etsec.c
+++ b/hw/net/fsl_etsec/etsec.c
@@ -27,7 +27,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "sysemu/sysemu.h"
 #include "hw/sysbus.h"
 #include "hw/irq.h"
 #include "hw/ptimer.h"
diff --git a/hw/net/lan9118.c b/hw/net/lan9118.c
index e7662f0575a..8bba2a80568 100644
--- a/hw/net/lan9118.c
+++ b/hw/net/lan9118.c
@@ -18,7 +18,6 @@
 #include "hw/hw.h"
 #include "hw/irq.h"
 #include "hw/net/lan9118.h"
-#include "sysemu/sysemu.h"
 #include "hw/ptimer.h"
 #include "hw/qdev-properties.h"
 #include "qemu/log.h"
diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
index a1a1046494c..6c17ee1ae21 100644
--- a/hw/net/ne2000.c
+++ b/hw/net/ne2000.c
@@ -29,7 +29,6 @@
 #include "hw/irq.h"
 #include "migration/vmstate.h"
 #include "ne2000.h"
-#include "sysemu/sysemu.h"
 #include "trace.h"
 
 /* debug NE2000 card */
diff --git a/hw/net/opencores_eth.c b/hw/net/opencores_eth.c
index aa13159464d..84a95da1d50 100644
--- a/hw/net/opencores_eth.c
+++ b/hw/net/opencores_eth.c
@@ -39,7 +39,6 @@
 #include "net/net.h"
 #include "qemu/module.h"
 #include "net/eth.h"
-#include "sysemu/sysemu.h"
 #include "trace.h"
 
 /* RECSMALL is not used because it breaks tap networking in linux:
diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index 107ac680b25..f3f18d8598c 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -43,7 +43,6 @@
 #include "net/net.h"
 #include "net/eth.h"
 #include "qemu/timer.h"
-#include "sysemu/sysemu.h"
 #include "trace.h"
 
 #include "pcnet.h"
diff --git a/hw/nios2/generic_nommu.c b/hw/nios2/generic_nommu.c
index 2ec91e899ba..19899e2c1ef 100644
--- a/hw/nios2/generic_nommu.c
+++ b/hw/nios2/generic_nommu.c
@@ -33,7 +33,6 @@
 
 #include "hw/sysbus.h"
 #include "hw/char/serial.h"
-#include "sysemu/sysemu.h"
 #include "hw/boards.h"
 #include "exec/memory.h"
 #include "exec/address-spaces.h"
diff --git a/hw/pci-host/pam.c b/hw/pci-host/pam.c
index aa5ecfd0c23..45c4333cd38 100644
--- a/hw/pci-host/pam.c
+++ b/hw/pci-host/pam.c
@@ -29,7 +29,6 @@
 
 #include "qemu/osdep.h"
 #include "qom/object.h"
-#include "sysemu/sysemu.h"
 #include "hw/pci-host/pam.h"
 
 void init_pam(DeviceState *dev, MemoryRegion *ram_memory,
diff --git a/hw/ppc/pnv_bmc.c b/hw/ppc/pnv_bmc.c
index a27776aa993..e5eb6e5a70d 100644
--- a/hw/ppc/pnv_bmc.c
+++ b/hw/ppc/pnv_bmc.c
@@ -17,7 +17,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "sysemu/sysemu.h"
 #include "target/ppc/cpu.h"
 #include "qemu/log.h"
 #include "hw/ipmi/ipmi.h"
diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c
index c6b0fee56f7..b1a7489e7ab 100644
--- a/hw/ppc/pnv_core.c
+++ b/hw/ppc/pnv_core.c
@@ -19,7 +19,6 @@
 
 #include "qemu/osdep.h"
 #include "sysemu/reset.h"
-#include "sysemu/sysemu.h"
 #include "qapi/error.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
diff --git a/hw/ppc/pnv_lpc.c b/hw/ppc/pnv_lpc.c
index d4433d73e1a..9466d4a1be3 100644
--- a/hw/ppc/pnv_lpc.c
+++ b/hw/ppc/pnv_lpc.c
@@ -18,7 +18,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "sysemu/sysemu.h"
 #include "target/ppc/cpu.h"
 #include "qapi/error.h"
 #include "qemu/log.h"
diff --git a/hw/ppc/pnv_occ.c b/hw/ppc/pnv_occ.c
index 6120405379e..8bead2c9305 100644
--- a/hw/ppc/pnv_occ.c
+++ b/hw/ppc/pnv_occ.c
@@ -17,7 +17,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "sysemu/sysemu.h"
 #include "target/ppc/cpu.h"
 #include "qapi/error.h"
 #include "qemu/log.h"
diff --git a/hw/ppc/ppce500_spin.c b/hw/ppc/ppce500_spin.c
index 0060fcb43f2..66c1065db24 100644
--- a/hw/ppc/ppce500_spin.c
+++ b/hw/ppc/ppce500_spin.c
@@ -33,7 +33,6 @@
 #include "hw/hw.h"
 #include "hw/sysbus.h"
 #include "sysemu/hw_accel.h"
-#include "sysemu/sysemu.h"
 #include "e500.h"
 
 #define MAX_CPUS 32
diff --git a/hw/ppc/spapr_rng.c b/hw/ppc/spapr_rng.c
index 27198e0ced4..954e4aec4bd 100644
--- a/hw/ppc/spapr_rng.c
+++ b/hw/ppc/spapr_rng.c
@@ -23,7 +23,6 @@
 #include "qemu/error-report.h"
 #include "qemu/main-loop.h"
 #include "qemu/module.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/device_tree.h"
 #include "sysemu/rng.h"
 #include "hw/ppc/spapr.h"
diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c
index 910c57fce50..0803649658f 100644
--- a/hw/ppc/spapr_vio.c
+++ b/hw/ppc/spapr_vio.c
@@ -25,7 +25,6 @@
 #include "qapi/visitor.h"
 #include "hw/irq.h"
 #include "qemu/log.h"
-#include "sysemu/sysemu.h"
 #include "hw/loader.h"
 #include "elf.h"
 #include "hw/sysbus.h"
diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c
index 056f0711fa2..797ecbb7a9c 100644
--- a/hw/s390x/event-facility.c
+++ b/hw/s390x/event-facility.c
@@ -18,7 +18,6 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu/module.h"
-#include "sysemu/sysemu.h"
 
 #include "hw/s390x/sclp.h"
 #include "migration/vmstate.h"
diff --git a/hw/s390x/sclpcpu.c b/hw/s390x/sclpcpu.c
index a4aab7df512..62806d32737 100644
--- a/hw/s390x/sclpcpu.c
+++ b/hw/s390x/sclpcpu.c
@@ -14,7 +14,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "sysemu/sysemu.h"
 #include "hw/s390x/sclp.h"
 #include "qemu/module.h"
 #include "hw/s390x/event-facility.h"
diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
index a371370221f..6580ce5907d 100644
--- a/hw/s390x/virtio-ccw.c
+++ b/hw/s390x/virtio-ccw.c
@@ -12,7 +12,6 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/kvm.h"
 #include "net/net.h"
 #include "hw/virtio/virtio.h"
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
index 6370cfe1905..915641a0f1b 100644
--- a/hw/scsi/scsi-disk.c
+++ b/hw/scsi/scsi-disk.c
@@ -30,7 +30,6 @@
 #include "migration/vmstate.h"
 #include "hw/scsi/emulation.h"
 #include "scsi/constants.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/block-backend.h"
 #include "sysemu/blockdev.h"
 #include "hw/block/block.h"
diff --git a/hw/sd/milkymist-memcard.c b/hw/sd/milkymist-memcard.c
index 79a9a5c52c6..926e1af475d 100644
--- a/hw/sd/milkymist-memcard.c
+++ b/hw/sd/milkymist-memcard.c
@@ -26,7 +26,6 @@
 #include "qemu/module.h"
 #include "hw/sysbus.h"
 #include "migration/vmstate.h"
-#include "sysemu/sysemu.h"
 #include "trace.h"
 #include "qapi/error.h"
 #include "sysemu/block-backend.h"
diff --git a/hw/semihosting/config.c b/hw/semihosting/config.c
index 2a8e7e1045a..9807f10cb00 100644
--- a/hw/semihosting/config.c
+++ b/hw/semihosting/config.c
@@ -24,6 +24,7 @@
 #include "qemu/error-report.h"
 #include "hw/semihosting/semihost.h"
 #include "chardev/char.h"
+#include "sysemu/sysemu.h"
 
 QemuOptsList qemu_semihosting_config_opts = {
     .name = "semihosting-config",
diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c
index b8332150f16..9f3cff5fb6f 100644
--- a/hw/ssi/aspeed_smc.c
+++ b/hw/ssi/aspeed_smc.c
@@ -25,7 +25,6 @@
 #include "qemu/osdep.h"
 #include "hw/sysbus.h"
 #include "migration/vmstate.h"
-#include "sysemu/sysemu.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
 #include "qemu/error-report.h"
diff --git a/hw/ssi/imx_spi.c b/hw/ssi/imx_spi.c
index c918e8cac81..2dd9a631e12 100644
--- a/hw/ssi/imx_spi.c
+++ b/hw/ssi/imx_spi.c
@@ -12,7 +12,6 @@
 #include "hw/irq.h"
 #include "hw/ssi/imx_spi.h"
 #include "migration/vmstate.h"
-#include "sysemu/sysemu.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
 
diff --git a/hw/ssi/xilinx_spi.c b/hw/ssi/xilinx_spi.c
index 24280dfeab5..a1be0de039a 100644
--- a/hw/ssi/xilinx_spi.c
+++ b/hw/ssi/xilinx_spi.c
@@ -27,7 +27,6 @@
 #include "qemu/osdep.h"
 #include "hw/sysbus.h"
 #include "migration/vmstate.h"
-#include "sysemu/sysemu.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
 #include "qemu/fifo8.h"
diff --git a/hw/ssi/xilinx_spips.c b/hw/ssi/xilinx_spips.c
index 1605fa102b3..a309c712ca8 100644
--- a/hw/ssi/xilinx_spips.c
+++ b/hw/ssi/xilinx_spips.c
@@ -24,7 +24,6 @@
 
 #include "qemu/osdep.h"
 #include "hw/sysbus.h"
-#include "sysemu/sysemu.h"
 #include "hw/irq.h"
 #include "hw/ptimer.h"
 #include "hw/qdev-properties.h"
diff --git a/hw/timer/allwinner-a10-pit.c b/hw/timer/allwinner-a10-pit.c
index 1e1f74f1a11..ca5a9050591 100644
--- a/hw/timer/allwinner-a10-pit.c
+++ b/hw/timer/allwinner-a10-pit.c
@@ -19,7 +19,6 @@
 #include "hw/irq.h"
 #include "hw/qdev-properties.h"
 #include "hw/sysbus.h"
-#include "sysemu/sysemu.h"
 #include "hw/timer/allwinner-a10-pit.h"
 #include "migration/vmstate.h"
 #include "qemu/log.h"
diff --git a/hw/timer/altera_timer.c b/hw/timer/altera_timer.c
index c9988f67ac3..936b31311d2 100644
--- a/hw/timer/altera_timer.c
+++ b/hw/timer/altera_timer.c
@@ -24,7 +24,6 @@
 #include "qapi/error.h"
 
 #include "hw/sysbus.h"
-#include "sysemu/sysemu.h"
 #include "hw/irq.h"
 #include "hw/ptimer.h"
 #include "hw/qdev-properties.h"
diff --git a/hw/timer/exynos4210_rtc.c b/hw/timer/exynos4210_rtc.c
index 5c954cfa01b..ea689042297 100644
--- a/hw/timer/exynos4210_rtc.c
+++ b/hw/timer/exynos4210_rtc.c
@@ -37,7 +37,6 @@
 #include "hw/ptimer.h"
 
 #include "hw/irq.h"
-#include "sysemu/sysemu.h"
 
 #include "hw/arm/exynos4210.h"
 
diff --git a/hw/tricore/tricore_testboard.c b/hw/tricore/tricore_testboard.c
index c6305dcdf1a..aef3289f8c3 100644
--- a/hw/tricore/tricore_testboard.c
+++ b/hw/tricore/tricore_testboard.c
@@ -23,7 +23,6 @@
 #include "qapi/error.h"
 #include "cpu.h"
 #include "net/net.h"
-#include "sysemu/sysemu.h"
 #include "hw/boards.h"
 #include "hw/loader.h"
 #include "exec/address-spaces.h"
diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h
index fdbcfdcbeb9..0298238f0b9 100644
--- a/hw/usb/hcd-ehci.h
+++ b/hw/usb/hcd-ehci.h
@@ -21,7 +21,6 @@
 #include "qemu/timer.h"
 #include "hw/usb.h"
 #include "sysemu/dma.h"
-#include "sysemu/sysemu.h"
 #include "hw/pci/pci.h"
 #include "hw/sysbus.h"
 
diff --git a/hw/vfio/ap.c b/hw/vfio/ap.c
index d53453aad62..da6a20669dc 100644
--- a/hw/vfio/ap.c
+++ b/hw/vfio/ap.c
@@ -25,7 +25,6 @@
 #include "cpu.h"
 #include "kvm_s390x.h"
 #include "migration/vmstate.h"
-#include "sysemu/sysemu.h"
 #include "hw/qdev-properties.h"
 #include "hw/s390x/ap-bridge.h"
 #include "exec/address-spaces.h"
diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c
index d14f6b4a7a0..d7598c61529 100644
--- a/hw/vfio/platform.c
+++ b/hw/vfio/platform.c
@@ -25,7 +25,6 @@
 #include "qemu/main-loop.h"
 #include "qemu/module.h"
 #include "qemu/range.h"
-#include "sysemu/sysemu.h"
 #include "exec/memory.h"
 #include "exec/address-spaces.h"
 #include "qemu/queue.h"
diff --git a/hw/xen/xen_pt_load_rom.c b/hw/xen/xen_pt_load_rom.c
index d111ecaf7ec..307a5c93e23 100644
--- a/hw/xen/xen_pt_load_rom.c
+++ b/hw/xen/xen_pt_load_rom.c
@@ -9,7 +9,6 @@
 #include "hw/loader.h"
 #include "monitor/monitor.h"
 #include "qemu/range.h"
-#include "sysemu/sysemu.h"
 #include "hw/pci/pci.h"
 #include "xen_pt.h"
 
diff --git a/hw/xtensa/xtensa_memory.c b/hw/xtensa/xtensa_memory.c
index 40334db441a..1c5f62b0146 100644
--- a/hw/xtensa/xtensa_memory.c
+++ b/hw/xtensa/xtensa_memory.c
@@ -28,7 +28,6 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "cpu.h"
-#include "sysemu/sysemu.h"
 #include "exec/memory.h"
 #include "qemu/error-report.h"
 #include "xtensa_memory.h"
diff --git a/include/hw/arm/allwinner-a10.h b/include/hw/arm/allwinner-a10.h
index 101b72a71dc..7d2d2156308 100644
--- a/include/hw/arm/allwinner-a10.h
+++ b/include/hw/arm/allwinner-a10.h
@@ -9,7 +9,6 @@
 #include "hw/net/allwinner_emac.h"
 #include "hw/ide/ahci.h"
 
-#include "sysemu/sysemu.h"
 #include "target/arm/cpu.h"
 
 
diff --git a/include/hw/char/serial.h b/include/hw/char/serial.h
index bfcbbb6e197..8be3d8a4f93 100644
--- a/include/hw/char/serial.h
+++ b/include/hw/char/serial.h
@@ -26,7 +26,6 @@
 #ifndef HW_SERIAL_H
 #define HW_SERIAL_H
 
-#include "sysemu/sysemu.h"
 #include "chardev/char-fe.h"
 #include "exec/memory.h"
 #include "qemu/fifo8.h"
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 859b64c51d4..4bb9e29114f 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -12,7 +12,6 @@
 #include "qemu/range.h"
 #include "qemu/bitmap.h"
 #include "qemu/module.h"
-#include "sysemu/sysemu.h"
 #include "hw/pci/pci.h"
 #include "hw/mem/pc-dimm.h"
 #include "hw/mem/nvdimm.h"
diff --git a/include/hw/riscv/riscv_htif.h b/include/hw/riscv/riscv_htif.h
index aabc059f320..fb9452cf51d 100644
--- a/include/hw/riscv/riscv_htif.h
+++ b/include/hw/riscv/riscv_htif.h
@@ -22,7 +22,6 @@
 
 #include "chardev/char.h"
 #include "chardev/char-fe.h"
-#include "sysemu/sysemu.h"
 #include "exec/memory.h"
 #include "target/riscv/cpu.h"
 
diff --git a/include/hw/timer/stm32f2xx_timer.h b/include/hw/timer/stm32f2xx_timer.h
index e6a83237a52..a96bc08b1bb 100644
--- a/include/hw/timer/stm32f2xx_timer.h
+++ b/include/hw/timer/stm32f2xx_timer.h
@@ -27,7 +27,6 @@
 
 #include "hw/sysbus.h"
 #include "qemu/timer.h"
-#include "sysemu/sysemu.h"
 
 #define TIM_CR1      0x00
 #define TIM_CR2      0x04
diff --git a/include/hw/virtio/virtio-bus.h b/include/hw/virtio/virtio-bus.h
index 8c9cc25b165..38c9399cd45 100644
--- a/include/hw/virtio/virtio-bus.h
+++ b/include/hw/virtio/virtio-bus.h
@@ -25,7 +25,6 @@
 #ifndef VIRTIO_BUS_H
 #define VIRTIO_BUS_H
 
-#include "sysemu/sysemu.h"
 #include "hw/qdev-core.h"
 #include "hw/virtio/virtio.h"
 
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index 07d4176ac17..5e6c56c4d62 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -3,7 +3,6 @@
 
 #include "hw/xen/xen_common.h"
 #include "hw/xen/xen_pvdev.h"
-#include "sysemu/sysemu.h"
 #include "net/net.h"
 
 #define TYPE_XENSYSDEV "xen-sysdev"
diff --git a/include/migration/global_state.h b/include/migration/global_state.h
index d307de8350e..945eb35d5b6 100644
--- a/include/migration/global_state.h
+++ b/include/migration/global_state.h
@@ -13,7 +13,7 @@
 #ifndef QEMU_MIGRATION_GLOBAL_STATE_H
 #define QEMU_MIGRATION_GLOBAL_STATE_H
 
-#include "sysemu/sysemu.h"
+#include "qapi/qapi-types-run-state.h"
 
 void register_global_state(void);
 int global_state_store(void);
diff --git a/include/sysemu/kvm_int.h b/include/sysemu/kvm_int.h
index 5d341cc29ba..72b2d1b3aea 100644
--- a/include/sysemu/kvm_int.h
+++ b/include/sysemu/kvm_int.h
@@ -10,7 +10,6 @@
 #define QEMU_KVM_INT_H
 
 #include "exec/memory.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/accel.h"
 #include "sysemu/kvm.h"
 
diff --git a/include/sysemu/replay.h b/include/sysemu/replay.h
index 3a7c58e4238..2f2ccdbc98b 100644
--- a/include/sysemu/replay.h
+++ b/include/sysemu/replay.h
@@ -12,8 +12,8 @@
  *
  */
 
-#include "sysemu.h"
 #include "qapi/qapi-types-misc.h"
+#include "qapi/qapi-types-run-state.h"
 #include "qapi/qapi-types-ui.h"
 
 /* replay clock kinds */
diff --git a/include/ui/spice-display.h b/include/ui/spice-display.h
index 58bb5b4c531..4a47ffdd4c8 100644
--- a/include/ui/spice-display.h
+++ b/include/ui/spice-display.h
@@ -26,7 +26,6 @@
 #include "qemu/thread.h"
 #include "ui/qemu-pixman.h"
 #include "ui/console.h"
-#include "sysemu/sysemu.h"
 
 #if defined(CONFIG_OPENGL_DMABUF)
 # if SPICE_SERVER_VERSION >= 0x000d01 /* release 0.13.1 */
diff --git a/monitor/monitor.c b/monitor/monitor.c
index 3ef28171c0d..12898b6448f 100644
--- a/monitor/monitor.c
+++ b/monitor/monitor.c
@@ -31,6 +31,7 @@
 #include "qemu/error-report.h"
 #include "qemu/option.h"
 #include "sysemu/qtest.h"
+#include "sysemu/sysemu.h"
 #include "trace.h"
 
 /*
diff --git a/net/tap-bsd.c b/net/tap-bsd.c
index 5695e3dd1f5..a5c3707f806 100644
--- a/net/tap-bsd.c
+++ b/net/tap-bsd.c
@@ -27,7 +27,6 @@
 #include "qapi/error.h"
 #include "tap_int.h"
 #include "qemu/cutils.h"
-#include "sysemu/sysemu.h"
 #include "qemu/error-report.h"
 
 #if defined(__NetBSD__) || defined(__FreeBSD__)
diff --git a/net/tap-linux.c b/net/tap-linux.c
index 941a45d7c35..e0dd442ee34 100644
--- a/net/tap-linux.c
+++ b/net/tap-linux.c
@@ -32,7 +32,6 @@
 #include <net/if.h>
 #include <sys/ioctl.h>
 
-#include "sysemu/sysemu.h"
 #include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "qemu/cutils.h"
diff --git a/net/tap-solaris.c b/net/tap-solaris.c
index 0e3f3e0a9bc..4725d2314ee 100644
--- a/net/tap-solaris.c
+++ b/net/tap-solaris.c
@@ -25,7 +25,6 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "tap_int.h"
-#include "sysemu/sysemu.h"
 #include "qemu/ctype.h"
 #include "qemu/cutils.h"
 
diff --git a/net/tap-win32.c b/net/tap-win32.c
index 9cdef472863..2b5dcda36e8 100644
--- a/net/tap-win32.c
+++ b/net/tap-win32.c
@@ -33,7 +33,6 @@
 #include "clients.h"            /* net_init_tap */
 #include "net/net.h"
 #include "net/tap.h"            /* tap_has_ufo, ... */
-#include "sysemu/sysemu.h"
 #include "qemu/error-report.h"
 #include "qemu/main-loop.h"
 #include <windows.h>
diff --git a/qdev-monitor.c b/qdev-monitor.c
index 21c1c301d04..a0003bf2a9e 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -32,6 +32,7 @@
 #include "qemu/option.h"
 #include "qemu/qemu-print.h"
 #include "sysemu/block-backend.h"
+#include "sysemu/sysemu.h"
 #include "migration/misc.h"
 
 /*
diff --git a/qemu-img.c b/qemu-img.c
index a398fd44d6f..31c72dc746e 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -42,7 +42,6 @@
 #include "qemu/module.h"
 #include "qemu/units.h"
 #include "qom/object_interfaces.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/block-backend.h"
 #include "block/block_int.h"
 #include "block/blockjob.h"
diff --git a/qom/cpu.c b/qom/cpu.c
index cdb8c71b6ba..aeb34f8c674 100644
--- a/qom/cpu.c
+++ b/qom/cpu.c
@@ -28,7 +28,6 @@
 #include "exec/log.h"
 #include "qemu/error-report.h"
 #include "qemu/qemu-print.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/tcg.h"
 #include "hw/boards.h"
 #include "hw/qdev-properties.h"
diff --git a/replay/replay-audio.c b/replay/replay-audio.c
index b113836de49..178094e6014 100644
--- a/replay/replay-audio.c
+++ b/replay/replay-audio.c
@@ -13,7 +13,6 @@
 #include "qemu/error-report.h"
 #include "sysemu/replay.h"
 #include "replay-internal.h"
-#include "sysemu/sysemu.h"
 #include "audio/audio.h"
 
 void replay_audio_out(int *played)
diff --git a/replay/replay-char.c b/replay/replay-char.c
index 736cc8c2e61..dc0002367e5 100644
--- a/replay/replay-char.c
+++ b/replay/replay-char.c
@@ -13,7 +13,6 @@
 #include "qemu/error-report.h"
 #include "sysemu/replay.h"
 #include "replay-internal.h"
-#include "sysemu/sysemu.h"
 #include "chardev/char.h"
 
 /* Char drivers that generate qemu_chr_be_write events
diff --git a/replay/replay-net.c b/replay/replay-net.c
index 80b70541569..3b70f71cf12 100644
--- a/replay/replay-net.c
+++ b/replay/replay-net.c
@@ -13,7 +13,6 @@
 #include "qemu/error-report.h"
 #include "sysemu/replay.h"
 #include "replay-internal.h"
-#include "sysemu/sysemu.h"
 #include "net/net.h"
 #include "net/filter.h"
 #include "qemu/iov.h"
diff --git a/replay/replay-snapshot.c b/replay/replay-snapshot.c
index 756f48bc025..5dd86804804 100644
--- a/replay/replay-snapshot.c
+++ b/replay/replay-snapshot.c
@@ -13,7 +13,6 @@
 #include "qapi/error.h"
 #include "sysemu/replay.h"
 #include "replay-internal.h"
-#include "sysemu/sysemu.h"
 #include "monitor/monitor.h"
 #include "qapi/qmp/qstring.h"
 #include "qemu/error-report.h"
diff --git a/stubs/replay.c b/stubs/replay.c
index 4ac607895d0..10b3925e2ff 100644
--- a/stubs/replay.c
+++ b/stubs/replay.c
@@ -1,6 +1,5 @@
 #include "qemu/osdep.h"
 #include "sysemu/replay.h"
-#include "sysemu/sysemu.h"
 
 ReplayMode replay_mode;
 
diff --git a/stubs/semihost.c b/stubs/semihost.c
index 4d5b3c06530..f90589259c0 100644
--- a/stubs/semihost.c
+++ b/stubs/semihost.c
@@ -12,6 +12,7 @@
 #include "qemu/option.h"
 #include "qemu/error-report.h"
 #include "hw/semihosting/semihost.h"
+#include "sysemu/sysemu.h"
 
 /* Empty config */
 QemuOptsList qemu_semihosting_config_opts = {
diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c
index 1901997a064..e4edff548e5 100644
--- a/target/arm/cpu64.c
+++ b/target/arm/cpu64.c
@@ -25,7 +25,6 @@
 #if !defined(CONFIG_USER_ONLY)
 #include "hw/loader.h"
 #endif
-#include "sysemu/sysemu.h"
 #include "sysemu/kvm.h"
 #include "kvm_arm.h"
 #include "qapi/visitor.h"
diff --git a/target/arm/helper-a64.c b/target/arm/helper-a64.c
index 616d62c7fcc..bca80bdc38b 100644
--- a/target/arm/helper-a64.c
+++ b/target/arm/helper-a64.c
@@ -24,7 +24,6 @@
 #include "qemu/host-utils.h"
 #include "qemu/log.h"
 #include "qemu/main-loop.h"
-#include "sysemu/sysemu.h"
 #include "qemu/bitops.h"
 #include "internals.h"
 #include "qemu/crc32c.h"
diff --git a/target/arm/helper.c b/target/arm/helper.c
index 210f5831e3d..edee110ae1e 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -16,7 +16,6 @@
 #include "exec/helper-proto.h"
 #include "qemu/host-utils.h"
 #include "qemu/main-loop.h"
-#include "sysemu/sysemu.h"
 #include "qemu/bitops.h"
 #include "qemu/crc32c.h"
 #include "qemu/qemu-print.h"
diff --git a/target/arm/kvm32.c b/target/arm/kvm32.c
index 51f78f722b1..2451a2d4bbe 100644
--- a/target/arm/kvm32.c
+++ b/target/arm/kvm32.c
@@ -16,7 +16,6 @@
 #include "qemu-common.h"
 #include "cpu.h"
 #include "qemu/timer.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/kvm.h"
 #include "kvm_arm.h"
 #include "internals.h"
diff --git a/target/arm/kvm64.c b/target/arm/kvm64.c
index c76d3d799a8..59ed579d02e 100644
--- a/target/arm/kvm64.c
+++ b/target/arm/kvm64.c
@@ -23,7 +23,6 @@
 #include "qemu/host-utils.h"
 #include "qemu/main-loop.h"
 #include "exec/gdbstub.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/kvm.h"
 #include "kvm_arm.h"
 #include "internals.h"
diff --git a/target/arm/m_helper.c b/target/arm/m_helper.c
index cde5195d284..884d35d2b02 100644
--- a/target/arm/m_helper.c
+++ b/target/arm/m_helper.c
@@ -16,7 +16,6 @@
 #include "exec/helper-proto.h"
 #include "qemu/host-utils.h"
 #include "qemu/main-loop.h"
-#include "sysemu/sysemu.h"
 #include "qemu/bitops.h"
 #include "qemu/crc32c.h"
 #include "qemu/qemu-print.h"
diff --git a/target/i386/hvf/x86_task.c b/target/i386/hvf/x86_task.c
index 73cd5d28172..1daac6cc2b3 100644
--- a/target/i386/hvf/x86_task.c
+++ b/target/i386/hvf/x86_task.c
@@ -29,7 +29,6 @@
 #include "hw/i386/apic_internal.h"
 #include "qemu/main-loop.h"
 #include "sysemu/accel.h"
-#include "sysemu/sysemu.h"
 #include "target/i386/cpu.h"
 
 // TODO: taskswitch handling
diff --git a/target/lm32/helper.c b/target/lm32/helper.c
index 9f3b1074747..1130fc88846 100644
--- a/target/lm32/helper.c
+++ b/target/lm32/helper.c
@@ -21,7 +21,6 @@
 #include "cpu.h"
 #include "exec/exec-all.h"
 #include "qemu/host-utils.h"
-#include "sysemu/sysemu.h"
 #include "hw/semihosting/semihost.h"
 #include "exec/log.h"
 
diff --git a/target/m68k/m68k-semi.c b/target/m68k/m68k-semi.c
index 01627b42c99..8e5fbfc8fa3 100644
--- a/target/m68k/m68k-semi.c
+++ b/target/m68k/m68k-semi.c
@@ -28,7 +28,6 @@
 #include "exec/softmmu-semi.h"
 #endif
 #include "qemu/log.h"
-#include "sysemu/sysemu.h"
 
 #define HOSTED_EXIT  0
 #define HOSTED_INIT_SIM 1
diff --git a/target/nios2/nios2-semi.c b/target/nios2/nios2-semi.c
index cc2777d2f89..d7a80dd303a 100644
--- a/target/nios2/nios2-semi.c
+++ b/target/nios2/nios2-semi.c
@@ -32,7 +32,6 @@
 #include "exec/softmmu-semi.h"
 #endif
 #include "qemu/log.h"
-#include "sysemu/sysemu.h"
 
 #define HOSTED_EXIT  0
 #define HOSTED_INIT_SIM 1
diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
index 6836a4afb3d..6162a903fa1 100644
--- a/target/ppc/kvm.c
+++ b/target/ppc/kvm.c
@@ -27,7 +27,6 @@
 #include "cpu.h"
 #include "cpu-models.h"
 #include "qemu/timer.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/hw_accel.h"
 #include "kvm_ppc.h"
 #include "sysemu/cpus.h"
diff --git a/target/sparc/helper.c b/target/sparc/helper.c
index 1a52061fbf2..07d87efa4ee 100644
--- a/target/sparc/helper.c
+++ b/target/sparc/helper.c
@@ -22,7 +22,6 @@
 #include "exec/exec-all.h"
 #include "qemu/host-utils.h"
 #include "exec/helper-proto.h"
-#include "sysemu/sysemu.h"
 
 void cpu_raise_exception_ra(CPUSPARCState *env, int tt, uintptr_t ra)
 {
diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c
index 6f1da878752..fa12a576b20 100644
--- a/target/xtensa/translate.c
+++ b/target/xtensa/translate.c
@@ -36,7 +36,6 @@
 #include "tcg-op.h"
 #include "qemu/log.h"
 #include "qemu/qemu-print.h"
-#include "sysemu/sysemu.h"
 #include "exec/cpu_ldst.h"
 #include "hw/semihosting/semihost.h"
 #include "exec/translator.h"
diff --git a/target/xtensa/xtensa-semi.c b/target/xtensa/xtensa-semi.c
index 8862985e563..25f57a6500c 100644
--- a/target/xtensa/xtensa-semi.c
+++ b/target/xtensa/xtensa-semi.c
@@ -32,7 +32,6 @@
 #include "hw/semihosting/semihost.h"
 #include "qapi/error.h"
 #include "qemu/log.h"
-#include "sysemu/sysemu.h"
 
 enum {
     TARGET_SYS_exit = 1,
diff --git a/tests/migration-test.c b/tests/migration-test.c
index c1968740abe..b87ba99a9e0 100644
--- a/tests/migration-test.c
+++ b/tests/migration-test.c
@@ -20,7 +20,6 @@
 #include "qemu/range.h"
 #include "qemu/sockets.h"
 #include "chardev/char.h"
-#include "sysemu/sysemu.h"
 #include "qapi/qapi-visit-sockets.h"
 #include "qapi/qobject-input-visitor.h"
 #include "qapi/qobject-output-visitor.h"
diff --git a/ui/input-keymap.c b/ui/input-keymap.c
index db5ccff5ad4..c4301851bd2 100644
--- a/ui/input-keymap.c
+++ b/ui/input-keymap.c
@@ -1,5 +1,4 @@
 #include "qemu/osdep.h"
-#include "sysemu/sysemu.h"
 #include "keymaps.h"
 #include "ui/input.h"
 
diff --git a/ui/input-legacy.c b/ui/input-legacy.c
index 549654e26a3..9fc78a639bd 100644
--- a/ui/input-legacy.c
+++ b/ui/input-legacy.c
@@ -24,7 +24,6 @@
 
 #include "qemu/osdep.h"
 #include "qapi/qapi-commands-ui.h"
-#include "sysemu/sysemu.h"
 #include "ui/console.h"
 #include "keymaps.h"
 #include "ui/input.h"
diff --git a/ui/input-linux.c b/ui/input-linux.c
index e3fa799c34f..59456fe7658 100644
--- a/ui/input-linux.c
+++ b/ui/input-linux.c
@@ -10,7 +10,6 @@
 #include "qemu/main-loop.h"
 #include "qemu/module.h"
 #include "qemu/sockets.h"
-#include "sysemu/sysemu.h"
 #include "ui/input.h"
 #include "qom/object_interfaces.h"
 #include "sysemu/iothread.h"
diff --git a/ui/keymaps.c b/ui/keymaps.c
index 6e8a321971a..4e5fca57a80 100644
--- a/ui/keymaps.c
+++ b/ui/keymaps.c
@@ -25,7 +25,6 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "keymaps.h"
-#include "sysemu/sysemu.h"
 #include "trace.h"
 #include "qemu/ctype.h"
 #include "qemu/error-report.h"
diff --git a/ui/sdl2-2d.c b/ui/sdl2-2d.c
index db191aaa791..a2ea85127d5 100644
--- a/ui/sdl2-2d.c
+++ b/ui/sdl2-2d.c
@@ -27,7 +27,6 @@
 #include "ui/console.h"
 #include "ui/input.h"
 #include "ui/sdl2.h"
-#include "sysemu/sysemu.h"
 
 void sdl2_2d_update(DisplayChangeListener *dcl,
                     int x, int y, int w, int h)
diff --git a/ui/sdl2-gl.c b/ui/sdl2-gl.c
index 7a37e7c995a..c73d273bf80 100644
--- a/ui/sdl2-gl.c
+++ b/ui/sdl2-gl.c
@@ -29,7 +29,6 @@
 #include "ui/console.h"
 #include "ui/input.h"
 #include "ui/sdl2.h"
-#include "sysemu/sysemu.h"
 
 static void sdl2_set_scanout_mode(struct sdl2_console *scon, bool scanout)
 {
diff --git a/ui/sdl2-input.c b/ui/sdl2-input.c
index b1daae41115..1f9fe831b30 100644
--- a/ui/sdl2-input.c
+++ b/ui/sdl2-input.c
@@ -27,7 +27,6 @@
 #include "ui/console.h"
 #include "ui/input.h"
 #include "ui/sdl2.h"
-#include "sysemu/sysemu.h"
 
 void sdl2_process_key(struct sdl2_console *scon,
                       SDL_KeyboardEvent *ev)
diff --git a/ui/spice-display.c b/ui/spice-display.c
index 0c65ae2fe33..6babe249095 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -22,7 +22,6 @@
 #include "qemu/option.h"
 #include "qemu/queue.h"
 #include "ui/console.h"
-#include "sysemu/sysemu.h"
 #include "trace.h"
 
 #include "ui/spice-display.h"
diff --git a/util/qemu-timer.c b/util/qemu-timer.c
index 1cc1b2f2c37..b0e40a90877 100644
--- a/util/qemu-timer.c
+++ b/util/qemu-timer.c
@@ -26,7 +26,6 @@
 #include "qemu/main-loop.h"
 #include "qemu/timer.h"
 #include "sysemu/replay.h"
-#include "sysemu/sysemu.h"
 #include "sysemu/cpus.h"
 
 #ifdef CONFIG_POSIX
-- 
GitLab