diff options
Diffstat (limited to 'include')
251 files changed, 382 insertions, 273 deletions
diff --git a/include/authz/listfile.h b/include/authz/listfile.h index 33b728d873..24ae2e606c 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 a9df34ff94..89e40318cf 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 3aa1e832a8..6207a105ff 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 0cb7cc74a2..4629f24d08 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 80d8aab5d0..c646f267a4 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 aa1b864ccd..67601dc9a4 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 1709b59c9f..ac379ea70e 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 c0b57f7685..087b202b62 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 15da511f49..ba47e9197c 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 9bc713a70b..57a9a4ffd9 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 5373188be3..a62cfb28d5 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 16034ee651..135aeaab0d 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 a298b89ce1..97feb296d2 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 d1a9dd1ec8..ef4fb92371 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 bb0961ddb9..d99eb25d2e 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 b7b2e60ff6..a327a80cfe 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 970837992e..fbcae88f4b 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 4f3a37d927..805235d321 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 8d3af5a3be..eae2c27f99 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 c55aa6d174..be83a833ec 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 c91e2b9df2..1f2dafbd7d 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 43ff119179..0ba90effd2 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 8bbd32cf45..bf2a3ed0ba 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 d19dd59353..a1e0da8213 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 38586ecbdf..c49d913f3e 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 a72f734eb1..663b79f4f3 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 e99fe2ea2e..7d2d215630 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 cef605ad6b..976fd6be93 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 a2cb8454de..97187f72be 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 c48cc4c2bc..5714dea1a2 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 aa137271c0..f0f23b0e9b 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 3280ab1fb0..241efb52ae 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 e68a81efd7..ac5ca9826a 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 8003d45d1e..706aef2e7e 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 d21e418242..2fda996648 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 5bf6db1fa2..89e168fbff 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 fae322997e..e93a7499a8 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 35804ea80a..d7483c3b42 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 172afbf146..632cce9f68 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 e12cb886d1..f7bafd5e38 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 8cece84326..c15ff4c623 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 1acaf7de80..2136a2d5e4 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 a71d1a53a5..739d109fe1 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 b5e11d4d43..d9ee2fc29a 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 e1cf33e94c..47cec956c4 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 c41fba9a27..3c1b53db4e 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 42aca83611..d5196c53e6 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 e7c6fb5a3b..6fce278326 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 d6dd62fb9f..0a23c0f57e 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 dad3cf2912..14187165c6 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 abd5cf71a9..8be3d8a4f9 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 84c4029777..8e112671e3 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 634086b657..194e2feafe 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 dd27c42ab0..9ffce1c5a3 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 bb87157c5a..872a39aa4f 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 01c1e50cd2..a616501a55 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 b7470644d8..555ad831bb 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 8da965addb..aa146a2cd8 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 f6f33e0980..095d76b956 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 ef72bbc186..5b33018835 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 7948bd2c40..ff99dc0a05 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 c29443c5af..1cf53a0c8d 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 148a119a1d..e3394ff158 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 5c4da91f80..f9263bf98a 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 0401a3a292..ca0003dbfd 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 2cab50bb6c..03e2c166be 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 123a9f8989..cb9a221aa6 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 9f8e0c720c..b0de0a3c74 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 b1b79964b5..fc5301f293 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 f9020acdef..a2753f0bbb 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 75c5bd638b..4117211565 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 fb55c44444..0d74207efb 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 0f96836bab..15e2151b50 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 1209eb483a..b04bdd947f 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 046bcf33be..72e803f6e2 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 12f3d266e2..66b931e526 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 07002f9662..d46c87c510 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 859b64c51d..4bb9e29114 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 8efd03132b..52ec197da0 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 f99d478252..b7b32e2b16 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 e20211baef..6f6aa2406a 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 2127c7ce45..6a9d7bf466 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 f6ff146364..246e6f3335 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 dbfe5c55c1..3cd8f1bf55 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 1d314a70d9..a5895401d1 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 6c91ec91bb..b163e27ab9 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 902a12b178..8428287bf9 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 e33e032ced..1c07969bc9 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 011faf22e9..70871da0a7 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 7a40e3ed26..fe527f6f51 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 0f93602936..b6e070c00e 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 f742c2a726..ee189e4a77 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 e62ac91c19..018ada4f6f 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 c3c2b6e786..f23f45dfb1 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 0293a96abb..04476acb8f 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 01436b9f50..289edc0f3d 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 aab1af926d..a941c55f27 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 2f6774d540..0af4c3d5d7 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 c15b444748..a539a98c4b 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 c899943e03..5334984020 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 7dad469142..5768075ac5 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 2838ae5fde..24a4364b39 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 970058b6ed..070a694eb5 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 d10895ba5f..7ef83dee4c 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 c9dfcb4b84..3e6e223273 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 72c834e039..3f670578b0 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 03d9f0c059..493c907537 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 1ee071a703..ae0c8188ce 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 69e6a30fc5..84e06fdecf 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 2a291ca42d..44d87be903 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 0d11578059..d4f3d3a91c 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 905a43deb4..5013207d15 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 500acb4c14..3d0c67f339 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 ffdd35c4d7..0357f5f65c 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 5acf4a494e..eef17a680d 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 a66ba4112f..df5b11dcef 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 b4f5b2b104..09941a9be4 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 5a31e5a188..3a3230dd84 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 186bb36238..31c41231b1 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 2af1c4a37e..faea040a93 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 5ed77facd0..b3bcf2e632 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 9afa4938fd..99b5aefbec 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 060324536a..72d2a97355 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 74c04dc9bb..c0f15314be 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 aaf1b9f70d..1b840e61a2 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 8cf3361fc4..7064875835 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 729a9439c8..65e71d98fe 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 bd8204f64e..d5683b7399 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 1b4080764f..ebad7bc504 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 7642a8ea1d..ec16897bfb 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 d0926454a9..bfbd2ec42a 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 39a7ba1ce6..7d82259051 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 f9645a7290..35e0a7eead 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 c2c543a591..83f03cc577 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 f965a58f89..8132e00366 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 5de5ecf5de..7891e9caac 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 04609f214e..875be28cdd 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 7197144265..bfd40f01d8 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 1eb7b5cd68..f2a8d6a4b4 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 736335174a..9399c77d2d 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 1a8c5b5e64..b0c68ab5f7 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 2b866902aa..9c77055229 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 136df7774c..de70b7a19a 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 1eae5ab056..bb34a614e2 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 5cb8b080a6..0000000000 --- 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 d56f2ae3eb..1f21c2bef1 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 0671d88a44..3b52b50571 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 fb5f88129e..fb9452cf51 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 e2865be1d1..ae8286c884 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 d175b24cb2..9c868dd7f9 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 ce8907f6aa..b0edba2884 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 bd51c4af3c..8b7de134f8 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 71d4c9fad7..3a603a6ead 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 892f0eee21..be021ce256 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 c8dc1c57fd..65668825a3 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 641b70da67..03d870363c 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 d01a1a85c4..6e5fbe5d3b 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 765e9082a3..8df9cd2954 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 5a0203be5f..f7ed2d9a03 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 d033387fba..f46bcafb16 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 6cf71cec38..bdc32a3c09 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 f9db243484..c54413b78c 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 d6403a0a7e..4f7c6c0877 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 62df48ec06..3f1ae7e778 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 9c4a6000c3..4251623f7f 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 426566a5c6..d77a92361b 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 b865aafc33..a84b8e274a 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 cfab572c0c..9be9754bcd 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 b7c2404334..65f3425057 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 5606ff0a97..78b6178fcd 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 21ab79e343..4ced36fb5a 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 591279ba1f..aa07dac4fe 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 6a0c3c3cdb..1107cb89ee 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 1cd73e4cd4..e24b007abf 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 a0a0ae7584..6a39b55a7b 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 4c668fbbdc..27e80881da 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 c0cc3e2169..871c95b512 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 1f1155a676..15ba42912b 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 f21686d26b..e93caccc3c 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 5b12eb918e..45cb42571f 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 c37a438f82..3db462aecd 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 43efc91f56..f74854c026 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 c62f17bf2d..bfbb57e570 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 e6a83237a5..a96bc08b1b 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 6e9134edf6..97e32322ed 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 89ef922c67..c19ed3f013 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 c21f41c8a9..c24d968a19 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 30d3c28d3b..4ec70c813a 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 54357164f0..16bf1a73c1 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 df5bfdb188..23252153ff 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 8dbf11c6f0..108bfadeeb 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 1b332ea910..99ab2f2cc4 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 619498c8f4..085450c6f8 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 bdf58f3119..6818a23a2d 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 7fec9dc929..38c9399cd4 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 38d12160f6..203f9e1718 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 19b6ee6d75..33f1999320 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 922dce7cac..ff699335e3 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 12657a9f39..ed3e916b68 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 b189788cb2..48e8d04ff6 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 daef0c0e23..8c5691ce20 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 706d96b753..19d83a0937 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 07d4176ac1..5e6c56c4d6 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 9c7b5f78dc..5ac1c6dc55 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 0504b43659..82e56339dd 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 c9ea9e737c..500424c8d3 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 12cf1d8b6f..4d53c077f2 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 a40bd3549f..65abe3c8cc 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 fd22dd3034..945eb35d5b 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 5cdbabd094..b9d8e787af 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/qemu-file-types.h b/include/migration/qemu-file-types.h index c0a1988155..2867e3da84 100644 --- a/include/migration/qemu-file-types.h +++ b/include/migration/qemu-file-types.h @@ -161,6 +161,10 @@ static inline void qemu_get_sbe64s(QEMUFile *f, int64_t *pv) qemu_get_be64s(f, (uint64_t *)pv); } +size_t qemu_get_counted_string(QEMUFile *f, char buf[256]); + +void qemu_put_counted_string(QEMUFile *f, const char *name); + int qemu_file_rate_limit(QEMUFile *f); #endif diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h index c2bfa7a7f0..1fbfd099dd 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 454e8ed155..8b7820a3ad 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 084799e4d9..eaa947d73a 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 1da4d01b95..d4fc51b57d 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 9bc6fa3cc6..e8fb6259db 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 acf0451fc4..e175ba9677 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 51b63dd4b5..3f95141a01 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 ddd0d55d31..6b34484e15 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 24b364462d..489c354291 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 9e7cd1e4a0..73c67d3175 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 0379bd8fdb..73bf4a984d 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 71b8b215c6..f62b363e0d 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 1b38291823..01da8d63f1 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 50af5dd7ab..d0a1a9597e 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 fcdaae58c4..375770a80f 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 5ee0046b62..ddb91bbaff 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 7bb82a7f56..128d00c77f 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 89ce57e404..8eb60b870b 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 10cbafe970..62c6fe4cf1 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 c8f6145257..aea0c44985 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 6debf53fc5..0d3421e7e8 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 92bbb79131..a9afb7e5b5 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 5da3c4e3c5..80c5bc3e02 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 f005995c50..9b27e65cc7 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 92fa0e458c..4dbdadd39e 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 d275b5a843..d211e808e9 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 5f6240d5cb..6181486401 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 acd90aebb6..c8ea412f62 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 31df465fdc..72b2d1b3ae 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 58452457ce..4b20f1a639 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 01a263eba2..7a4ce89765 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/qtest.h b/include/sysemu/qtest.h index cd114b8d80..5ed09c80b1 100644 --- a/include/sysemu/qtest.h +++ b/include/sysemu/qtest.h @@ -24,6 +24,6 @@ static inline bool qtest_enabled(void) bool qtest_driver(void); -void qtest_init(const char *qtest_chrdev, const char *qtest_log, Error **errp); +void qtest_server_init(const char *qtest_chrdev, const char *qtest_log, Error **errp); #endif diff --git a/include/sysemu/replay.h b/include/sysemu/replay.h index 3a7c58e423..2f2ccdbc98 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 2a02f47771..9b22c156f8 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 0000000000..0b41555609 --- /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 984c439ac9..d2c38f611a 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 a03e2f1878..c8e7c2f6cf 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 d714127799..dad19e9873 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 8c8ccb999f..c86219a1c1 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 eed60e4fae..4a47ffdd4c 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 */ |