diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2019-08-16 14:53:43 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2019-08-16 14:53:43 +0100 |
commit | 95a9457fd44ad97c518858a4e1586a5498f9773c (patch) | |
tree | 48b3918361cd6a59208d8479a4ce5c681e499665 /include | |
parent | 1f3a51f3feabb5235c073a9ec9211156a519d058 (diff) | |
parent | 54d31236b906c8f03eb011717de7bc47000720c3 (diff) | |
download | qemu-95a9457fd44ad97c518858a4e1586a5498f9773c.zip qemu-95a9457fd44ad97c518858a4e1586a5498f9773c.tar.gz qemu-95a9457fd44ad97c518858a4e1586a5498f9773c.tar.bz2 |
Merge remote-tracking branch 'remotes/armbru/tags/pull-include-2019-08-13-v2' into staging
Header cleanup patches for 2019-08-13
# gpg: Signature made Fri 16 Aug 2019 12:39:12 BST
# gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg: issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* remotes/armbru/tags/pull-include-2019-08-13-v2: (29 commits)
sysemu: Split sysemu/runstate.h off sysemu/sysemu.h
sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h
Include sysemu/sysemu.h a lot less
Clean up inclusion of sysemu/sysemu.h
numa: Move remaining NUMA declarations from sysemu.h to numa.h
Include sysemu/hostmem.h less
numa: Don't include hw/boards.h into sysemu/numa.h
Include hw/boards.h a bit less
Include hw/qdev-properties.h less
Include qemu/main-loop.h less
Include qemu/queue.h slightly less
Include hw/hw.h exactly where needed
Include qom/object.h slightly less
Include exec/memory.h slightly less
Include migration/vmstate.h less
migration: Move the VMStateDescription typedef to typedefs.h
Clean up inclusion of exec/cpu-common.h
Include hw/irq.h a lot less
typedefs: Separate incomplete types and function types
ide: Include hw/ide/internal a bit less outside hw/ide/
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include')
249 files changed, 377 insertions, 272 deletions
diff --git a/include/authz/listfile.h b/include/authz/listfile.h index 33b728d..24ae2e6 100644 --- a/include/authz/listfile.h +++ b/include/authz/listfile.h @@ -22,7 +22,6 @@ #define QAUTHZ_LISTFILE_H #include "authz/list.h" -#include "qapi/qapi-types-authz.h" #include "qemu/filemonitor.h" #define TYPE_QAUTHZ_LIST_FILE "authz-list-file" diff --git a/include/block/block.h b/include/block/block.h index 50a07c1..ae79b70 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -2,7 +2,6 @@ #define BLOCK_H #include "block/aio.h" -#include "qapi/qapi-types-block-core.h" #include "block/aio-wait.h" #include "qemu/iov.h" #include "qemu/coroutine.h" diff --git a/include/block/block_int.h b/include/block/block_int.h index 3aa1e83..6207a10 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -33,7 +33,6 @@ #include "qemu/timer.h" #include "qemu/hbitmap.h" #include "block/snapshot.h" -#include "qemu/main-loop.h" #include "qemu/throttle.h" #define BLOCK_FLAG_LAZY_REFCOUNTS 8 diff --git a/include/block/raw-aio.h b/include/block/raw-aio.h index 0cb7cc7..4629f24 100644 --- a/include/block/raw-aio.h +++ b/include/block/raw-aio.h @@ -12,9 +12,11 @@ * Contributions after 2012-01-13 are licensed under the terms of the * GNU GPL, version 2 or (at your option) any later version. */ + #ifndef QEMU_RAW_AIO_H #define QEMU_RAW_AIO_H +#include "block/aio.h" #include "qemu/coroutine.h" #include "qemu/iov.h" diff --git a/include/block/write-threshold.h b/include/block/write-threshold.h index 80d8aab..c646f26 100644 --- a/include/block/write-threshold.h +++ b/include/block/write-threshold.h @@ -9,9 +9,11 @@ * This work is licensed under the terms of the GNU LGPL, version 2 or later. * See the COPYING.LIB file in the top-level directory. */ + #ifndef BLOCK_WRITE_THRESHOLD_H #define BLOCK_WRITE_THRESHOLD_H +#include "block/block_int.h" /* * bdrv_write_threshold_set: diff --git a/include/chardev/char-fe.h b/include/chardev/char-fe.h index aa1b864..67601dc 100644 --- a/include/chardev/char-fe.h +++ b/include/chardev/char-fe.h @@ -2,6 +2,7 @@ #define QEMU_CHAR_FE_H #include "chardev/char.h" +#include "qemu/main-loop.h" typedef void IOEventHandler(void *opaque, int event); typedef int BackendChangeHandler(void *opaque); diff --git a/include/chardev/char-io.h b/include/chardev/char-io.h index 1709b59..ac379ea 100644 --- a/include/chardev/char-io.h +++ b/include/chardev/char-io.h @@ -26,6 +26,7 @@ #include "io/channel.h" #include "chardev/char.h" +#include "qemu/main-loop.h" /* Can only be used for read */ GSource *io_add_watch_poll(Chardev *chr, diff --git a/include/chardev/char.h b/include/chardev/char.h index c0b57f7..087b202 100644 --- a/include/chardev/char.h +++ b/include/chardev/char.h @@ -2,8 +2,8 @@ #define QEMU_CHAR_H #include "qapi/qapi-types-char.h" -#include "qemu/main-loop.h" #include "qemu/bitmap.h" +#include "qemu/thread.h" #include "qom/object.h" #define IAC_EOR 239 diff --git a/include/disas/disas.h b/include/disas/disas.h index 15da511..ba47e91 100644 --- a/include/disas/disas.h +++ b/include/disas/disas.h @@ -1,6 +1,7 @@ #ifndef QEMU_DISAS_H #define QEMU_DISAS_H +#include "exec/hwaddr.h" #ifdef NEED_CPU_H #include "cpu.h" diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h index 9bc713a..57a9a4f 100644 --- a/include/exec/cpu-defs.h +++ b/include/exec/cpu-defs.h @@ -25,7 +25,6 @@ #include "qemu/host-utils.h" #include "qemu/thread.h" -#include "qemu/queue.h" #ifdef CONFIG_TCG #include "tcg-target.h" #endif diff --git a/include/exec/cputlb.h b/include/exec/cputlb.h index 5373188..a62cfb2 100644 --- a/include/exec/cputlb.h +++ b/include/exec/cputlb.h @@ -16,9 +16,12 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ + #ifndef CPUTLB_H #define CPUTLB_H +#include "exec/cpu-common.h" + #if !defined(CONFIG_USER_ONLY) /* cputlb.c */ void tlb_protect_code(ram_addr_t ram_addr); diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h index 16034ee..135aeaa 100644 --- a/include/exec/exec-all.h +++ b/include/exec/exec-all.h @@ -20,6 +20,7 @@ #ifndef EXEC_ALL_H #define EXEC_ALL_H +#include "cpu.h" #include "exec/tb-context.h" #include "sysemu/cpus.h" diff --git a/include/exec/ioport.h b/include/exec/ioport.h index a298b89..97feb29 100644 --- a/include/exec/ioport.h +++ b/include/exec/ioport.h @@ -24,6 +24,8 @@ #ifndef IOPORT_H #define IOPORT_H +#include "exec/memory.h" + #define MAX_IOPORTS (64 * 1024) #define IOPORTS_MASK (MAX_IOPORTS - 1) diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h index d1a9dd1..ef4fb92 100644 --- a/include/exec/memory-internal.h +++ b/include/exec/memory-internal.h @@ -20,6 +20,8 @@ #ifndef MEMORY_INTERNAL_H #define MEMORY_INTERNAL_H +#include "cpu.h" + #ifndef CONFIG_USER_ONLY static inline AddressSpaceDispatch *flatview_to_dispatch(FlatView *fv) { diff --git a/include/exec/memory.h b/include/exec/memory.h index bb0961d..d99eb25 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -20,12 +20,12 @@ #include "exec/hwaddr.h" #include "exec/memattrs.h" #include "exec/ramlist.h" +#include "qemu/bswap.h" #include "qemu/queue.h" #include "qemu/int128.h" #include "qemu/notify.h" #include "qom/object.h" #include "qemu/rcu.h" -#include "hw/qdev-core.h" #define RAM_ADDR_INVALID (~(ram_addr_t)0) @@ -205,6 +205,12 @@ struct MemoryRegionOps { } impl; }; +typedef struct MemoryRegionClass { + /* private */ + ObjectClass parent_class; +} MemoryRegionClass; + + enum IOMMUMemoryRegionAttr { IOMMU_ATTR_SPAPR_TCE_FD }; @@ -237,7 +243,7 @@ enum IOMMUMemoryRegionAttr { */ typedef struct IOMMUMemoryRegionClass { /* private */ - struct DeviceClass parent_class; + MemoryRegionClass parent_class; /* * Return a TLB entry that contains a given address. diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h index b7b2e60..a327a80 100644 --- a/include/exec/ram_addr.h +++ b/include/exec/ram_addr.h @@ -20,6 +20,7 @@ #define RAM_ADDR_H #ifndef CONFIG_USER_ONLY +#include "cpu.h" #include "hw/xen/xen.h" #include "sysemu/tcg.h" #include "exec/ramlist.h" diff --git a/include/exec/softmmu-semi.h b/include/exec/softmmu-semi.h index 9708379..fbcae88 100644 --- a/include/exec/softmmu-semi.h +++ b/include/exec/softmmu-semi.h @@ -10,6 +10,8 @@ #ifndef SOFTMMU_SEMI_H #define SOFTMMU_SEMI_H +#include "cpu.h" + static inline uint64_t softmmu_tget64(CPUArchState *env, target_ulong addr) { uint64_t val; diff --git a/include/exec/tb-hash.h b/include/exec/tb-hash.h index 4f3a37d..805235d 100644 --- a/include/exec/tb-hash.h +++ b/include/exec/tb-hash.h @@ -20,6 +20,8 @@ #ifndef EXEC_TB_HASH_H #define EXEC_TB_HASH_H +#include "exec/cpu-defs.h" +#include "exec/exec-all.h" #include "qemu/xxhash.h" #ifdef CONFIG_SOFTMMU diff --git a/include/exec/user/thunk.h b/include/exec/user/thunk.h index 8d3af5a..eae2c27 100644 --- a/include/exec/user/thunk.h +++ b/include/exec/user/thunk.h @@ -16,10 +16,12 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ + #ifndef THUNK_H #define THUNK_H #include "cpu.h" +#include "exec/user/abitypes.h" /* types enums definitions */ diff --git a/include/fpu/softfloat-macros.h b/include/fpu/softfloat-macros.h index c55aa6d..be83a83 100644 --- a/include/fpu/softfloat-macros.h +++ b/include/fpu/softfloat-macros.h @@ -82,6 +82,8 @@ this code that are retained. #ifndef FPU_SOFTFLOAT_MACROS_H #define FPU_SOFTFLOAT_MACROS_H +#include "fpu/softfloat.h" + /*---------------------------------------------------------------------------- | Shifts `a' right by the number of bits given in `count'. If any nonzero | bits are shifted off, they are ``jammed'' into the least significant bit of diff --git a/include/hw/acpi/acpi.h b/include/hw/acpi/acpi.h index c91e2b9..1f2dafb 100644 --- a/include/hw/acpi/acpi.h +++ b/include/hw/acpi/acpi.h @@ -22,7 +22,6 @@ #include "qemu/notify.h" #include "exec/memory.h" -#include "hw/irq.h" #include "hw/acpi/acpi_dev_interface.h" /* diff --git a/include/hw/acpi/acpi_dev_interface.h b/include/hw/acpi/acpi_dev_interface.h index 43ff119..0ba90ef 100644 --- a/include/hw/acpi/acpi_dev_interface.h +++ b/include/hw/acpi/acpi_dev_interface.h @@ -1,8 +1,10 @@ #ifndef ACPI_DEV_INTERFACE_H #define ACPI_DEV_INTERFACE_H +#include "qapi/qapi-types-misc.h" #include "qom/object.h" #include "hw/boards.h" +#include "hw/qdev-core.h" /* These values are part of guest ABI, and can not be changed */ typedef enum { diff --git a/include/hw/acpi/pci.h b/include/hw/acpi/pci.h index 8bbd32c..bf2a3ed 100644 --- a/include/hw/acpi/pci.h +++ b/include/hw/acpi/pci.h @@ -22,9 +22,12 @@ * You should have received a copy of the GNU General Public License along * with this program; if not, see <http://www.gnu.org/licenses/>. */ + #ifndef HW_ACPI_PCI_H #define HW_ACPI_PCI_H +#include "hw/acpi/bios-linker-loader.h" + typedef struct AcpiMcfgInfo { uint64_t base; uint32_t size; diff --git a/include/hw/acpi/tco.h b/include/hw/acpi/tco.h index d19dd59..a1e0da8 100644 --- a/include/hw/acpi/tco.h +++ b/include/hw/acpi/tco.h @@ -6,9 +6,11 @@ * This work is licensed under the terms of the GNU GPL, version 2 or later. * See the COPYING file in the top-level directory. */ + #ifndef HW_ACPI_TCO_H #define HW_ACPI_TCO_H +#include "exec/memory.h" /* As per ICH9 spec, the internal timer has an error of ~0.6s on every tick */ #define TCO_TICK_NSEC 600000000LL diff --git a/include/hw/acpi/vmgenid.h b/include/hw/acpi/vmgenid.h index 38586ec..c49d913 100644 --- a/include/hw/acpi/vmgenid.h +++ b/include/hw/acpi/vmgenid.h @@ -2,7 +2,7 @@ #define ACPI_VMGENID_H #include "hw/acpi/bios-linker-loader.h" -#include "hw/qdev.h" +#include "hw/qdev-core.h" #include "qemu/uuid.h" #define VMGENID_DEVICE "vmgenid" diff --git a/include/hw/adc/stm32f2xx_adc.h b/include/hw/adc/stm32f2xx_adc.h index a72f734..663b79f 100644 --- a/include/hw/adc/stm32f2xx_adc.h +++ b/include/hw/adc/stm32f2xx_adc.h @@ -25,6 +25,8 @@ #ifndef HW_STM32F2XX_ADC_H #define HW_STM32F2XX_ADC_H +#include "hw/sysbus.h" + #define ADC_SR 0x00 #define ADC_CR1 0x04 #define ADC_CR2 0x08 diff --git a/include/hw/arm/allwinner-a10.h b/include/hw/arm/allwinner-a10.h index e99fe2e..7d2d215 100644 --- a/include/hw/arm/allwinner-a10.h +++ b/include/hw/arm/allwinner-a10.h @@ -7,10 +7,9 @@ #include "hw/timer/allwinner-a10-pit.h" #include "hw/intc/allwinner-a10-pic.h" #include "hw/net/allwinner_emac.h" -#include "hw/ide/pci.h" #include "hw/ide/ahci.h" -#include "sysemu/sysemu.h" +#include "target/arm/cpu.h" #define AW_A10_PIC_REG_BASE 0x01c20400 diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h index cef605a..976fd6b 100644 --- a/include/hw/arm/aspeed_soc.h +++ b/include/hw/arm/aspeed_soc.h @@ -22,6 +22,7 @@ #include "hw/ssi/aspeed_smc.h" #include "hw/watchdog/wdt_aspeed.h" #include "hw/net/ftgmac100.h" +#include "target/arm/cpu.h" #define ASPEED_SPIS_NUM 2 #define ASPEED_WDTS_NUM 3 diff --git a/include/hw/arm/bcm2836.h b/include/hw/arm/bcm2836.h index a2cb845..97187f7 100644 --- a/include/hw/arm/bcm2836.h +++ b/include/hw/arm/bcm2836.h @@ -13,6 +13,7 @@ #include "hw/arm/bcm2835_peripherals.h" #include "hw/intc/bcm2836_control.h" +#include "target/arm/cpu.h" #define TYPE_BCM283X "bcm283x" #define BCM283X(obj) OBJECT_CHECK(BCM283XState, (obj), TYPE_BCM283X) diff --git a/include/hw/arm/boot.h b/include/hw/arm/boot.h index c48cc4c..5714dea 100644 --- a/include/hw/arm/boot.h +++ b/include/hw/arm/boot.h @@ -11,9 +11,7 @@ #ifndef HW_ARM_BOOT_H #define HW_ARM_BOOT_H -#include "exec/memory.h" #include "target/arm/cpu-qom.h" -#include "hw/irq.h" #include "qemu/notify.h" typedef enum { diff --git a/include/hw/arm/exynos4210.h b/include/hw/arm/exynos4210.h index aa13727..f0f23b0 100644 --- a/include/hw/arm/exynos4210.h +++ b/include/hw/arm/exynos4210.h @@ -19,13 +19,12 @@ * * You should have received a copy of the GNU General Public License along * with this program; if not, see <http://www.gnu.org/licenses/>. - * */ #ifndef EXYNOS4210_H #define EXYNOS4210_H -#include "exec/memory.h" +#include "hw/sysbus.h" #include "target/arm/cpu-qom.h" #define EXYNOS4210_NCPUS 2 diff --git a/include/hw/arm/fsl-imx25.h b/include/hw/arm/fsl-imx25.h index 3280ab1..241efb5 100644 --- a/include/hw/arm/fsl-imx25.h +++ b/include/hw/arm/fsl-imx25.h @@ -27,6 +27,7 @@ #include "hw/i2c/imx_i2c.h" #include "hw/gpio/imx_gpio.h" #include "exec/memory.h" +#include "target/arm/cpu.h" #define TYPE_FSL_IMX25 "fsl,imx25" #define FSL_IMX25(obj) OBJECT_CHECK(FslIMX25State, (obj), TYPE_FSL_IMX25) diff --git a/include/hw/arm/fsl-imx31.h b/include/hw/arm/fsl-imx31.h index e68a81e..ac5ca98 100644 --- a/include/hw/arm/fsl-imx31.h +++ b/include/hw/arm/fsl-imx31.h @@ -26,6 +26,7 @@ #include "hw/i2c/imx_i2c.h" #include "hw/gpio/imx_gpio.h" #include "exec/memory.h" +#include "target/arm/cpu.h" #define TYPE_FSL_IMX31 "fsl,imx31" #define FSL_IMX31(obj) OBJECT_CHECK(FslIMX31State, (obj), TYPE_FSL_IMX31) diff --git a/include/hw/arm/fsl-imx7.h b/include/hw/arm/fsl-imx7.h index 8003d45..706aef2 100644 --- a/include/hw/arm/fsl-imx7.h +++ b/include/hw/arm/fsl-imx7.h @@ -38,7 +38,6 @@ #include "hw/net/imx_fec.h" #include "hw/pci-host/designware.h" #include "hw/usb/chipidea.h" -#include "exec/memory.h" #include "cpu.h" #define TYPE_FSL_IMX7 "fsl,imx7" diff --git a/include/hw/arm/omap.h b/include/hw/arm/omap.h index d21e418..2fda996 100644 --- a/include/hw/arm/omap.h +++ b/include/hw/arm/omap.h @@ -21,7 +21,6 @@ #define HW_ARM_OMAP_H #include "exec/memory.h" -#include "hw/irq.h" #include "hw/input/tsc2xxx.h" #include "target/arm/cpu-qom.h" #include "qemu/log.h" diff --git a/include/hw/arm/sharpsl.h b/include/hw/arm/sharpsl.h index 5bf6db1..89e168f 100644 --- a/include/hw/arm/sharpsl.h +++ b/include/hw/arm/sharpsl.h @@ -3,9 +3,12 @@ * * This file is licensed under the GNU GPL. */ + #ifndef QEMU_SHARPSL_H #define QEMU_SHARPSL_H +#include "exec/hwaddr.h" + #define zaurus_printf(format, ...) \ fprintf(stderr, "%s: " format, __func__, ##__VA_ARGS__) diff --git a/include/hw/arm/soc_dma.h b/include/hw/arm/soc_dma.h index fae3229..e93a749 100644 --- a/include/hw/arm/soc_dma.h +++ b/include/hw/arm/soc_dma.h @@ -21,8 +21,7 @@ #ifndef HW_SOC_DMA_H #define HW_SOC_DMA_H -#include "exec/memory.h" -#include "hw/irq.h" +#include "exec/hwaddr.h" struct soc_dma_s; struct soc_dma_ch_s; diff --git a/include/hw/arm/xlnx-zynqmp.h b/include/hw/arm/xlnx-zynqmp.h index 35804ea..d7483c3 100644 --- a/include/hw/arm/xlnx-zynqmp.h +++ b/include/hw/arm/xlnx-zynqmp.h @@ -22,7 +22,6 @@ #include "hw/intc/arm_gic.h" #include "hw/net/cadence_gem.h" #include "hw/char/cadence_uart.h" -#include "hw/ide/pci.h" #include "hw/ide/ahci.h" #include "hw/sd/sdhci.h" #include "hw/ssi/xilinx_spips.h" @@ -32,6 +31,7 @@ #include "hw/intc/xlnx-zynqmp-ipi.h" #include "hw/timer/xlnx-zynqmp-rtc.h" #include "hw/cpu/cluster.h" +#include "target/arm/cpu.h" #define TYPE_XLNX_ZYNQMP "xlnx,zynqmp" #define XLNX_ZYNQMP(obj) OBJECT_CHECK(XlnxZynqMPState, (obj), \ diff --git a/include/hw/audio/pcspk.h b/include/hw/audio/pcspk.h index 172afbf..632cce9 100644 --- a/include/hw/audio/pcspk.h +++ b/include/hw/audio/pcspk.h @@ -25,8 +25,8 @@ #ifndef HW_PCSPK_H #define HW_PCSPK_H -#include "hw/hw.h" #include "hw/isa/isa.h" +#include "hw/qdev-properties.h" #define TYPE_PC_SPEAKER "isa-pcspk" diff --git a/include/hw/audio/wm8750.h b/include/hw/audio/wm8750.h index e12cb88..f7bafd5 100644 --- a/include/hw/audio/wm8750.h +++ b/include/hw/audio/wm8750.h @@ -14,7 +14,6 @@ #ifndef HW_DAC_WM8750_H #define HW_DAC_WM8750_H -#include "hw/hw.h" #define TYPE_WM8750 "wm8750" #define TYPE_MV88W8618_AUDIO "mv88w8618_audio" diff --git a/include/hw/block/fdc.h b/include/hw/block/fdc.h index 8cece84..c15ff4c 100644 --- a/include/hw/block/fdc.h +++ b/include/hw/block/fdc.h @@ -1,6 +1,7 @@ #ifndef HW_FDC_H #define HW_FDC_H +#include "exec/hwaddr.h" #include "qapi/qapi-types-block.h" /* fdc.c */ diff --git a/include/hw/block/flash.h b/include/hw/block/flash.h index 1acaf7d..2136a2d 100644 --- a/include/hw/block/flash.h +++ b/include/hw/block/flash.h @@ -3,7 +3,7 @@ /* NOR flash devices */ -#include "exec/memory.h" +#include "exec/hwaddr.h" /* pflash_cfi01.c */ diff --git a/include/hw/boards.h b/include/hw/boards.h index a71d1a5..739d109 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -3,9 +3,9 @@ #ifndef HW_BOARDS_H #define HW_BOARDS_H +#include "exec/memory.h" #include "sysemu/blockdev.h" #include "sysemu/accel.h" -#include "hw/qdev.h" #include "qapi/qapi-types-machine.h" #include "qemu/module.h" #include "qom/object.h" @@ -86,7 +86,7 @@ void machine_class_allow_dynamic_sysbus_dev(MachineClass *mc, const char *type); * @props - CPU object properties, initialized by board * #vcpus_count - number of threads provided by @cpu object */ -typedef struct { +typedef struct CPUArchId { uint64_t arch_id; int64_t vcpus_count; CpuInstanceProperties props; diff --git a/include/hw/bt.h b/include/hw/bt.h index b5e11d4..d9ee2fc 100644 --- a/include/hw/bt.h +++ b/include/hw/bt.h @@ -26,7 +26,6 @@ #ifndef HW_BT_H #define HW_BT_H -#include "hw/irq.h" /* BD Address */ typedef struct { diff --git a/include/hw/char/cadence_uart.h b/include/hw/char/cadence_uart.h index e1cf33e..47cec95 100644 --- a/include/hw/char/cadence_uart.h +++ b/include/hw/char/cadence_uart.h @@ -19,6 +19,7 @@ #ifndef CADENCE_UART_H #define CADENCE_UART_H +#include "hw/qdev-properties.h" #include "hw/sysbus.h" #include "chardev/char-fe.h" #include "qemu/timer.h" diff --git a/include/hw/char/cmsdk-apb-uart.h b/include/hw/char/cmsdk-apb-uart.h index c41fba9..3c1b53d 100644 --- a/include/hw/char/cmsdk-apb-uart.h +++ b/include/hw/char/cmsdk-apb-uart.h @@ -12,6 +12,7 @@ #ifndef CMSDK_APB_UART_H #define CMSDK_APB_UART_H +#include "hw/qdev-properties.h" #include "hw/sysbus.h" #include "chardev/char-fe.h" diff --git a/include/hw/char/escc.h b/include/hw/char/escc.h index 42aca83..d5196c5 100644 --- a/include/hw/char/escc.h +++ b/include/hw/char/escc.h @@ -3,6 +3,7 @@ #include "chardev/char-fe.h" #include "chardev/char-serial.h" +#include "hw/sysbus.h" #include "ui/input.h" /* escc.c */ diff --git a/include/hw/char/lm32_juart.h b/include/hw/char/lm32_juart.h index e7c6fb5..6fce278 100644 --- a/include/hw/char/lm32_juart.h +++ b/include/hw/char/lm32_juart.h @@ -1,7 +1,7 @@ #ifndef QEMU_HW_CHAR_LM32_JUART_H #define QEMU_HW_CHAR_LM32_JUART_H -#include "hw/qdev.h" +#include "hw/qdev-core.h" #define TYPE_LM32_JUART "lm32-juart" diff --git a/include/hw/char/parallel.h b/include/hw/char/parallel.h index d6dd62f..0a23c0f 100644 --- a/include/hw/char/parallel.h +++ b/include/hw/char/parallel.h @@ -1,7 +1,6 @@ #ifndef HW_PARALLEL_H #define HW_PARALLEL_H -#include "exec/memory.h" #include "hw/isa/isa.h" #include "chardev/char.h" diff --git a/include/hw/char/pl011.h b/include/hw/char/pl011.h index dad3cf2..1418716 100644 --- a/include/hw/char/pl011.h +++ b/include/hw/char/pl011.h @@ -15,6 +15,7 @@ #ifndef HW_PL011_H #define HW_PL011_H +#include "hw/qdev-properties.h" #include "hw/sysbus.h" #include "chardev/char-fe.h" diff --git a/include/hw/char/serial.h b/include/hw/char/serial.h index abd5cf7..8be3d8a 100644 --- a/include/hw/char/serial.h +++ b/include/hw/char/serial.h @@ -26,8 +26,6 @@ #ifndef HW_SERIAL_H #define HW_SERIAL_H -#include "hw/hw.h" -#include "sysemu/sysemu.h" #include "chardev/char-fe.h" #include "exec/memory.h" #include "qemu/fifo8.h" diff --git a/include/hw/char/stm32f2xx_usart.h b/include/hw/char/stm32f2xx_usart.h index 84c4029..8e11267 100644 --- a/include/hw/char/stm32f2xx_usart.h +++ b/include/hw/char/stm32f2xx_usart.h @@ -27,7 +27,6 @@ #include "hw/sysbus.h" #include "chardev/char-fe.h" -#include "hw/hw.h" #define USART_SR 0x00 #define USART_DR 0x04 diff --git a/include/hw/char/xilinx_uartlite.h b/include/hw/char/xilinx_uartlite.h index 634086b..194e2fe 100644 --- a/include/hw/char/xilinx_uartlite.h +++ b/include/hw/char/xilinx_uartlite.h @@ -15,6 +15,9 @@ #ifndef XILINX_UARTLITE_H #define XILINX_UARTLITE_H +#include "hw/qdev-properties.h" +#include "hw/sysbus.h" + static inline DeviceState *xilinx_uartlite_create(hwaddr addr, qemu_irq irq, Chardev *chr) diff --git a/include/hw/core/generic-loader.h b/include/hw/core/generic-loader.h index dd27c42..9ffce1c 100644 --- a/include/hw/core/generic-loader.h +++ b/include/hw/core/generic-loader.h @@ -19,6 +19,7 @@ #define GENERIC_LOADER_H #include "elf.h" +#include "hw/qdev-core.h" typedef struct GenericLoaderState { /* <private> */ diff --git a/include/hw/core/split-irq.h b/include/hw/core/split-irq.h index bb87157..872a39a 100644 --- a/include/hw/core/split-irq.h +++ b/include/hw/core/split-irq.h @@ -35,7 +35,6 @@ #ifndef HW_SPLIT_IRQ_H #define HW_SPLIT_IRQ_H -#include "hw/irq.h" #include "hw/sysbus.h" #include "qom/object.h" diff --git a/include/hw/cpu/cluster.h b/include/hw/cpu/cluster.h index 01c1e50..a616501 100644 --- a/include/hw/cpu/cluster.h +++ b/include/hw/cpu/cluster.h @@ -20,7 +20,7 @@ #ifndef HW_CPU_CLUSTER_H #define HW_CPU_CLUSTER_H -#include "hw/qdev.h" +#include "hw/qdev-core.h" /* * CPU Cluster type diff --git a/include/hw/cpu/core.h b/include/hw/cpu/core.h index b747064..555ad83 100644 --- a/include/hw/cpu/core.h +++ b/include/hw/cpu/core.h @@ -9,7 +9,7 @@ #ifndef HW_CPU_CORE_H #define HW_CPU_CORE_H -#include "hw/qdev.h" +#include "hw/qdev-core.h" #define TYPE_CPU_CORE "cpu-core" diff --git a/include/hw/cris/etraxfs.h b/include/hw/cris/etraxfs.h index 8da965a..aa146a2 100644 --- a/include/hw/cris/etraxfs.h +++ b/include/hw/cris/etraxfs.h @@ -27,6 +27,8 @@ #include "net/net.h" #include "hw/cris/etraxfs_dma.h" +#include "hw/qdev-properties.h" +#include "hw/sysbus.h" /* Instantiate an ETRAXFS Ethernet MAC. */ static inline DeviceState * diff --git a/include/hw/cris/etraxfs_dma.h b/include/hw/cris/etraxfs_dma.h index f6f33e0..095d76b 100644 --- a/include/hw/cris/etraxfs_dma.h +++ b/include/hw/cris/etraxfs_dma.h @@ -1,6 +1,8 @@ #ifndef HW_ETRAXFS_DMA_H #define HW_ETRAXFS_DMA_H +#include "exec/hwaddr.h" + struct dma_context_metadata { /* data descriptor md */ uint16_t metadata; diff --git a/include/hw/display/blizzard.h b/include/hw/display/blizzard.h index ef72bbc..5b33018 100644 --- a/include/hw/display/blizzard.h +++ b/include/hw/display/blizzard.h @@ -11,7 +11,6 @@ #ifndef HW_DISPLAY_BLIZZARD_H #define HW_DISPLAY_BLIZZARD_H -#include "hw/irq.h" void *s1d13745_init(qemu_irq gpio_int); void s1d13745_write(void *opaque, int dc, uint16_t value); diff --git a/include/hw/display/edid.h b/include/hw/display/edid.h index 7948bd2..ff99dc0 100644 --- a/include/hw/display/edid.h +++ b/include/hw/display/edid.h @@ -1,7 +1,7 @@ #ifndef EDID_H #define EDID_H -#include "hw/hw.h" +#include "qom/object.h" typedef struct qemu_edid_info { const char *vendor; /* http://www.uefi.org/pnp_id_list */ diff --git a/include/hw/display/i2c-ddc.h b/include/hw/display/i2c-ddc.h index c29443c..1cf53a0 100644 --- a/include/hw/display/i2c-ddc.h +++ b/include/hw/display/i2c-ddc.h @@ -20,6 +20,7 @@ #define I2C_DDC_H #include "hw/display/edid.h" +#include "hw/i2c/i2c.h" /* A simple I2C slave which just returns the contents of its EDID blob. */ struct I2CDDCState { diff --git a/include/hw/display/milkymist_tmu2.h b/include/hw/display/milkymist_tmu2.h index 148a119..e3394ff 100644 --- a/include/hw/display/milkymist_tmu2.h +++ b/include/hw/display/milkymist_tmu2.h @@ -27,7 +27,8 @@ #ifndef HW_DISPLAY_MILKYMIST_TMU2_H #define HW_DISPLAY_MILKYMIST_TMU2_H -#include "hw/qdev.h" +#include "exec/hwaddr.h" +#include "hw/qdev-core.h" #if defined(CONFIG_X11) && defined(CONFIG_OPENGL) DeviceState *milkymist_tmu2_create(hwaddr base, qemu_irq irq); diff --git a/include/hw/display/tc6393xb.h b/include/hw/display/tc6393xb.h index 5c4da91..f9263bf 100644 --- a/include/hw/display/tc6393xb.h +++ b/include/hw/display/tc6393xb.h @@ -12,9 +12,6 @@ #ifndef HW_DISPLAY_TC6393XB_H #define HW_DISPLAY_TC6393XB_H -#include "exec/memory.h" -#include "hw/irq.h" - typedef struct TC6393xbState TC6393xbState; TC6393xbState *tc6393xb_init(struct MemoryRegion *sysmem, diff --git a/include/hw/display/vga.h b/include/hw/display/vga.h index 0401a3a..ca0003d 100644 --- a/include/hw/display/vga.h +++ b/include/hw/display/vga.h @@ -9,7 +9,7 @@ #ifndef QEMU_HW_DISPLAY_VGA_H #define QEMU_HW_DISPLAY_VGA_H -#include "exec/memory.h" +#include "exec/hwaddr.h" enum vga_retrace_method { VGA_RETRACE_DUMB, diff --git a/include/hw/dma/i8257.h b/include/hw/dma/i8257.h index 2cab50b..03e2c16 100644 --- a/include/hw/dma/i8257.h +++ b/include/hw/dma/i8257.h @@ -1,7 +1,6 @@ #ifndef HW_I8257_H #define HW_I8257_H -#include "hw/hw.h" #include "hw/isa/isa.h" #include "exec/ioport.h" diff --git a/include/hw/empty_slot.h b/include/hw/empty_slot.h index 123a9f8..cb9a221 100644 --- a/include/hw/empty_slot.h +++ b/include/hw/empty_slot.h @@ -1,6 +1,8 @@ #ifndef HW_EMPTY_SLOT_H #define HW_EMPTY_SLOT_H +#include "exec/hwaddr.h" + /* empty_slot.c */ void empty_slot_init(hwaddr addr, uint64_t slot_size); diff --git a/include/hw/gpio/bcm2835_gpio.h b/include/hw/gpio/bcm2835_gpio.h index 9f8e0c7..b0de0a3 100644 --- a/include/hw/gpio/bcm2835_gpio.h +++ b/include/hw/gpio/bcm2835_gpio.h @@ -15,6 +15,7 @@ #define BCM2835_GPIO_H #include "hw/sd/sd.h" +#include "hw/sysbus.h" typedef struct BCM2835GpioState { SysBusDevice parent_obj; diff --git a/include/hw/hw.h b/include/hw/hw.h index b1b7996..fc5301f 100644 --- a/include/hw/hw.h +++ b/include/hw/hw.h @@ -1,4 +1,3 @@ -/* Declarations for use by hardware emulation. */ #ifndef QEMU_HW_H #define QEMU_HW_H @@ -6,14 +5,6 @@ #error Cannot include hw/hw.h from user emulation #endif -#include "exec/cpu-common.h" -#include "qom/object.h" -#include "exec/memory.h" -#include "hw/irq.h" -#include "migration/vmstate.h" -#include "migration/qemu-file-types.h" -#include "sysemu/reset.h" - void QEMU_NORETURN hw_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2); #endif diff --git a/include/hw/i2c/aspeed_i2c.h b/include/hw/i2c/aspeed_i2c.h index f9020ac..a2753f0 100644 --- a/include/hw/i2c/aspeed_i2c.h +++ b/include/hw/i2c/aspeed_i2c.h @@ -17,10 +17,12 @@ * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ + #ifndef ASPEED_I2C_H #define ASPEED_I2C_H #include "hw/i2c/i2c.h" +#include "hw/sysbus.h" #define TYPE_ASPEED_I2C "aspeed.i2c" #define ASPEED_I2C(obj) \ diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h index 75c5bd6..4117211 100644 --- a/include/hw/i2c/i2c.h +++ b/include/hw/i2c/i2c.h @@ -1,7 +1,7 @@ #ifndef QEMU_I2C_H #define QEMU_I2C_H -#include "hw/qdev.h" +#include "hw/qdev-core.h" /* The QEMU I2C implementation only supports simple transfers that complete immediately. It does not support slave devices that need to be able to diff --git a/include/hw/i2c/pm_smbus.h b/include/hw/i2c/pm_smbus.h index fb55c44..0d74207 100644 --- a/include/hw/i2c/pm_smbus.h +++ b/include/hw/i2c/pm_smbus.h @@ -1,6 +1,7 @@ #ifndef PM_SMBUS_H #define PM_SMBUS_H +#include "exec/memory.h" #include "hw/i2c/smbus_master.h" #define PM_SMBUS_MAX_MSG_SIZE 32 diff --git a/include/hw/i2c/smbus_eeprom.h b/include/hw/i2c/smbus_eeprom.h index 0f96836..15e2151 100644 --- a/include/hw/i2c/smbus_eeprom.h +++ b/include/hw/i2c/smbus_eeprom.h @@ -23,6 +23,7 @@ #ifndef HW_SMBUS_EEPROM_H #define HW_SMBUS_EEPROM_H +#include "exec/cpu-common.h" #include "hw/i2c/i2c.h" void smbus_eeprom_init_one(I2CBus *bus, uint8_t address, uint8_t *eeprom_buf); diff --git a/include/hw/i386/apic_internal.h b/include/hw/i386/apic_internal.h index 1209eb4..b04bdd9 100644 --- a/include/hw/i386/apic_internal.h +++ b/include/hw/i386/apic_internal.h @@ -24,6 +24,7 @@ #include "cpu.h" #include "exec/memory.h" #include "qemu/timer.h" +#include "target/i386/cpu-qom.h" /* APIC Local Vector Table */ #define APIC_LVT_TIMER 0 diff --git a/include/hw/i386/ich9.h b/include/hw/i386/ich9.h index 046bcf3..72e803f 100644 --- a/include/hw/i386/ich9.h +++ b/include/hw/i386/ich9.h @@ -1,7 +1,6 @@ #ifndef HW_ICH9_H #define HW_ICH9_H -#include "hw/hw.h" #include "hw/isa/isa.h" #include "hw/sysbus.h" #include "hw/i386/pc.h" diff --git a/include/hw/i386/intel_iommu.h b/include/hw/i386/intel_iommu.h index 12f3d26..66b931e 100644 --- a/include/hw/i386/intel_iommu.h +++ b/include/hw/i386/intel_iommu.h @@ -21,7 +21,7 @@ #ifndef INTEL_IOMMU_H #define INTEL_IOMMU_H -#include "hw/qdev.h" + #include "sysemu/dma.h" #include "hw/i386/x86-iommu.h" #include "hw/i386/ioapic.h" diff --git a/include/hw/i386/ioapic_internal.h b/include/hw/i386/ioapic_internal.h index 07002f9..d46c87c 100644 --- a/include/hw/i386/ioapic_internal.h +++ b/include/hw/i386/ioapic_internal.h @@ -22,8 +22,8 @@ #ifndef QEMU_IOAPIC_INTERNAL_H #define QEMU_IOAPIC_INTERNAL_H -#include "hw/hw.h" #include "exec/memory.h" +#include "hw/i386/ioapic.h" #include "hw/sysbus.h" #include "qemu/notify.h" diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 859b64c..4bb9e29 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/ide/internal.h b/include/hw/ide/internal.h index 8efd031..52ec197 100644 --- a/include/hw/ide/internal.h +++ b/include/hw/ide/internal.h @@ -6,10 +6,12 @@ * only files in hw/ide/ are supposed to include this file. * non-internal declarations are in hw/ide.h */ + +#include "qapi/qapi-types-run-state.h" #include "hw/ide.h" +#include "hw/irq.h" #include "hw/isa/isa.h" #include "sysemu/dma.h" -#include "sysemu/sysemu.h" #include "hw/block/block.h" #include "scsi/constants.h" diff --git a/include/hw/input/adb.h b/include/hw/input/adb.h index f99d478..b7b32e2 100644 --- a/include/hw/input/adb.h +++ b/include/hw/input/adb.h @@ -26,7 +26,7 @@ #ifndef ADB_H #define ADB_H -#include "hw/qdev.h" +#include "hw/qdev-core.h" #define MAX_ADB_DEVICES 16 diff --git a/include/hw/input/gamepad.h b/include/hw/input/gamepad.h index e20211b..6f6aa24 100644 --- a/include/hw/input/gamepad.h +++ b/include/hw/input/gamepad.h @@ -11,7 +11,6 @@ #ifndef HW_INPUT_GAMEPAD_H #define HW_INPUT_GAMEPAD_H -#include "hw/irq.h" /* stellaris_input.c */ void stellaris_gamepad_init(int n, qemu_irq *irq, const int *keycode); diff --git a/include/hw/input/hid.h b/include/hw/input/hid.h index 2127c7c..6a9d7bf 100644 --- a/include/hw/input/hid.h +++ b/include/hw/input/hid.h @@ -1,7 +1,6 @@ #ifndef QEMU_HID_H #define QEMU_HID_H -#include "migration/vmstate.h" #include "ui/input.h" #define HID_MOUSE 1 diff --git a/include/hw/input/i8042.h b/include/hw/input/i8042.h index f6ff146..246e6f3 100644 --- a/include/hw/input/i8042.h +++ b/include/hw/input/i8042.h @@ -8,7 +8,6 @@ #ifndef HW_INPUT_I8042_H #define HW_INPUT_I8042_H -#include "hw/hw.h" #include "hw/isa/isa.h" #define TYPE_I8042 "i8042" diff --git a/include/hw/input/tsc2xxx.h b/include/hw/input/tsc2xxx.h index dbfe5c5..3cd8f1b 100644 --- a/include/hw/input/tsc2xxx.h +++ b/include/hw/input/tsc2xxx.h @@ -11,7 +11,6 @@ #ifndef HW_INPUT_TSC2XXX_H #define HW_INPUT_TSC2XXX_H -#include "hw/irq.h" #include "ui/console.h" typedef struct uWireSlave { diff --git a/include/hw/intc/allwinner-a10-pic.h b/include/hw/intc/allwinner-a10-pic.h index 1d314a7..a589540 100644 --- a/include/hw/intc/allwinner-a10-pic.h +++ b/include/hw/intc/allwinner-a10-pic.h @@ -1,6 +1,8 @@ #ifndef ALLWINNER_A10_PIC_H #define ALLWINNER_A10_PIC_H +#include "hw/sysbus.h" + #define TYPE_AW_A10_PIC "allwinner-a10-pic" #define AW_A10_PIC(obj) OBJECT_CHECK(AwA10PICState, (obj), TYPE_AW_A10_PIC) diff --git a/include/hw/intc/heathrow_pic.h b/include/hw/intc/heathrow_pic.h index 6c91ec9..b163e27 100644 --- a/include/hw/intc/heathrow_pic.h +++ b/include/hw/intc/heathrow_pic.h @@ -26,6 +26,8 @@ #ifndef HW_INTC_HEATHROW_PIC_H #define HW_INTC_HEATHROW_PIC_H +#include "hw/sysbus.h" + #define TYPE_HEATHROW "heathrow" #define HEATHROW(obj) OBJECT_CHECK(HeathrowState, (obj), TYPE_HEATHROW) diff --git a/include/hw/intc/mips_gic.h b/include/hw/intc/mips_gic.h index 902a12b..8428287 100644 --- a/include/hw/intc/mips_gic.h +++ b/include/hw/intc/mips_gic.h @@ -13,6 +13,7 @@ #include "qemu/units.h" #include "hw/timer/mips_gictimer.h" +#include "hw/sysbus.h" #include "cpu.h" /* * GIC Specific definitions diff --git a/include/hw/ipack/ipack.h b/include/hw/ipack/ipack.h index e33e032..1c07969 100644 --- a/include/hw/ipack/ipack.h +++ b/include/hw/ipack/ipack.h @@ -11,7 +11,7 @@ #ifndef QEMU_IPACK_H #define QEMU_IPACK_H -#include "hw/qdev.h" +#include "hw/qdev-core.h" typedef struct IPackBus IPackBus; diff --git a/include/hw/ipmi/ipmi.h b/include/hw/ipmi/ipmi.h index 011faf2..70871da 100644 --- a/include/hw/ipmi/ipmi.h +++ b/include/hw/ipmi/ipmi.h @@ -26,7 +26,7 @@ #define HW_IPMI_H #include "exec/memory.h" -#include "hw/qdev.h" +#include "hw/qdev-core.h" #define MAX_IPMI_MSG_SIZE 300 diff --git a/include/hw/irq.h b/include/hw/irq.h index 7a40e3e..fe527f6 100644 --- a/include/hw/irq.h +++ b/include/hw/irq.h @@ -5,10 +5,6 @@ #define TYPE_IRQ "irq" -typedef struct IRQState *qemu_irq; - -typedef void (*qemu_irq_handler)(void *opaque, int n, int level); - void qemu_set_irq(qemu_irq irq, int level); static inline void qemu_irq_raise(qemu_irq irq) diff --git a/include/hw/isa/apm.h b/include/hw/isa/apm.h index 0f93602..b6e070c 100644 --- a/include/hw/isa/apm.h +++ b/include/hw/isa/apm.h @@ -1,7 +1,6 @@ #ifndef APM_H #define APM_H -#include "hw/hw.h" #include "exec/memory.h" #define APM_CNT_IOPORT 0xb2 diff --git a/include/hw/isa/i8259_internal.h b/include/hw/isa/i8259_internal.h index f742c2a..ee189e4 100644 --- a/include/hw/isa/i8259_internal.h +++ b/include/hw/isa/i8259_internal.h @@ -25,7 +25,6 @@ #ifndef QEMU_I8259_INTERNAL_H #define QEMU_I8259_INTERNAL_H -#include "hw/hw.h" #include "hw/i386/pc.h" #include "hw/isa/isa.h" #include "hw/intc/intc.h" diff --git a/include/hw/isa/isa.h b/include/hw/isa/isa.h index e62ac91..018ada4 100644 --- a/include/hw/isa/isa.h +++ b/include/hw/isa/isa.h @@ -5,7 +5,7 @@ #include "exec/memory.h" #include "exec/ioport.h" -#include "hw/qdev.h" +#include "hw/qdev-core.h" #define ISA_NUM_IRQS 16 diff --git a/include/hw/isa/vt82c686.h b/include/hw/isa/vt82c686.h index c3c2b6e..f23f45d 100644 --- a/include/hw/isa/vt82c686.h +++ b/include/hw/isa/vt82c686.h @@ -1,6 +1,7 @@ #ifndef HW_VT82C686_H #define HW_VT82C686_H + #define TYPE_VT82C686B_SUPERIO "vt82c686b-superio" /* vt82c686.c */ diff --git a/include/hw/mem/memory-device.h b/include/hw/mem/memory-device.h index 0293a96..04476ac 100644 --- a/include/hw/mem/memory-device.h +++ b/include/hw/mem/memory-device.h @@ -13,8 +13,9 @@ #ifndef MEMORY_DEVICE_H #define MEMORY_DEVICE_H +#include "hw/qdev-core.h" +#include "qapi/qapi-types-misc.h" #include "qom/object.h" -#include "hw/qdev.h" #define TYPE_MEMORY_DEVICE "memory-device" diff --git a/include/hw/mem/pc-dimm.h b/include/hw/mem/pc-dimm.h index 01436b9..289edc0 100644 --- a/include/hw/mem/pc-dimm.h +++ b/include/hw/mem/pc-dimm.h @@ -17,9 +17,7 @@ #define QEMU_PC_DIMM_H #include "exec/memory.h" -#include "sysemu/hostmem.h" -#include "hw/qdev.h" -#include "hw/boards.h" +#include "hw/qdev-core.h" #define TYPE_PC_DIMM "pc-dimm" #define PC_DIMM(obj) \ diff --git a/include/hw/mips/cps.h b/include/hw/mips/cps.h index aab1af9..a941c55 100644 --- a/include/hw/mips/cps.h +++ b/include/hw/mips/cps.h @@ -25,6 +25,7 @@ #include "hw/intc/mips_gic.h" #include "hw/misc/mips_cpc.h" #include "hw/misc/mips_itu.h" +#include "target/mips/cpu.h" #define TYPE_MIPS_CPS "mips-cps" #define MIPS_CPS(obj) OBJECT_CHECK(MIPSCPSState, (obj), TYPE_MIPS_CPS) diff --git a/include/hw/mips/mips.h b/include/hw/mips/mips.h index 2f6774d..0af4c3d 100644 --- a/include/hw/mips/mips.h +++ b/include/hw/mips/mips.h @@ -6,7 +6,6 @@ #define INITRD_PAGE_MASK (~((1 << 16) - 1)) #include "exec/memory.h" -#include "hw/irq.h" /* gt64xxx.c */ PCIBus *gt64120_register(qemu_irq *pic); diff --git a/include/hw/misc/auxbus.h b/include/hw/misc/auxbus.h index c15b444..a539a98 100644 --- a/include/hw/misc/auxbus.h +++ b/include/hw/misc/auxbus.h @@ -25,7 +25,8 @@ #ifndef HW_MISC_AUXBUS_H #define HW_MISC_AUXBUS_H -#include "hw/qdev.h" +#include "exec/memory.h" +#include "hw/qdev-core.h" typedef struct AUXBus AUXBus; typedef struct AUXSlave AUXSlave; diff --git a/include/hw/misc/cbus.h b/include/hw/misc/cbus.h index c899943..5334984 100644 --- a/include/hw/misc/cbus.h +++ b/include/hw/misc/cbus.h @@ -13,7 +13,6 @@ #ifndef HW_MISC_CBUS_H #define HW_MISC_CBUS_H -#include "hw/irq.h" typedef struct { qemu_irq clk; diff --git a/include/hw/misc/macio/cuda.h b/include/hw/misc/macio/cuda.h index 7dad469..5768075 100644 --- a/include/hw/misc/macio/cuda.h +++ b/include/hw/misc/macio/cuda.h @@ -26,6 +26,8 @@ #ifndef CUDA_H #define CUDA_H +#include "hw/misc/mos6522.h" + /* CUDA commands (2nd byte) */ #define CUDA_WARM_START 0x0 #define CUDA_AUTOPOLL 0x1 diff --git a/include/hw/misc/macio/gpio.h b/include/hw/misc/macio/gpio.h index 2838ae5..24a4364 100644 --- a/include/hw/misc/macio/gpio.h +++ b/include/hw/misc/macio/gpio.h @@ -26,6 +26,9 @@ #ifndef MACIO_GPIO_H #define MACIO_GPIO_H +#include "hw/ppc/openpic.h" +#include "hw/sysbus.h" + #define TYPE_MACIO_GPIO "macio-gpio" #define MACIO_GPIO(obj) OBJECT_CHECK(MacIOGPIOState, (obj), TYPE_MACIO_GPIO) diff --git a/include/hw/misc/macio/macio.h b/include/hw/misc/macio/macio.h index 970058b..070a694 100644 --- a/include/hw/misc/macio/macio.h +++ b/include/hw/misc/macio/macio.h @@ -27,10 +27,12 @@ #define MACIO_H #include "hw/char/escc.h" +#include "hw/ide/internal.h" #include "hw/intc/heathrow_pic.h" #include "hw/misc/macio/cuda.h" #include "hw/misc/macio/gpio.h" #include "hw/misc/macio/pmu.h" +#include "hw/ppc/mac.h" #include "hw/ppc/mac_dbdma.h" #include "hw/ppc/openpic.h" diff --git a/include/hw/misc/macio/pmu.h b/include/hw/misc/macio/pmu.h index d10895b..7ef83de 100644 --- a/include/hw/misc/macio/pmu.h +++ b/include/hw/misc/macio/pmu.h @@ -10,6 +10,9 @@ #ifndef PMU_H #define PMU_H +#include "hw/misc/mos6522.h" +#include "hw/misc/macio/gpio.h" + /* * PMU commands */ diff --git a/include/hw/misc/mips_cmgcr.h b/include/hw/misc/mips_cmgcr.h index c9dfcb4..3e6e223 100644 --- a/include/hw/misc/mips_cmgcr.h +++ b/include/hw/misc/mips_cmgcr.h @@ -10,6 +10,8 @@ #ifndef MIPS_CMGCR_H #define MIPS_CMGCR_H +#include "hw/sysbus.h" + #define TYPE_MIPS_GCR "mips-gcr" #define MIPS_GCR(obj) OBJECT_CHECK(MIPSGCRState, (obj), TYPE_MIPS_GCR) diff --git a/include/hw/misc/mips_cpc.h b/include/hw/misc/mips_cpc.h index 72c834e..3f67057 100644 --- a/include/hw/misc/mips_cpc.h +++ b/include/hw/misc/mips_cpc.h @@ -20,6 +20,8 @@ #ifndef MIPS_CPC_H #define MIPS_CPC_H +#include "hw/sysbus.h" + #define CPC_ADDRSPACE_SZ 0x6000 /* CPC blocks offsets relative to base address */ diff --git a/include/hw/misc/mos6522.h b/include/hw/misc/mos6522.h index 03d9f0c..493c907 100644 --- a/include/hw/misc/mos6522.h +++ b/include/hw/misc/mos6522.h @@ -29,7 +29,6 @@ #include "exec/memory.h" #include "hw/sysbus.h" -#include "hw/ide/internal.h" #include "hw/input/adb.h" /* Bits in ACR */ diff --git a/include/hw/misc/pvpanic.h b/include/hw/misc/pvpanic.h index 1ee071a..ae0c818 100644 --- a/include/hw/misc/pvpanic.h +++ b/include/hw/misc/pvpanic.h @@ -11,9 +11,12 @@ * See the COPYING file in the top-level directory. * */ + #ifndef HW_MISC_PVPANIC_H #define HW_MISC_PVPANIC_H +#include "qom/object.h" + #define TYPE_PVPANIC "pvpanic" #define PVPANIC_IOPORT_PROP "ioport" diff --git a/include/hw/misc/stm32f2xx_syscfg.h b/include/hw/misc/stm32f2xx_syscfg.h index 69e6a30..84e06fd 100644 --- a/include/hw/misc/stm32f2xx_syscfg.h +++ b/include/hw/misc/stm32f2xx_syscfg.h @@ -26,7 +26,6 @@ #define HW_STM32F2XX_SYSCFG_H #include "hw/sysbus.h" -#include "hw/hw.h" #define SYSCFG_MEMRMP 0x00 #define SYSCFG_PMC 0x04 diff --git a/include/hw/misc/unimp.h b/include/hw/misc/unimp.h index 2a291ca..44d87be 100644 --- a/include/hw/misc/unimp.h +++ b/include/hw/misc/unimp.h @@ -8,6 +8,7 @@ #ifndef HW_MISC_UNIMP_H #define HW_MISC_UNIMP_H +#include "hw/qdev-properties.h" #include "hw/sysbus.h" #define TYPE_UNIMPLEMENTED_DEVICE "unimplemented-device" diff --git a/include/hw/misc/vmcoreinfo.h b/include/hw/misc/vmcoreinfo.h index 0d11578..d4f3d3a 100644 --- a/include/hw/misc/vmcoreinfo.h +++ b/include/hw/misc/vmcoreinfo.h @@ -12,7 +12,7 @@ #ifndef VMCOREINFO_H #define VMCOREINFO_H -#include "hw/qdev.h" +#include "hw/qdev-core.h" #include "standard-headers/linux/qemu_fw_cfg.h" #define VMCOREINFO_DEVICE "vmcoreinfo" diff --git a/include/hw/net/allwinner_emac.h b/include/hw/net/allwinner_emac.h index 905a43d..5013207 100644 --- a/include/hw/net/allwinner_emac.h +++ b/include/hw/net/allwinner_emac.h @@ -27,6 +27,7 @@ #include "net/net.h" #include "qemu/fifo8.h" #include "hw/net/mii.h" +#include "hw/sysbus.h" #define TYPE_AW_EMAC "allwinner-emac" #define AW_EMAC(obj) OBJECT_CHECK(AwEmacState, (obj), TYPE_AW_EMAC) diff --git a/include/hw/net/lan9118.h b/include/hw/net/lan9118.h index 500acb4..3d0c67f 100644 --- a/include/hw/net/lan9118.h +++ b/include/hw/net/lan9118.h @@ -11,7 +11,6 @@ #ifndef HW_NET_LAN9118_H #define HW_NET_LAN9118_H -#include "hw/irq.h" #include "net/net.h" #define TYPE_LAN9118 "lan9118" diff --git a/include/hw/net/lance.h b/include/hw/net/lance.h index ffdd35c..0357f5f 100644 --- a/include/hw/net/lance.h +++ b/include/hw/net/lance.h @@ -31,6 +31,7 @@ #include "net/net.h" #include "hw/net/pcnet.h" +#include "hw/sysbus.h" #define TYPE_LANCE "lance" #define SYSBUS_PCNET(obj) \ diff --git a/include/hw/net/ne2000-isa.h b/include/hw/net/ne2000-isa.h index 5acf4a4..eef17a6 100644 --- a/include/hw/net/ne2000-isa.h +++ b/include/hw/net/ne2000-isa.h @@ -10,9 +10,8 @@ #ifndef HW_NET_NE2000_ISA_H #define HW_NET_NE2000_ISA_H -#include "hw/hw.h" -#include "hw/qdev.h" #include "hw/isa/isa.h" +#include "hw/qdev-properties.h" #include "net/net.h" #define TYPE_ISA_NE2000 "ne2k_isa" diff --git a/include/hw/net/smc91c111.h b/include/hw/net/smc91c111.h index a66ba41..df5b11d 100644 --- a/include/hw/net/smc91c111.h +++ b/include/hw/net/smc91c111.h @@ -11,7 +11,6 @@ #ifndef HW_NET_SMC91C111_H #define HW_NET_SMC91C111_H -#include "hw/irq.h" #include "net/net.h" void smc91c111_init(NICInfo *, uint32_t, qemu_irq); diff --git a/include/hw/nvram/chrp_nvram.h b/include/hw/nvram/chrp_nvram.h index b4f5b2b..09941a9 100644 --- a/include/hw/nvram/chrp_nvram.h +++ b/include/hw/nvram/chrp_nvram.h @@ -18,6 +18,8 @@ #ifndef CHRP_NVRAM_H #define CHRP_NVRAM_H +#include "qemu/bswap.h" + /* OpenBIOS NVRAM partition */ typedef struct { uint8_t signature; diff --git a/include/hw/or-irq.h b/include/hw/or-irq.h index 5a31e5a..3a3230d 100644 --- a/include/hw/or-irq.h +++ b/include/hw/or-irq.h @@ -25,7 +25,6 @@ #ifndef HW_OR_IRQ_H #define HW_OR_IRQ_H -#include "hw/irq.h" #include "hw/sysbus.h" #include "qom/object.h" diff --git a/include/hw/pci-host/designware.h b/include/hw/pci-host/designware.h index 186bb36..31c4123 100644 --- a/include/hw/pci-host/designware.h +++ b/include/hw/pci-host/designware.h @@ -21,7 +21,6 @@ #ifndef DESIGNWARE_H #define DESIGNWARE_H -#include "hw/hw.h" #include "hw/sysbus.h" #include "hw/pci/pci.h" #include "hw/pci/pci_bus.h" diff --git a/include/hw/pci-host/gpex.h b/include/hw/pci-host/gpex.h index 2af1c4a..faea040 100644 --- a/include/hw/pci-host/gpex.h +++ b/include/hw/pci-host/gpex.h @@ -20,7 +20,6 @@ #ifndef HW_GPEX_H #define HW_GPEX_H -#include "hw/hw.h" #include "hw/sysbus.h" #include "hw/pci/pci.h" #include "hw/pci/pcie_host.h" diff --git a/include/hw/pci-host/q35.h b/include/hw/pci-host/q35.h index 5ed77fa..b3bcf2e 100644 --- a/include/hw/pci-host/q35.h +++ b/include/hw/pci-host/q35.h @@ -22,7 +22,6 @@ #ifndef HW_Q35_H #define HW_Q35_H -#include "hw/hw.h" #include "hw/isa/isa.h" #include "hw/sysbus.h" #include "hw/i386/pc.h" diff --git a/include/hw/pci-host/sabre.h b/include/hw/pci-host/sabre.h index 9afa493..99b5aef 100644 --- a/include/hw/pci-host/sabre.h +++ b/include/hw/pci-host/sabre.h @@ -1,6 +1,8 @@ #ifndef HW_PCI_HOST_SABRE_H #define HW_PCI_HOST_SABRE_H +#include "hw/pci/pci.h" +#include "hw/pci/pci_host.h" #include "hw/sparc/sun4u_iommu.h" #define MAX_IVEC 0x40 diff --git a/include/hw/pci-host/uninorth.h b/include/hw/pci-host/uninorth.h index 0603245..72d2a97 100644 --- a/include/hw/pci-host/uninorth.h +++ b/include/hw/pci-host/uninorth.h @@ -25,8 +25,7 @@ #ifndef UNINORTH_H #define UNINORTH_H -#include "hw/hw.h" - +#include "hw/pci/pci_host.h" #include "hw/ppc/openpic.h" /* UniNorth version */ diff --git a/include/hw/pci-host/xilinx-pcie.h b/include/hw/pci-host/xilinx-pcie.h index 74c04dc..c0f1531 100644 --- a/include/hw/pci-host/xilinx-pcie.h +++ b/include/hw/pci-host/xilinx-pcie.h @@ -20,7 +20,6 @@ #ifndef HW_XILINX_PCIE_H #define HW_XILINX_PCIE_H -#include "hw/hw.h" #include "hw/sysbus.h" #include "hw/pci/pci.h" #include "hw/pci/pci_bridge.h" diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h index aaf1b9f..1b840e6 100644 --- a/include/hw/pci/pci.h +++ b/include/hw/pci/pci.h @@ -1,7 +1,6 @@ #ifndef QEMU_PCI_H #define QEMU_PCI_H -#include "hw/qdev.h" #include "exec/memory.h" #include "sysemu/dma.h" diff --git a/include/hw/pci/pcie.h b/include/hw/pci/pcie.h index 8cf3361..7064875 100644 --- a/include/hw/pci/pcie.h +++ b/include/hw/pci/pcie.h @@ -21,7 +21,6 @@ #ifndef QEMU_PCIE_H #define QEMU_PCIE_H -#include "hw/hw.h" #include "hw/pci/pci_regs.h" #include "hw/pci/pcie_regs.h" #include "hw/pci/pcie_aer.h" diff --git a/include/hw/pci/pcie_aer.h b/include/hw/pci/pcie_aer.h index 729a943..65e71d9 100644 --- a/include/hw/pci/pcie_aer.h +++ b/include/hw/pci/pcie_aer.h @@ -21,7 +21,7 @@ #ifndef QEMU_PCIE_AER_H #define QEMU_PCIE_AER_H -#include "hw/hw.h" +#include "hw/pci/pci_regs.h" /* definitions which PCIExpressDevice uses */ diff --git a/include/hw/pci/shpc.h b/include/hw/pci/shpc.h index bd8204f..d5683b7 100644 --- a/include/hw/pci/shpc.h +++ b/include/hw/pci/shpc.h @@ -4,6 +4,7 @@ #include "exec/memory.h" #include "hw/hotplug.h" #include "hw/pci/pci.h" +#include "migration/vmstate.h" struct SHPCDevice { /* Capability offset in device's config space */ diff --git a/include/hw/pcmcia.h b/include/hw/pcmcia.h index 1b40807..ebad7bc 100644 --- a/include/hw/pcmcia.h +++ b/include/hw/pcmcia.h @@ -3,7 +3,7 @@ /* PCMCIA/Cardbus */ -#include "hw/qdev.h" +#include "hw/qdev-core.h" typedef struct PCMCIASocket { qemu_irq irq; diff --git a/include/hw/ppc/openpic.h b/include/hw/ppc/openpic.h index 7642a8e..ec16897 100644 --- a/include/hw/ppc/openpic.h +++ b/include/hw/ppc/openpic.h @@ -2,7 +2,6 @@ #define OPENPIC_H #include "hw/sysbus.h" -#include "hw/qdev-core.h" #include "qom/cpu.h" #define MAX_CPU 32 diff --git a/include/hw/ppc/pnv_core.h b/include/hw/ppc/pnv_core.h index d092645..bfbd2ec 100644 --- a/include/hw/ppc/pnv_core.h +++ b/include/hw/ppc/pnv_core.h @@ -21,6 +21,7 @@ #define PPC_PNV_CORE_H #include "hw/cpu/core.h" +#include "target/ppc/cpu.h" #define TYPE_PNV_CORE "powernv-cpu-core" #define PNV_CORE(obj) \ diff --git a/include/hw/ppc/ppc4xx.h b/include/hw/ppc/ppc4xx.h index 39a7ba1..7d82259 100644 --- a/include/hw/ppc/ppc4xx.h +++ b/include/hw/ppc/ppc4xx.h @@ -25,6 +25,9 @@ #ifndef PPC4XX_H #define PPC4XX_H +#include "hw/ppc/ppc.h" +#include "exec/memory.h" + /* PowerPC 4xx core initialization */ PowerPCCPU *ppc4xx_init(const char *cpu_model, clk_setup_t *cpu_clk, clk_setup_t *tb_clk, diff --git a/include/hw/ppc/spapr_cpu_core.h b/include/hw/ppc/spapr_cpu_core.h index f9645a7..35e0a7e 100644 --- a/include/hw/ppc/spapr_cpu_core.h +++ b/include/hw/ppc/spapr_cpu_core.h @@ -9,8 +9,8 @@ #ifndef HW_SPAPR_CPU_CORE_H #define HW_SPAPR_CPU_CORE_H -#include "hw/qdev.h" #include "hw/cpu/core.h" +#include "hw/qdev-core.h" #include "target/ppc/cpu-qom.h" #include "target/ppc/cpu.h" diff --git a/include/hw/ppc/spapr_drc.h b/include/hw/ppc/spapr_drc.h index c2c543a..83f03cc 100644 --- a/include/hw/ppc/spapr_drc.h +++ b/include/hw/ppc/spapr_drc.h @@ -14,10 +14,9 @@ #define HW_SPAPR_DRC_H #include <libfdt.h> -#include "qapi/qapi-types-run-state.h" #include "qom/object.h" -#include "sysemu/sysemu.h" -#include "hw/qdev.h" +#include "sysemu/runstate.h" +#include "hw/qdev-core.h" #include "qapi/error.h" #define TYPE_SPAPR_DR_CONNECTOR "spapr-dr-connector" diff --git a/include/hw/ppc/spapr_irq.h b/include/hw/ppc/spapr_irq.h index f965a58..8132e00 100644 --- a/include/hw/ppc/spapr_irq.h +++ b/include/hw/ppc/spapr_irq.h @@ -10,6 +10,8 @@ #ifndef HW_SPAPR_IRQ_H #define HW_SPAPR_IRQ_H +#include "target/ppc/cpu-qom.h" + /* * IRQ range offsets per device type */ diff --git a/include/hw/ppc/spapr_ovec.h b/include/hw/ppc/spapr_ovec.h index 5de5ecf..7891e9c 100644 --- a/include/hw/ppc/spapr_ovec.h +++ b/include/hw/ppc/spapr_ovec.h @@ -38,7 +38,6 @@ #define SPAPR_OVEC_H #include "cpu.h" -#include "migration/vmstate.h" typedef struct SpaprOptionVector SpaprOptionVector; diff --git a/include/hw/ppc/spapr_vio.h b/include/hw/ppc/spapr_vio.h index 04609f2..875be28c 100644 --- a/include/hw/ppc/spapr_vio.h +++ b/include/hw/ppc/spapr_vio.h @@ -22,6 +22,7 @@ * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ +#include "hw/ppc/spapr.h" #include "sysemu/dma.h" #define TYPE_VIO_SPAPR_DEVICE "vio-spapr-device" diff --git a/include/hw/ppc/spapr_xive.h b/include/hw/ppc/spapr_xive.h index 7197144..bfd40f0 100644 --- a/include/hw/ppc/spapr_xive.h +++ b/include/hw/ppc/spapr_xive.h @@ -10,6 +10,7 @@ #ifndef PPC_SPAPR_XIVE_H #define PPC_SPAPR_XIVE_H +#include "hw/ppc/spapr_irq.h" #include "hw/ppc/xive.h" #define TYPE_SPAPR_XIVE "spapr-xive" diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h index 1eb7b5c..f2a8d6a 100644 --- a/include/hw/ppc/xics.h +++ b/include/hw/ppc/xics.h @@ -28,7 +28,8 @@ #ifndef XICS_H #define XICS_H -#include "hw/qdev.h" +#include "exec/memory.h" +#include "hw/qdev-core.h" #define XICS_IPI 0x2 #define XICS_BUID 0x1 diff --git a/include/hw/ppc/xive.h b/include/hw/ppc/xive.h index 7363351..9399c77 100644 --- a/include/hw/ppc/xive.h +++ b/include/hw/ppc/xive.h @@ -141,7 +141,6 @@ #define PPC_XIVE_H #include "sysemu/kvm.h" -#include "hw/qdev-core.h" #include "hw/sysbus.h" #include "hw/ppc/xive_regs.h" diff --git a/include/hw/ppc/xive_regs.h b/include/hw/ppc/xive_regs.h index 1a8c5b5..b0c68ab 100644 --- a/include/hw/ppc/xive_regs.h +++ b/include/hw/ppc/xive_regs.h @@ -16,6 +16,9 @@ #ifndef PPC_XIVE_REGS_H #define PPC_XIVE_REGS_H +#include "qemu/bswap.h" +#include "qemu/host-utils.h" + /* * Interrupt source number encoding on PowerBUS */ diff --git a/include/hw/ptimer.h b/include/hw/ptimer.h index 2b86690..9c77055 100644 --- a/include/hw/ptimer.h +++ b/include/hw/ptimer.h @@ -9,7 +9,6 @@ #define PTIMER_H #include "qemu/timer.h" -#include "migration/vmstate.h" /* The ptimer API implements a simple periodic countdown timer. * The countdown timer has a value (which can be read and written via diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index 136df77..de70b7a 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -4,9 +4,7 @@ #include "qemu/queue.h" #include "qemu/bitmap.h" #include "qom/object.h" -#include "hw/irq.h" #include "hw/hotplug.h" -#include "sysemu/sysemu.h" enum { DEV_NVECTORS_UNSPECIFIED = -1, @@ -36,8 +34,6 @@ typedef void (*DeviceReset)(DeviceState *dev); typedef void (*BusRealize)(BusState *bus, Error **errp); typedef void (*BusUnrealize)(BusState *bus, Error **errp); -struct VMStateDescription; - /** * DeviceClass: * @props: Properties accessing state fields. @@ -113,7 +109,7 @@ typedef struct DeviceClass { DeviceUnrealize unrealize; /* device state */ - const struct VMStateDescription *vmsd; + const VMStateDescription *vmsd; /* Private to qdev / bus. */ const char *bus_type; @@ -426,7 +422,7 @@ void device_class_set_parent_unrealize(DeviceClass *dc, DeviceUnrealize dev_unrealize, DeviceUnrealize *parent_unrealize); -const struct VMStateDescription *qdev_get_vmsd(DeviceState *dev); +const VMStateDescription *qdev_get_vmsd(DeviceState *dev); const char *qdev_fw_name(DeviceState *dev); @@ -454,8 +450,4 @@ static inline bool qbus_is_hotpluggable(BusState *bus) void device_listener_register(DeviceListener *listener); void device_listener_unregister(DeviceListener *listener); -VMChangeStateEntry *qdev_add_vm_change_state_handler(DeviceState *dev, - VMChangeStateHandler *cb, - void *opaque); - #endif diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h index 1eae5ab..bb34a61 100644 --- a/include/hw/qdev-properties.h +++ b/include/hw/qdev-properties.h @@ -1,8 +1,6 @@ #ifndef QEMU_QDEV_PROPERTIES_H #define QEMU_QDEV_PROPERTIES_H -#include "qapi/qapi-types-block.h" -#include "qapi/qapi-types-misc.h" #include "hw/qdev-core.h" /*** qdev-properties.c ***/ diff --git a/include/hw/qdev.h b/include/hw/qdev.h deleted file mode 100644 index 5cb8b08..0000000 --- a/include/hw/qdev.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef QDEV_H -#define QDEV_H - -#include "hw/hw.h" -#include "hw/qdev-core.h" -#include "hw/qdev-properties.h" - -#endif diff --git a/include/hw/riscv/boot.h b/include/hw/riscv/boot.h index d56f2ae..1f21c2b 100644 --- a/include/hw/riscv/boot.h +++ b/include/hw/riscv/boot.h @@ -20,6 +20,8 @@ #ifndef RISCV_BOOT_H #define RISCV_BOOT_H +#include "exec/cpu-defs.h" + void riscv_find_and_load_firmware(MachineState *machine, const char *default_machine_firmware, hwaddr firmware_load_addr); diff --git a/include/hw/riscv/riscv_hart.h b/include/hw/riscv/riscv_hart.h index 0671d88..3b52b50 100644 --- a/include/hw/riscv/riscv_hart.h +++ b/include/hw/riscv/riscv_hart.h @@ -21,6 +21,9 @@ #ifndef HW_RISCV_HART_H #define HW_RISCV_HART_H +#include "hw/sysbus.h" +#include "target/riscv/cpu.h" + #define TYPE_RISCV_HART_ARRAY "riscv.hart_array" #define RISCV_HART_ARRAY(obj) \ diff --git a/include/hw/riscv/riscv_htif.h b/include/hw/riscv/riscv_htif.h index fb5f881..fb9452c 100644 --- a/include/hw/riscv/riscv_htif.h +++ b/include/hw/riscv/riscv_htif.h @@ -20,10 +20,8 @@ #ifndef HW_RISCV_HTIF_H #define HW_RISCV_HTIF_H -#include "hw/hw.h" #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/riscv/sifive_clint.h b/include/hw/riscv/sifive_clint.h index e2865be..ae8286c 100644 --- a/include/hw/riscv/sifive_clint.h +++ b/include/hw/riscv/sifive_clint.h @@ -20,6 +20,8 @@ #ifndef HW_SIFIVE_CLINT_H #define HW_SIFIVE_CLINT_H +#include "hw/sysbus.h" + #define TYPE_SIFIVE_CLINT "riscv.sifive.clint" #define SIFIVE_CLINT(obj) \ diff --git a/include/hw/riscv/sifive_e.h b/include/hw/riscv/sifive_e.h index d175b24..9c868dd 100644 --- a/include/hw/riscv/sifive_e.h +++ b/include/hw/riscv/sifive_e.h @@ -19,6 +19,7 @@ #ifndef HW_SIFIVE_E_H #define HW_SIFIVE_E_H +#include "hw/riscv/riscv_hart.h" #include "hw/riscv/sifive_gpio.h" #define TYPE_RISCV_E_SOC "riscv.sifive.e.soc" diff --git a/include/hw/riscv/sifive_plic.h b/include/hw/riscv/sifive_plic.h index ce8907f..b0edba2 100644 --- a/include/hw/riscv/sifive_plic.h +++ b/include/hw/riscv/sifive_plic.h @@ -21,7 +21,7 @@ #ifndef HW_SIFIVE_PLIC_H #define HW_SIFIVE_PLIC_H -#include "hw/irq.h" +#include "hw/sysbus.h" #define TYPE_SIFIVE_PLIC "riscv.sifive.plic" diff --git a/include/hw/riscv/sifive_prci.h b/include/hw/riscv/sifive_prci.h index bd51c4a..8b7de13 100644 --- a/include/hw/riscv/sifive_prci.h +++ b/include/hw/riscv/sifive_prci.h @@ -19,6 +19,8 @@ #ifndef HW_SIFIVE_PRCI_H #define HW_SIFIVE_PRCI_H +#include "hw/sysbus.h" + enum { SIFIVE_PRCI_HFROSCCFG = 0x0, SIFIVE_PRCI_HFXOSCCFG = 0x4, diff --git a/include/hw/riscv/sifive_test.h b/include/hw/riscv/sifive_test.h index 71d4c9f..3a603a6 100644 --- a/include/hw/riscv/sifive_test.h +++ b/include/hw/riscv/sifive_test.h @@ -19,6 +19,8 @@ #ifndef HW_SIFIVE_TEST_H #define HW_SIFIVE_TEST_H +#include "hw/sysbus.h" + #define TYPE_SIFIVE_TEST "riscv.sifive.test" #define SIFIVE_TEST(obj) \ diff --git a/include/hw/riscv/sifive_u.h b/include/hw/riscv/sifive_u.h index 892f0ee..be021ce 100644 --- a/include/hw/riscv/sifive_u.h +++ b/include/hw/riscv/sifive_u.h @@ -20,6 +20,7 @@ #define HW_SIFIVE_U_H #include "hw/net/cadence_gem.h" +#include "hw/riscv/riscv_hart.h" #define TYPE_RISCV_U_SOC "riscv.sifive.u.soc" #define RISCV_U_SOC(obj) \ diff --git a/include/hw/riscv/sifive_uart.h b/include/hw/riscv/sifive_uart.h index c8dc1c5..6566882 100644 --- a/include/hw/riscv/sifive_uart.h +++ b/include/hw/riscv/sifive_uart.h @@ -20,6 +20,9 @@ #ifndef HW_SIFIVE_UART_H #define HW_SIFIVE_UART_H +#include "chardev/char-fe.h" +#include "hw/sysbus.h" + enum { SIFIVE_UART_TXFIFO = 0, SIFIVE_UART_RXFIFO = 4, diff --git a/include/hw/riscv/spike.h b/include/hw/riscv/spike.h index 641b70d..03d8703 100644 --- a/include/hw/riscv/spike.h +++ b/include/hw/riscv/spike.h @@ -19,6 +19,9 @@ #ifndef HW_RISCV_SPIKE_H #define HW_RISCV_SPIKE_H +#include "hw/riscv/riscv_hart.h" +#include "hw/sysbus.h" + typedef struct { /*< private >*/ SysBusDevice parent_obj; diff --git a/include/hw/riscv/virt.h b/include/hw/riscv/virt.h index d01a1a8..6e5fbe5 100644 --- a/include/hw/riscv/virt.h +++ b/include/hw/riscv/virt.h @@ -19,6 +19,9 @@ #ifndef HW_RISCV_VIRT_H #define HW_RISCV_VIRT_H +#include "hw/riscv/riscv_hart.h" +#include "hw/sysbus.h" + typedef struct { /*< private >*/ SysBusDevice parent_obj; diff --git a/include/hw/s390x/ap-device.h b/include/hw/s390x/ap-device.h index 765e908..8df9cd2 100644 --- a/include/hw/s390x/ap-device.h +++ b/include/hw/s390x/ap-device.h @@ -7,9 +7,12 @@ * your option) any later version. See the COPYING file in the top-level * directory. */ + #ifndef HW_S390X_AP_DEVICE_H #define HW_S390X_AP_DEVICE_H +#include "hw/qdev-core.h" + #define AP_DEVICE_TYPE "ap-device" typedef struct APDevice { diff --git a/include/hw/s390x/css-bridge.h b/include/hw/s390x/css-bridge.h index 5a0203b..f7ed2d9 100644 --- a/include/hw/s390x/css-bridge.h +++ b/include/hw/s390x/css-bridge.h @@ -12,8 +12,9 @@ #ifndef HW_S390X_CSS_BRIDGE_H #define HW_S390X_CSS_BRIDGE_H + #include "qom/object.h" -#include "hw/qdev-core.h" +#include "hw/sysbus.h" /* virtual css bridge */ typedef struct VirtualCssBridge { diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h index d033387..f46bcaf 100644 --- a/include/hw/s390x/css.h +++ b/include/hw/s390x/css.h @@ -17,6 +17,7 @@ #include "hw/s390x/s390_flic.h" #include "hw/s390x/ioinst.h" #include "sysemu/kvm.h" +#include "target/s390x/cpu-qom.h" /* Channel subsystem constants. */ #define MAX_DEVNO 65535 diff --git a/include/hw/s390x/event-facility.h b/include/hw/s390x/event-facility.h index 6cf71ce..bdc32a3 100644 --- a/include/hw/s390x/event-facility.h +++ b/include/hw/s390x/event-facility.h @@ -15,8 +15,8 @@ #ifndef HW_S390_SCLP_EVENT_FACILITY_H #define HW_S390_SCLP_EVENT_FACILITY_H -#include "hw/qdev.h" #include "qemu/thread.h" +#include "hw/qdev-core.h" #include "hw/s390x/sclp.h" /* SCLP event types */ diff --git a/include/hw/s390x/sclp.h b/include/hw/s390x/sclp.h index f9db243..c54413b 100644 --- a/include/hw/s390x/sclp.h +++ b/include/hw/s390x/sclp.h @@ -15,7 +15,6 @@ #define HW_S390_SCLP_H #include "hw/sysbus.h" -#include "hw/qdev.h" #include "target/s390x/cpu-qom.h" #define SCLP_CMD_CODE_MASK 0xffff00ff diff --git a/include/hw/s390x/storage-attributes.h b/include/hw/s390x/storage-attributes.h index d6403a0..4f7c6c0 100644 --- a/include/hw/s390x/storage-attributes.h +++ b/include/hw/s390x/storage-attributes.h @@ -12,7 +12,7 @@ #ifndef S390_STORAGE_ATTRIBUTES_H #define S390_STORAGE_ATTRIBUTES_H -#include "hw/qdev.h" +#include "hw/qdev-core.h" #include "monitor/monitor.h" #define TYPE_S390_STATTRIB "s390-storage_attributes" diff --git a/include/hw/s390x/storage-keys.h b/include/hw/s390x/storage-keys.h index 62df48e..3f1ae7e 100644 --- a/include/hw/s390x/storage-keys.h +++ b/include/hw/s390x/storage-keys.h @@ -12,7 +12,7 @@ #ifndef S390_STORAGE_KEYS_H #define S390_STORAGE_KEYS_H -#include "hw/qdev.h" +#include "hw/qdev-core.h" #include "monitor/monitor.h" #define TYPE_S390_SKEYS "s390-skeys" diff --git a/include/hw/s390x/tod.h b/include/hw/s390x/tod.h index 9c4a600..4251623 100644 --- a/include/hw/s390x/tod.h +++ b/include/hw/s390x/tod.h @@ -11,8 +11,8 @@ #ifndef HW_S390_TOD_H #define HW_S390_TOD_H -#include "hw/qdev.h" -#include "s390-tod.h" +#include "hw/qdev-core.h" +#include "target/s390x/s390-tod.h" typedef struct S390TOD { uint8_t high; diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h index 426566a..d77a923 100644 --- a/include/hw/scsi/scsi.h +++ b/include/hw/scsi/scsi.h @@ -1,9 +1,9 @@ #ifndef QEMU_HW_SCSI_H #define QEMU_HW_SCSI_H -#include "hw/qdev.h" +#include "block/aio.h" #include "hw/block/block.h" -#include "sysemu/sysemu.h" +#include "hw/qdev-core.h" #include "scsi/utils.h" #include "qemu/notify.h" diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h index b865aaf..a84b8e2 100644 --- a/include/hw/sd/sd.h +++ b/include/hw/sd/sd.h @@ -30,7 +30,7 @@ #ifndef HW_SD_H #define HW_SD_H -#include "hw/qdev.h" +#include "hw/qdev-core.h" #define OUT_OF_RANGE (1 << 31) #define ADDRESS_ERROR (1 << 30) diff --git a/include/hw/semihosting/console.h b/include/hw/semihosting/console.h index cfab572..9be9754 100644 --- a/include/hw/semihosting/console.h +++ b/include/hw/semihosting/console.h @@ -9,6 +9,8 @@ #ifndef SEMIHOST_CONSOLE_H #define SEMIHOST_CONSOLE_H +#include "cpu.h" + /** * qemu_semihosting_console_outs: * @env: CPUArchState diff --git a/include/hw/sh4/sh_intc.h b/include/hw/sh4/sh_intc.h index b7c2404..65f3425 100644 --- a/include/hw/sh4/sh_intc.h +++ b/include/hw/sh4/sh_intc.h @@ -1,7 +1,7 @@ #ifndef SH_INTC_H #define SH_INTC_H -#include "hw/irq.h" +#include "exec/memory.h" typedef unsigned char intc_enum; diff --git a/include/hw/sparc/grlib.h b/include/hw/sparc/grlib.h index 5606ff0..78b6178 100644 --- a/include/hw/sparc/grlib.h +++ b/include/hw/sparc/grlib.h @@ -25,7 +25,6 @@ #ifndef GRLIB_H #define GRLIB_H -#include "hw/qdev.h" #include "hw/sysbus.h" /* Emulation of GrLib device is base on the GRLIB IP Core User's Manual: diff --git a/include/hw/sparc/sparc64.h b/include/hw/sparc/sparc64.h index 21ab79e..4ced36f 100644 --- a/include/hw/sparc/sparc64.h +++ b/include/hw/sparc/sparc64.h @@ -1,6 +1,8 @@ #ifndef HW_SPARC_SPARC64_H #define HW_SPARC_SPARC64_H +#include "target/sparc/cpu-qom.h" + #define IVEC_MAX 0x40 SPARCCPU *sparc64_cpu_devinit(const char *cpu_type, uint64_t prom_addr); diff --git a/include/hw/ssi/aspeed_smc.h b/include/hw/ssi/aspeed_smc.h index 591279b..aa07dac 100644 --- a/include/hw/ssi/aspeed_smc.h +++ b/include/hw/ssi/aspeed_smc.h @@ -26,6 +26,7 @@ #define ASPEED_SMC_H #include "hw/ssi/ssi.h" +#include "hw/sysbus.h" typedef struct AspeedSegments { hwaddr addr; diff --git a/include/hw/ssi/ssi.h b/include/hw/ssi/ssi.h index 6a0c3c3..1107cb8 100644 --- a/include/hw/ssi/ssi.h +++ b/include/hw/ssi/ssi.h @@ -11,7 +11,7 @@ #ifndef QEMU_SSI_H #define QEMU_SSI_H -#include "hw/qdev.h" +#include "hw/qdev-core.h" typedef struct SSISlave SSISlave; typedef struct SSISlaveClass SSISlaveClass; diff --git a/include/hw/ssi/stm32f2xx_spi.h b/include/hw/ssi/stm32f2xx_spi.h index 1cd73e4..e24b007 100644 --- a/include/hw/ssi/stm32f2xx_spi.h +++ b/include/hw/ssi/stm32f2xx_spi.h @@ -26,7 +26,6 @@ #define HW_STM32F2XX_SPI_H #include "hw/sysbus.h" -#include "hw/hw.h" #include "hw/ssi/ssi.h" #define STM_SPI_CR1 0x00 diff --git a/include/hw/ssi/xilinx_spips.h b/include/hw/ssi/xilinx_spips.h index a0a0ae7..6a39b55 100644 --- a/include/hw/ssi/xilinx_spips.h +++ b/include/hw/ssi/xilinx_spips.h @@ -28,6 +28,7 @@ #include "hw/ssi/ssi.h" #include "qemu/fifo32.h" #include "hw/stream.h" +#include "hw/sysbus.h" typedef struct XilinxSPIPS XilinxSPIPS; diff --git a/include/hw/sysbus.h b/include/hw/sysbus.h index 4c668fb..27e8088 100644 --- a/include/hw/sysbus.h +++ b/include/hw/sysbus.h @@ -3,7 +3,7 @@ /* Devices attached directly to the main system bus. */ -#include "hw/qdev.h" +#include "hw/qdev-core.h" #include "exec/memory.h" #define QDEV_MAX_MMIO 32 diff --git a/include/hw/timer/allwinner-a10-pit.h b/include/hw/timer/allwinner-a10-pit.h index c0cc3e2..871c95b 100644 --- a/include/hw/timer/allwinner-a10-pit.h +++ b/include/hw/timer/allwinner-a10-pit.h @@ -2,6 +2,7 @@ #define ALLWINNER_A10_PIT_H #include "hw/ptimer.h" +#include "hw/sysbus.h" #define TYPE_AW_A10_PIT "allwinner-A10-timer" #define AW_A10_PIT(obj) OBJECT_CHECK(AwA10PITState, (obj), TYPE_AW_A10_PIT) diff --git a/include/hw/timer/aspeed_rtc.h b/include/hw/timer/aspeed_rtc.h index 1f1155a..15ba429 100644 --- a/include/hw/timer/aspeed_rtc.h +++ b/include/hw/timer/aspeed_rtc.h @@ -10,7 +10,6 @@ #include <stdint.h> -#include "hw/hw.h" #include "hw/irq.h" #include "hw/sysbus.h" diff --git a/include/hw/timer/cmsdk-apb-timer.h b/include/hw/timer/cmsdk-apb-timer.h index f21686d..e93cacc 100644 --- a/include/hw/timer/cmsdk-apb-timer.h +++ b/include/hw/timer/cmsdk-apb-timer.h @@ -12,6 +12,7 @@ #ifndef CMSDK_APB_TIMER_H #define CMSDK_APB_TIMER_H +#include "hw/qdev-properties.h" #include "hw/sysbus.h" #include "hw/ptimer.h" diff --git a/include/hw/timer/i8254.h b/include/hw/timer/i8254.h index 5b12eb9..45cb425 100644 --- a/include/hw/timer/i8254.h +++ b/include/hw/timer/i8254.h @@ -25,8 +25,7 @@ #ifndef HW_I8254_H #define HW_I8254_H -#include "hw/hw.h" -#include "hw/qdev.h" +#include "hw/qdev-properties.h" #include "hw/isa/isa.h" #define PIT_FREQ 1193182 diff --git a/include/hw/timer/i8254_internal.h b/include/hw/timer/i8254_internal.h index c37a438..3db462a 100644 --- a/include/hw/timer/i8254_internal.h +++ b/include/hw/timer/i8254_internal.h @@ -25,8 +25,8 @@ #ifndef QEMU_I8254_INTERNAL_H #define QEMU_I8254_INTERNAL_H -#include "hw/hw.h" #include "hw/isa/isa.h" +#include "hw/timer/i8254.h" #include "qemu/timer.h" typedef struct PITChannelState { diff --git a/include/hw/timer/m48t59.h b/include/hw/timer/m48t59.h index 43efc91..f74854c 100644 --- a/include/hw/timer/m48t59.h +++ b/include/hw/timer/m48t59.h @@ -1,6 +1,7 @@ #ifndef HW_M48T59_H #define HW_M48T59_H +#include "exec/hwaddr.h" #include "qom/object.h" #define TYPE_NVRAM "nvram" diff --git a/include/hw/timer/mc146818rtc_regs.h b/include/hw/timer/mc146818rtc_regs.h index c62f17b..bfbb57e 100644 --- a/include/hw/timer/mc146818rtc_regs.h +++ b/include/hw/timer/mc146818rtc_regs.h @@ -25,6 +25,8 @@ #ifndef MC146818RTC_REGS_H #define MC146818RTC_REGS_H +#include "qemu/timer.h" + #define RTC_ISA_IRQ 8 #define RTC_SECONDS 0 diff --git a/include/hw/timer/stm32f2xx_timer.h b/include/hw/timer/stm32f2xx_timer.h index e6a8323..a96bc08 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/timer/xlnx-zynqmp-rtc.h b/include/hw/timer/xlnx-zynqmp-rtc.h index 6e9134e..97e3232 100644 --- a/include/hw/timer/xlnx-zynqmp-rtc.h +++ b/include/hw/timer/xlnx-zynqmp-rtc.h @@ -28,6 +28,7 @@ #define HW_TIMER_XLNX_ZYNQMP_RTC_H #include "hw/register.h" +#include "hw/sysbus.h" #define TYPE_XLNX_ZYNQMP_RTC "xlnx-zynmp.rtc" diff --git a/include/hw/tricore/tricore.h b/include/hw/tricore/tricore.h index 89ef922..c19ed3f 100644 --- a/include/hw/tricore/tricore.h +++ b/include/hw/tricore/tricore.h @@ -2,7 +2,6 @@ #define HW_TRICORE_H #include "exec/memory.h" -#include "hw/irq.h" struct tricore_boot_info { uint64_t ram_size; diff --git a/include/hw/usb.h b/include/hw/usb.h index c21f41c..c24d968 100644 --- a/include/hw/usb.h +++ b/include/hw/usb.h @@ -25,7 +25,8 @@ * THE SOFTWARE. */ -#include "hw/qdev.h" +#include "exec/memory.h" +#include "hw/qdev-core.h" #include "qemu/iov.h" #include "qemu/queue.h" diff --git a/include/hw/vfio/vfio-platform.h b/include/hw/vfio/vfio-platform.h index 30d3c28..4ec70c8 100644 --- a/include/hw/vfio/vfio-platform.h +++ b/include/hw/vfio/vfio-platform.h @@ -20,7 +20,6 @@ #include "hw/vfio/vfio-common.h" #include "qemu/event_notifier.h" #include "qemu/queue.h" -#include "hw/irq.h" #define TYPE_VFIO_PLATFORM "vfio-platform" diff --git a/include/hw/virtio/vhost-scsi-common.h b/include/hw/virtio/vhost-scsi-common.h index 5435716..16bf1a7 100644 --- a/include/hw/virtio/vhost-scsi-common.h +++ b/include/hw/virtio/vhost-scsi-common.h @@ -14,7 +14,6 @@ #ifndef VHOST_SCSI_COMMON_H #define VHOST_SCSI_COMMON_H -#include "hw/qdev.h" #include "hw/virtio/virtio-scsi.h" #include "hw/virtio/vhost.h" #include "hw/fw-path-provider.h" diff --git a/include/hw/virtio/vhost-scsi.h b/include/hw/virtio/vhost-scsi.h index df5bfdb..2325215 100644 --- a/include/hw/virtio/vhost-scsi.h +++ b/include/hw/virtio/vhost-scsi.h @@ -14,7 +14,6 @@ #ifndef VHOST_SCSI_H #define VHOST_SCSI_H -#include "hw/qdev.h" #include "hw/virtio/virtio-scsi.h" #include "hw/virtio/vhost.h" #include "hw/virtio/vhost-scsi-common.h" diff --git a/include/hw/virtio/vhost-user-blk.h b/include/hw/virtio/vhost-user-blk.h index 8dbf11c..108bfad 100644 --- a/include/hw/virtio/vhost-user-blk.h +++ b/include/hw/virtio/vhost-user-blk.h @@ -16,7 +16,6 @@ #define VHOST_USER_BLK_H #include "standard-headers/linux/virtio_blk.h" -#include "hw/qdev.h" #include "hw/block/block.h" #include "chardev/char-fe.h" #include "hw/virtio/vhost.h" diff --git a/include/hw/virtio/vhost-user-scsi.h b/include/hw/virtio/vhost-user-scsi.h index 1b332ea..99ab2f2 100644 --- a/include/hw/virtio/vhost-user-scsi.h +++ b/include/hw/virtio/vhost-user-scsi.h @@ -17,7 +17,6 @@ #ifndef VHOST_USER_SCSI_H #define VHOST_USER_SCSI_H -#include "hw/qdev.h" #include "hw/virtio/virtio-scsi.h" #include "hw/virtio/vhost.h" #include "hw/virtio/vhost-user.h" diff --git a/include/hw/virtio/vhost.h b/include/hw/virtio/vhost.h index 619498c..085450c 100644 --- a/include/hw/virtio/vhost.h +++ b/include/hw/virtio/vhost.h @@ -1,7 +1,6 @@ #ifndef VHOST_H #define VHOST_H -#include "hw/hw.h" #include "hw/virtio/vhost-backend.h" #include "hw/virtio/virtio.h" #include "exec/memory.h" diff --git a/include/hw/virtio/virtio-access.h b/include/hw/virtio/virtio-access.h index bdf58f3..6818a23 100644 --- a/include/hw/virtio/virtio-access.h +++ b/include/hw/virtio/virtio-access.h @@ -16,6 +16,7 @@ #ifndef QEMU_VIRTIO_ACCESS_H #define QEMU_VIRTIO_ACCESS_H +#include "exec/hwaddr.h" #include "hw/virtio/virtio.h" #include "hw/virtio/virtio-bus.h" diff --git a/include/hw/virtio/virtio-bus.h b/include/hw/virtio/virtio-bus.h index 7fec9dc..38c9399 100644 --- a/include/hw/virtio/virtio-bus.h +++ b/include/hw/virtio/virtio-bus.h @@ -25,8 +25,7 @@ #ifndef VIRTIO_BUS_H #define VIRTIO_BUS_H -#include "hw/qdev.h" -#include "sysemu/sysemu.h" +#include "hw/qdev-core.h" #include "hw/virtio/virtio.h" #define TYPE_VIRTIO_BUS "virtio-bus" diff --git a/include/hw/virtio/virtio-gpu-bswap.h b/include/hw/virtio/virtio-gpu-bswap.h index 38d1216..203f9e1 100644 --- a/include/hw/virtio/virtio-gpu-bswap.h +++ b/include/hw/virtio/virtio-gpu-bswap.h @@ -15,6 +15,7 @@ #define HW_VIRTIO_GPU_BSWAP_H #include "qemu/bswap.h" +#include "standard-headers/linux/virtio_gpu.h" static inline void virtio_gpu_ctrl_hdr_bswap(struct virtio_gpu_ctrl_hdr *hdr) diff --git a/include/hw/virtio/virtio-pmem.h b/include/hw/virtio/virtio-pmem.h index 19b6ee6..33f1999 100644 --- a/include/hw/virtio/virtio-pmem.h +++ b/include/hw/virtio/virtio-pmem.h @@ -15,7 +15,7 @@ #define HW_VIRTIO_PMEM_H #include "hw/virtio/virtio.h" -#include "sysemu/hostmem.h" +#include "qapi/qapi-types-misc.h" #define TYPE_VIRTIO_PMEM "virtio-pmem" diff --git a/include/hw/virtio/virtio-rng.h b/include/hw/virtio/virtio-rng.h index 922dce7..ff69933 100644 --- a/include/hw/virtio/virtio-rng.h +++ b/include/hw/virtio/virtio-rng.h @@ -12,6 +12,7 @@ #ifndef QEMU_VIRTIO_RNG_H #define QEMU_VIRTIO_RNG_H +#include "hw/virtio/virtio.h" #include "sysemu/rng.h" #include "sysemu/rng-random.h" #include "standard-headers/linux/virtio_rng.h" diff --git a/include/hw/virtio/virtio-serial.h b/include/hw/virtio/virtio-serial.h index 12657a9..ed3e916 100644 --- a/include/hw/virtio/virtio-serial.h +++ b/include/hw/virtio/virtio-serial.h @@ -17,7 +17,6 @@ #define QEMU_VIRTIO_SERIAL_H #include "standard-headers/linux/virtio_console.h" -#include "hw/qdev.h" #include "hw/virtio/virtio.h" struct virtio_serial_conf { diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h index b189788..48e8d04 100644 --- a/include/hw/virtio/virtio.h +++ b/include/hw/virtio/virtio.h @@ -14,10 +14,10 @@ #ifndef QEMU_VIRTIO_H #define QEMU_VIRTIO_H -#include "hw/hw.h" +#include "exec/memory.h" +#include "hw/qdev-core.h" #include "net/net.h" -#include "hw/qdev.h" -#include "sysemu/sysemu.h" +#include "migration/vmstate.h" #include "qemu/event_notifier.h" #include "standard-headers/linux/virtio_config.h" #include "standard-headers/linux/virtio_ring.h" diff --git a/include/hw/watchdog/wdt_aspeed.h b/include/hw/watchdog/wdt_aspeed.h index daef0c0..8c5691c 100644 --- a/include/hw/watchdog/wdt_aspeed.h +++ b/include/hw/watchdog/wdt_aspeed.h @@ -10,6 +10,7 @@ #ifndef WDT_ASPEED_H #define WDT_ASPEED_H +#include "hw/misc/aspeed_scu.h" #include "hw/sysbus.h" #define TYPE_ASPEED_WDT "aspeed.wdt" diff --git a/include/hw/watchdog/wdt_diag288.h b/include/hw/watchdog/wdt_diag288.h index 706d96b..19d83a0 100644 --- a/include/hw/watchdog/wdt_diag288.h +++ b/include/hw/watchdog/wdt_diag288.h @@ -1,7 +1,7 @@ #ifndef WDT_DIAG288_H #define WDT_DIAG288_H -#include "hw/qdev.h" +#include "hw/qdev-core.h" #define TYPE_WDT_DIAG288 "diag288" #define DIAG288(obj) \ diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h index 07d4176..5e6c56c 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/hw/xen/xen.h b/include/hw/xen/xen.h index 9c7b5f7..5ac1c6d 100644 --- a/include/hw/xen/xen.h +++ b/include/hw/xen/xen.h @@ -9,7 +9,6 @@ */ #include "exec/cpu-common.h" -#include "hw/irq.h" /* xen-machine.c */ enum xen_mode { diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h index 0504b43..82e5633 100644 --- a/include/hw/xen/xen_common.h +++ b/include/hw/xen/xen_common.h @@ -14,10 +14,8 @@ #include <xenstore.h> #include "hw/xen/interface/io/xenbus.h" -#include "hw/hw.h" #include "hw/xen/xen.h" #include "hw/pci/pci.h" -#include "qemu/queue.h" #include "hw/xen/trace.h" extern xc_interface *xen_xc; diff --git a/include/hw/xtensa/mx_pic.h b/include/hw/xtensa/mx_pic.h index c9ea9e7..500424c 100644 --- a/include/hw/xtensa/mx_pic.h +++ b/include/hw/xtensa/mx_pic.h @@ -29,7 +29,6 @@ #define XTENSA_MX_PIC_H #include "exec/memory.h" -#include "hw/irq.h" struct XtensaMxPic; typedef struct XtensaMxPic XtensaMxPic; diff --git a/include/libdecnumber/decNumberLocal.h b/include/libdecnumber/decNumberLocal.h index 12cf1d8..4d53c07 100644 --- a/include/libdecnumber/decNumberLocal.h +++ b/include/libdecnumber/decNumberLocal.h @@ -44,6 +44,7 @@ #define DECNLAUTHOR "Mike Cowlishaw" /* Who to blame */ #include "libdecnumber/dconfig.h" + #include "libdecnumber/decContext.h" /* Conditional code flag -- set this to match hardware platform */ /* 1=little-endian, 0=big-endian */ diff --git a/include/migration/cpu.h b/include/migration/cpu.h index a40bd35..65abe3c 100644 --- a/include/migration/cpu.h +++ b/include/migration/cpu.h @@ -1,7 +1,12 @@ /* Declarations for use for CPU state serialization. */ + #ifndef MIGRATION_CPU_H #define MIGRATION_CPU_H +#include "exec/cpu-defs.h" +#include "migration/qemu-file-types.h" +#include "migration/vmstate.h" + #if TARGET_LONG_BITS == 64 #define qemu_put_betl qemu_put_be64 #define qemu_get_betl qemu_get_be64 diff --git a/include/migration/global_state.h b/include/migration/global_state.h index fd22dd3..945eb35 100644 --- a/include/migration/global_state.h +++ b/include/migration/global_state.h @@ -14,7 +14,6 @@ #define QEMU_MIGRATION_GLOBAL_STATE_H #include "qapi/qapi-types-run-state.h" -#include "sysemu/sysemu.h" void register_global_state(void); int global_state_store(void); diff --git a/include/migration/misc.h b/include/migration/misc.h index 5cdbabd..b9d8e78 100644 --- a/include/migration/misc.h +++ b/include/migration/misc.h @@ -14,7 +14,6 @@ #ifndef MIGRATION_MISC_H #define MIGRATION_MISC_H -#include "exec/cpu-common.h" #include "qemu/notify.h" #include "qapi/qapi-types-net.h" diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h index c2bfa7a..1fbfd09 100644 --- a/include/migration/vmstate.h +++ b/include/migration/vmstate.h @@ -28,7 +28,6 @@ #define QEMU_VMSTATE_H typedef struct VMStateInfo VMStateInfo; -typedef struct VMStateDescription VMStateDescription; typedef struct VMStateField VMStateField; /* VMStateInfo allows customized migration of objects that don't fit in diff --git a/include/monitor/hmp-target.h b/include/monitor/hmp-target.h index 454e8ed..8b7820a 100644 --- a/include/monitor/hmp-target.h +++ b/include/monitor/hmp-target.h @@ -25,6 +25,8 @@ #ifndef MONITOR_HMP_TARGET_H #define MONITOR_HMP_TARGET_H +#include "cpu.h" + #define MD_TLONG 0 #define MD_I32 1 diff --git a/include/monitor/qdev.h b/include/monitor/qdev.h index 084799e..eaa947d 100644 --- a/include/monitor/qdev.h +++ b/include/monitor/qdev.h @@ -1,8 +1,6 @@ #ifndef MONITOR_QDEV_H #define MONITOR_QDEV_H -#include "hw/qdev-core.h" - /*** monitor commands ***/ void hmp_info_qtree(Monitor *mon, const QDict *qdict); diff --git a/include/net/can_emu.h b/include/net/can_emu.h index 1da4d01..d4fc51b 100644 --- a/include/net/can_emu.h +++ b/include/net/can_emu.h @@ -28,6 +28,7 @@ #ifndef NET_CAN_EMU_H #define NET_CAN_EMU_H +#include "qemu/queue.h" #include "qom/object.h" /* NOTE: the following two structures is copied from <linux/can.h>. */ diff --git a/include/net/filter.h b/include/net/filter.h index 9bc6fa3..e8fb625 100644 --- a/include/net/filter.h +++ b/include/net/filter.h @@ -10,6 +10,7 @@ #define QEMU_NET_FILTER_H #include "qapi/qapi-types-net.h" +#include "qemu/queue.h" #include "qom/object.h" #include "net/queue.h" diff --git a/include/net/net.h b/include/net/net.h index acf0451..e175ba9 100644 --- a/include/net/net.h +++ b/include/net/net.h @@ -4,7 +4,6 @@ #include "qemu/queue.h" #include "qapi/qapi-types-net.h" #include "net/queue.h" -#include "migration/vmstate.h" #define MAC_FMT "%02X:%02X:%02X:%02X:%02X:%02X" #define MAC_ARG(x) ((uint8_t *)(x))[0], ((uint8_t *)(x))[1], \ diff --git a/include/qapi/error.h b/include/qapi/error.h index 51b63dd..3f95141 100644 --- a/include/qapi/error.h +++ b/include/qapi/error.h @@ -119,7 +119,7 @@ #ifndef ERROR_H #define ERROR_H -#include "qapi/qapi-types-common.h" +#include "qapi/qapi-types-error.h" /* * Overall category of an error. diff --git a/include/qemu/atomic128.h b/include/qemu/atomic128.h index ddd0d55..6b34484 100644 --- a/include/qemu/atomic128.h +++ b/include/qemu/atomic128.h @@ -13,6 +13,8 @@ #ifndef QEMU_ATOMIC128_H #define QEMU_ATOMIC128_H +#include "qemu/int128.h" + /* * GCC is a house divided about supporting large atomic operations. * diff --git a/include/qemu/fifo8.h b/include/qemu/fifo8.h index 24b3644..489c354 100644 --- a/include/qemu/fifo8.h +++ b/include/qemu/fifo8.h @@ -1,7 +1,6 @@ #ifndef QEMU_FIFO8_H #define QEMU_FIFO8_H -#include "migration/vmstate.h" typedef struct { /* All fields are private */ diff --git a/include/qemu/job.h b/include/qemu/job.h index 9e7cd1e..73c67d3 100644 --- a/include/qemu/job.h +++ b/include/qemu/job.h @@ -26,7 +26,7 @@ #ifndef JOB_H #define JOB_H -#include "qapi/qapi-types-block-core.h" +#include "qapi/qapi-types-job.h" #include "qemu/queue.h" #include "qemu/coroutine.h" #include "block/aio.h" diff --git a/include/qemu/queue.h b/include/qemu/queue.h index 0379bd8..73bf4a9 100644 --- a/include/qemu/queue.h +++ b/include/qemu/queue.h @@ -78,8 +78,6 @@ * For details on the use of these macros, see the queue(3) manual page. */ -#include "qemu/atomic.h" /* for smp_wmb() */ - /* * List definitions. */ diff --git a/include/qemu/range.h b/include/qemu/range.h index 71b8b21..f62b363 100644 --- a/include/qemu/range.h +++ b/include/qemu/range.h @@ -20,8 +20,6 @@ #ifndef QEMU_RANGE_H #define QEMU_RANGE_H -#include "qemu/queue.h" - /* * Operations on 64 bit address ranges. * Notes: diff --git a/include/qemu/ratelimit.h b/include/qemu/ratelimit.h index 1b38291..01da8d6 100644 --- a/include/qemu/ratelimit.h +++ b/include/qemu/ratelimit.h @@ -14,6 +14,8 @@ #ifndef QEMU_RATELIMIT_H #define QEMU_RATELIMIT_H +#include "qemu/timer.h" + typedef struct { int64_t slice_start_time; int64_t slice_end_time; diff --git a/include/qemu/thread-win32.h b/include/qemu/thread-win32.h index 50af5dd..d0a1a95 100644 --- a/include/qemu/thread-win32.h +++ b/include/qemu/thread-win32.h @@ -47,6 +47,6 @@ struct QemuThread { }; /* Only valid for joinable threads. */ -HANDLE qemu_thread_get_handle(QemuThread *thread); +HANDLE qemu_thread_get_handle(struct QemuThread *thread); #endif diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h index fcdaae5..375770a 100644 --- a/include/qemu/typedefs.h +++ b/include/qemu/typedefs.h @@ -1,10 +1,26 @@ #ifndef QEMU_TYPEDEFS_H #define QEMU_TYPEDEFS_H -/* A load of opaque types so that device init declarations don't have to - pull in all the real definitions. */ +/* + * This header is for selectively avoiding #include just to get a + * typedef name. + * + * Declaring a typedef name in its "obvious" place can result in + * inclusion cycles, in particular for complete struct and union + * types that need more types for their members. It can also result + * in headers pulling in many more headers, slowing down builds. + * + * You can break such cycles and unwanted dependencies by declaring + * the typedef name here. + * + * For struct types used in only a few headers, judicious use of the + * struct tag instead of the typedef name is commonly preferable. + */ -/* Please keep this list in case-insensitive alphabetical order */ +/* + * Incomplete struct types + * Please keep this list in case-insensitive alphabetical order. + */ typedef struct AdapterInfo AdapterInfo; typedef struct AddressSpace AddressSpace; typedef struct AioContext AioContext; @@ -33,6 +49,7 @@ typedef struct FWCfgEntry FWCfgEntry; typedef struct FWCfgIoState FWCfgIoState; typedef struct FWCfgMemState FWCfgMemState; typedef struct FWCfgState FWCfgState; +typedef struct HostMemoryBackend HostMemoryBackend; typedef struct HVFX86EmulatorState HVFX86EmulatorState; typedef struct I2CBus I2CBus; typedef struct I2SCodec I2SCodec; @@ -101,7 +118,22 @@ typedef struct SHPCDevice SHPCDevice; typedef struct SSIBus SSIBus; typedef struct VirtIODevice VirtIODevice; typedef struct Visitor Visitor; +typedef struct VMChangeStateEntry VMChangeStateEntry; +typedef struct VMStateDescription VMStateDescription; + +/* + * Pointer types + * Such typedefs should be limited to cases where the typedef's users + * are oblivious of its "pointer-ness". + * Please keep this list in case-insensitive alphabetical order. + */ +typedef struct IRQState *qemu_irq; + +/* + * Function types + */ typedef void SaveStateHandler(QEMUFile *f, void *opaque); typedef int LoadStateHandler(QEMUFile *f, void *opaque, int version_id); +typedef void (*qemu_irq_handler)(void *opaque, int n, int level); #endif /* QEMU_TYPEDEFS_H */ diff --git a/include/qom/cpu.h b/include/qom/cpu.h index 5ee0046..ddb91bb 100644 --- a/include/qom/cpu.h +++ b/include/qom/cpu.h @@ -215,7 +215,7 @@ typedef struct CPUClass { int (*write_elf32_qemunote)(WriteCoreDumpFunction f, CPUState *cpu, void *opaque); - const struct VMStateDescription *vmsd; + const VMStateDescription *vmsd; const char *gdb_core_xml_file; gchar * (*gdb_arch_name)(CPUState *cpu); const char * (*gdb_get_dynamic_xml)(CPUState *cpu, const char *xmlname); @@ -1108,7 +1108,7 @@ bool target_words_bigendian(void); #ifdef NEED_CPU_H #ifdef CONFIG_SOFTMMU -extern const struct VMStateDescription vmstate_cpu_common; +extern const VMStateDescription vmstate_cpu_common; #else #define vmstate_cpu_common vmstate_dummy #endif diff --git a/include/qom/object.h b/include/qom/object.h index 7bb82a7..128d00c 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -15,7 +15,6 @@ #define QEMU_OBJECT_H #include "qapi/qapi-builtin-types.h" -#include "qemu/queue.h" #include "qemu/module.h" struct TypeImpl; diff --git a/include/sysemu/accel.h b/include/sysemu/accel.h index 89ce57e..8eb60b8 100644 --- a/include/sysemu/accel.h +++ b/include/sysemu/accel.h @@ -24,7 +24,6 @@ #define HW_ACCEL_H #include "qom/object.h" -#include "hw/qdev-properties.h" #include "exec/hwaddr.h" typedef struct AccelState { diff --git a/include/sysemu/arch_init.h b/include/sysemu/arch_init.h index 10cbafe..62c6fe4 100644 --- a/include/sysemu/arch_init.h +++ b/include/sysemu/arch_init.h @@ -1,7 +1,6 @@ #ifndef QEMU_ARCH_INIT_H #define QEMU_ARCH_INIT_H -#include "qapi/qapi-types-misc.h" enum { QEMU_ARCH_ALL = -1, diff --git a/include/sysemu/balloon.h b/include/sysemu/balloon.h index c8f6145..aea0c44 100644 --- a/include/sysemu/balloon.h +++ b/include/sysemu/balloon.h @@ -14,6 +14,7 @@ #ifndef QEMU_BALLOON_H #define QEMU_BALLOON_H +#include "exec/cpu-common.h" #include "qapi/qapi-types-misc.h" typedef void (QEMUBalloonEvent)(void *opaque, ram_addr_t target); diff --git a/include/sysemu/cryptodev-vhost-user.h b/include/sysemu/cryptodev-vhost-user.h index 6debf53..0d3421e 100644 --- a/include/sysemu/cryptodev-vhost-user.h +++ b/include/sysemu/cryptodev-vhost-user.h @@ -20,9 +20,12 @@ * License along with this library; if not, see <http://www.gnu.org/licenses/>. * */ + #ifndef CRYPTODEV_VHOST_USER_H #define CRYPTODEV_VHOST_USER_H +#include "sysemu/cryptodev-vhost.h" + #define VHOST_USER_MAX_AUTH_KEY_LEN 512 #define VHOST_USER_MAX_CIPHER_KEY_LEN 64 diff --git a/include/sysemu/cryptodev.h b/include/sysemu/cryptodev.h index 92bbb79..a9afb7e 100644 --- a/include/sysemu/cryptodev.h +++ b/include/sysemu/cryptodev.h @@ -23,6 +23,7 @@ #ifndef CRYPTODEV_H #define CRYPTODEV_H +#include "qemu/queue.h" #include "qom/object.h" /** diff --git a/include/sysemu/dma.h b/include/sysemu/dma.h index 5da3c4e..80c5bc3 100644 --- a/include/sysemu/dma.h +++ b/include/sysemu/dma.h @@ -12,7 +12,6 @@ #include "exec/memory.h" #include "exec/address-spaces.h" -#include "hw/hw.h" #include "block/block.h" #include "block/accounting.h" diff --git a/include/sysemu/hax.h b/include/sysemu/hax.h index f005995..9b27e65 100644 --- a/include/sysemu/hax.h +++ b/include/sysemu/hax.h @@ -37,7 +37,6 @@ void hax_cpu_synchronize_pre_loadvm(CPUState *cpu); int hax_enabled(void); -#include "hw/hw.h" #include "qemu/bitops.h" #include "exec/memory.h" int hax_vcpu_destroy(CPUState *cpu); diff --git a/include/sysemu/hostmem.h b/include/sysemu/hostmem.h index 92fa0e4..4dbdadd 100644 --- a/include/sysemu/hostmem.h +++ b/include/sysemu/hostmem.h @@ -13,7 +13,7 @@ #ifndef SYSEMU_HOSTMEM_H #define SYSEMU_HOSTMEM_H -#include "sysemu/sysemu.h" /* for MAX_NODES */ +#include "sysemu/numa.h" #include "qapi/qapi-types-machine.h" #include "qom/object.h" #include "exec/memory.h" @@ -27,7 +27,6 @@ #define MEMORY_BACKEND_CLASS(klass) \ OBJECT_CLASS_CHECK(HostMemoryBackendClass, (klass), TYPE_MEMORY_BACKEND) -typedef struct HostMemoryBackend HostMemoryBackend; typedef struct HostMemoryBackendClass HostMemoryBackendClass; /** diff --git a/include/sysemu/hvf.h b/include/sysemu/hvf.h index d275b5a..d211e80 100644 --- a/include/sysemu/hvf.h +++ b/include/sysemu/hvf.h @@ -13,6 +13,7 @@ #ifndef HVF_H #define HVF_H +#include "cpu.h" #include "qemu/bitops.h" #include "exec/memory.h" #include "sysemu/accel.h" @@ -23,7 +24,6 @@ extern bool hvf_allowed; #include <Hypervisor/hv_vmx.h> #include <Hypervisor/hv_error.h> #include "target/i386/cpu.h" -#include "hw/hw.h" uint32_t hvf_get_supported_cpuid(uint32_t func, uint32_t idx, int reg); #define hvf_enabled() (hvf_allowed) diff --git a/include/sysemu/iothread.h b/include/sysemu/iothread.h index 5f6240d..6181486 100644 --- a/include/sysemu/iothread.h +++ b/include/sysemu/iothread.h @@ -16,6 +16,7 @@ #include "block/aio.h" #include "qemu/thread.h" +#include "qom/object.h" #define TYPE_IOTHREAD "iothread" diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h index acd90ae..c8ea412 100644 --- a/include/sysemu/kvm.h +++ b/include/sysemu/kvm.h @@ -17,7 +17,6 @@ #include "qemu/queue.h" #include "qom/cpu.h" #include "exec/memattrs.h" -#include "hw/irq.h" #ifdef NEED_CPU_H # ifdef CONFIG_KVM diff --git a/include/sysemu/kvm_int.h b/include/sysemu/kvm_int.h index 31df465..72b2d1b 100644 --- a/include/sysemu/kvm_int.h +++ b/include/sysemu/kvm_int.h @@ -9,7 +9,7 @@ #ifndef QEMU_KVM_INT_H #define QEMU_KVM_INT_H -#include "sysemu/sysemu.h" +#include "exec/memory.h" #include "sysemu/accel.h" #include "sysemu/kvm.h" diff --git a/include/sysemu/memory_mapping.h b/include/sysemu/memory_mapping.h index 5845245..4b20f1a 100644 --- a/include/sysemu/memory_mapping.h +++ b/include/sysemu/memory_mapping.h @@ -15,6 +15,7 @@ #define MEMORY_MAPPING_H #include "qemu/queue.h" +#include "exec/cpu-defs.h" #include "exec/memory.h" typedef struct GuestPhysBlock { diff --git a/include/sysemu/numa.h b/include/sysemu/numa.h index 01a263e..7a4ce89 100644 --- a/include/sysemu/numa.h +++ b/include/sysemu/numa.h @@ -2,9 +2,17 @@ #define SYSEMU_NUMA_H #include "qemu/bitmap.h" -#include "sysemu/sysemu.h" -#include "sysemu/hostmem.h" -#include "hw/boards.h" +#include "qapi/qapi-types-machine.h" +#include "exec/cpu-common.h" + +struct CPUArchId; + +#define MAX_NODES 128 +#define NUMA_NODE_UNASSIGNED MAX_NODES +#define NUMA_DISTANCE_MIN 10 +#define NUMA_DISTANCE_DEFAULT 20 +#define NUMA_DISTANCE_MAX 254 +#define NUMA_DISTANCE_UNREACHABLE 255 extern int nb_numa_nodes; /* Number of NUMA nodes */ extern bool have_numa_distance; @@ -32,5 +40,7 @@ void numa_legacy_auto_assign_ram(MachineClass *mc, NodeInfo *nodes, int nb_nodes, ram_addr_t size); void numa_default_auto_assign_ram(MachineClass *mc, NodeInfo *nodes, int nb_nodes, ram_addr_t size); -void numa_cpu_pre_plug(const CPUArchId *slot, DeviceState *dev, Error **errp); +void numa_cpu_pre_plug(const struct CPUArchId *slot, DeviceState *dev, + Error **errp); + #endif diff --git a/include/sysemu/replay.h b/include/sysemu/replay.h index 3a7c58e..2f2ccdb 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/sysemu/rng.h b/include/sysemu/rng.h index 2a02f47..9b22c15 100644 --- a/include/sysemu/rng.h +++ b/include/sysemu/rng.h @@ -13,6 +13,7 @@ #ifndef QEMU_RNG_H #define QEMU_RNG_H +#include "qemu/queue.h" #include "qom/object.h" #define TYPE_RNG_BACKEND "rng-backend" diff --git a/include/sysemu/runstate.h b/include/sysemu/runstate.h new file mode 100644 index 0000000..0b41555 --- /dev/null +++ b/include/sysemu/runstate.h @@ -0,0 +1,68 @@ +#ifndef SYSEMU_RUNSTATE_H +#define SYSEMU_RUNSTATE_H + +#include "qapi/qapi-types-run-state.h" +#include "qemu/notify.h" + +bool runstate_check(RunState state); +void runstate_set(RunState new_state); +int runstate_is_running(void); +bool runstate_needs_reset(void); +bool runstate_store(char *str, size_t size); + +typedef void VMChangeStateHandler(void *opaque, int running, RunState state); + +VMChangeStateEntry *qemu_add_vm_change_state_handler(VMChangeStateHandler *cb, + void *opaque); +VMChangeStateEntry *qemu_add_vm_change_state_handler_prio( + VMChangeStateHandler *cb, void *opaque, int priority); +VMChangeStateEntry *qdev_add_vm_change_state_handler(DeviceState *dev, + VMChangeStateHandler *cb, + void *opaque); +void qemu_del_vm_change_state_handler(VMChangeStateEntry *e); +void vm_state_notify(int running, RunState state); + +static inline bool shutdown_caused_by_guest(ShutdownCause cause) +{ + return cause >= SHUTDOWN_CAUSE_GUEST_SHUTDOWN; +} + +void vm_start(void); +int vm_prepare_start(void); +int vm_stop(RunState state); +int vm_stop_force_state(RunState state); +int vm_shutdown(void); + +typedef enum WakeupReason { + /* Always keep QEMU_WAKEUP_REASON_NONE = 0 */ + QEMU_WAKEUP_REASON_NONE = 0, + QEMU_WAKEUP_REASON_RTC, + QEMU_WAKEUP_REASON_PMTIMER, + QEMU_WAKEUP_REASON_OTHER, +} WakeupReason; + +void qemu_exit_preconfig_request(void); +void qemu_system_reset_request(ShutdownCause reason); +void qemu_system_suspend_request(void); +void qemu_register_suspend_notifier(Notifier *notifier); +bool qemu_wakeup_suspend_enabled(void); +void qemu_system_wakeup_request(WakeupReason reason, Error **errp); +void qemu_system_wakeup_enable(WakeupReason reason, bool enabled); +void qemu_register_wakeup_notifier(Notifier *notifier); +void qemu_register_wakeup_support(void); +void qemu_system_shutdown_request(ShutdownCause reason); +void qemu_system_powerdown_request(void); +void qemu_register_powerdown_notifier(Notifier *notifier); +void qemu_register_shutdown_notifier(Notifier *notifier); +void qemu_system_debug_request(void); +void qemu_system_vmstop_request(RunState reason); +void qemu_system_vmstop_request_prepare(void); +bool qemu_vmstop_requested(RunState *r); +ShutdownCause qemu_shutdown_requested_get(void); +ShutdownCause qemu_reset_requested_get(void); +void qemu_system_killed(int signal, pid_t pid); +void qemu_system_reset(ShutdownCause reason); +void qemu_system_guest_panicked(GuestPanicInformation *info); + +#endif + diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h index 984c439..d2c38f6 100644 --- a/include/sysemu/sysemu.h +++ b/include/sysemu/sysemu.h @@ -2,12 +2,8 @@ #define SYSEMU_H /* Misc. things related to the system emulator. */ -#include "qapi/qapi-types-run-state.h" -#include "qemu/queue.h" #include "qemu/timer.h" #include "qemu/notify.h" -#include "qemu/main-loop.h" -#include "qemu/bitmap.h" #include "qemu/uuid.h" #include "qom/object.h" @@ -19,63 +15,6 @@ extern const char *qemu_name; extern QemuUUID qemu_uuid; extern bool qemu_uuid_set; -bool runstate_check(RunState state); -void runstate_set(RunState new_state); -int runstate_is_running(void); -bool runstate_needs_reset(void); -bool runstate_store(char *str, size_t size); -typedef struct vm_change_state_entry VMChangeStateEntry; -typedef void VMChangeStateHandler(void *opaque, int running, RunState state); - -VMChangeStateEntry *qemu_add_vm_change_state_handler(VMChangeStateHandler *cb, - void *opaque); -VMChangeStateEntry *qemu_add_vm_change_state_handler_prio( - VMChangeStateHandler *cb, void *opaque, int priority); -void qemu_del_vm_change_state_handler(VMChangeStateEntry *e); -void vm_state_notify(int running, RunState state); - -static inline bool shutdown_caused_by_guest(ShutdownCause cause) -{ - return cause >= SHUTDOWN_CAUSE_GUEST_SHUTDOWN; -} - -void vm_start(void); -int vm_prepare_start(void); -int vm_stop(RunState state); -int vm_stop_force_state(RunState state); -int vm_shutdown(void); - -typedef enum WakeupReason { - /* Always keep QEMU_WAKEUP_REASON_NONE = 0 */ - QEMU_WAKEUP_REASON_NONE = 0, - QEMU_WAKEUP_REASON_RTC, - QEMU_WAKEUP_REASON_PMTIMER, - QEMU_WAKEUP_REASON_OTHER, -} WakeupReason; - -void qemu_exit_preconfig_request(void); -void qemu_system_reset_request(ShutdownCause reason); -void qemu_system_suspend_request(void); -void qemu_register_suspend_notifier(Notifier *notifier); -bool qemu_wakeup_suspend_enabled(void); -void qemu_system_wakeup_request(WakeupReason reason, Error **errp); -void qemu_system_wakeup_enable(WakeupReason reason, bool enabled); -void qemu_register_wakeup_notifier(Notifier *notifier); -void qemu_register_wakeup_support(void); -void qemu_system_shutdown_request(ShutdownCause reason); -void qemu_system_powerdown_request(void); -void qemu_register_powerdown_notifier(Notifier *notifier); -void qemu_register_shutdown_notifier(Notifier *notifier); -void qemu_system_debug_request(void); -void qemu_system_vmstop_request(RunState reason); -void qemu_system_vmstop_request_prepare(void); -bool qemu_vmstop_requested(RunState *r); -ShutdownCause qemu_shutdown_requested_get(void); -ShutdownCause qemu_reset_requested_get(void); -void qemu_system_killed(int signal, pid_t pid); -void qemu_system_reset(ShutdownCause reason); -void qemu_system_guest_panicked(GuestPanicInformation *info); - void qemu_add_exit_notifier(Notifier *notify); void qemu_remove_exit_notifier(Notifier *notify); @@ -119,13 +58,6 @@ extern QEMUClockType rtc_clock; extern const char *mem_path; extern int mem_prealloc; -#define MAX_NODES 128 -#define NUMA_NODE_UNASSIGNED MAX_NODES -#define NUMA_DISTANCE_MIN 10 -#define NUMA_DISTANCE_DEFAULT 20 -#define NUMA_DISTANCE_MAX 254 -#define NUMA_DISTANCE_UNREACHABLE 255 - #define MAX_OPTION_ROMS 16 typedef struct QEMUOptionRom { const char *name; diff --git a/include/sysemu/xen-mapcache.h b/include/sysemu/xen-mapcache.h index a03e2f1..c8e7c2f 100644 --- a/include/sysemu/xen-mapcache.h +++ b/include/sysemu/xen-mapcache.h @@ -9,6 +9,8 @@ #ifndef XEN_MAPCACHE_H #define XEN_MAPCACHE_H +#include "exec/cpu-common.h" + typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset, ram_addr_t size); #ifdef CONFIG_XEN diff --git a/include/ui/egl-helpers.h b/include/ui/egl-helpers.h index d714127..dad19e9 100644 --- a/include/ui/egl-helpers.h +++ b/include/ui/egl-helpers.h @@ -4,6 +4,8 @@ #include <epoxy/gl.h> #include <epoxy/egl.h> #include <gbm.h> +#include "ui/console.h" +#include "ui/shader.h" extern EGLDisplay *qemu_egl_display; extern EGLConfig qemu_egl_config; diff --git a/include/ui/input.h b/include/ui/input.h index 8c8ccb9..c86219a 100644 --- a/include/ui/input.h +++ b/include/ui/input.h @@ -2,6 +2,7 @@ #define INPUT_H #include "qapi/qapi-types-ui.h" +#include "qemu/notify.h" #define INPUT_EVENT_MASK_KEY (1<<INPUT_EVENT_KIND_KEY) #define INPUT_EVENT_MASK_BTN (1<<INPUT_EVENT_KIND_BTN) diff --git a/include/ui/spice-display.h b/include/ui/spice-display.h index eed60e4..4a47ffd 100644 --- a/include/ui/spice-display.h +++ b/include/ui/spice-display.h @@ -18,6 +18,7 @@ #ifndef UI_SPICE_DISPLAY_H #define UI_SPICE_DISPLAY_H +#include <spice.h> #include <spice/ipc_ring.h> #include <spice/enums.h> #include <spice/qxl_dev.h> @@ -25,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 */ |