aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2013-02-05 17:06:20 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2013-04-08 18:13:10 +0200
commit0d09e41a51aa0752b1ce525ce084f7cd210e461b (patch)
treedc92b5b32c1e3182afa9bfd16a46a0a089320102
parentbb585a784e9ad69207315d694e7dad2c422f6baa (diff)
hw: move headers to include/
Many of these should be cleaned up with proper qdev-/QOM-ification. Right now there are many catch-all headers in include/hw/ARCH depending on cpu.h, and this makes it necessary to compile these files per-target. However, fixing this does not belong in these patches. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--arch_init.c8
-rw-r--r--block/iscsi.c4
-rw-r--r--blockdev-nbd.c2
-rw-r--r--blockdev.c2
-rw-r--r--exec.c2
-rw-r--r--gdbstub.c2
-rw-r--r--hw/9pfs/virtio-9p-device.c4
-rw-r--r--hw/9pfs/virtio-9p-handle.c2
-rw-r--r--hw/9pfs/virtio-9p-local.c2
-rw-r--r--hw/9pfs/virtio-9p-posix-acl.c2
-rw-r--r--hw/9pfs/virtio-9p-proxy.c2
-rw-r--r--hw/9pfs/virtio-9p-synth.c2
-rw-r--r--hw/9pfs/virtio-9p-xattr-user.c2
-rw-r--r--hw/9pfs/virtio-9p-xattr.c2
-rw-r--r--hw/9pfs/virtio-9p.c4
-rw-r--r--hw/9pfs/virtio-9p.h2
-rw-r--r--hw/ac97.c2
-rw-r--r--hw/acpi.c4
-rw-r--r--hw/acpi_ich9.c6
-rw-r--r--hw/acpi_piix4.c10
-rw-r--r--hw/adb.c2
-rw-r--r--hw/adlib.c4
-rw-r--r--hw/alpha/dp264.c6
-rw-r--r--hw/alpha_sys.h2
-rw-r--r--hw/alpha_typhoon.c2
-rw-r--r--hw/apb_pci.c2
-rw-r--r--hw/apic.c10
-rw-r--r--hw/apic_common.c4
-rw-r--r--hw/apm.c2
-rw-r--r--hw/applesmc.c2
-rw-r--r--hw/arm/armv7m.c2
-rw-r--r--hw/arm/boot.c2
-rw-r--r--hw/arm/collie.c6
-rw-r--r--hw/arm/exynos4210.c4
-rw-r--r--hw/arm/exynos4_boards.c4
-rw-r--r--hw/arm/gumstix.c6
-rw-r--r--hw/arm/highbank.c4
-rw-r--r--hw/arm/integratorcp.c4
-rw-r--r--hw/arm/kzm.c8
-rw-r--r--hw/arm/mainstone.c8
-rw-r--r--hw/arm/musicpal.c10
-rw-r--r--hw/arm/nseries.c10
-rw-r--r--hw/arm/omap1.c6
-rw-r--r--hw/arm/omap2.c8
-rw-r--r--hw/arm/omap_sx1.c6
-rw-r--r--hw/arm/palm.c6
-rw-r--r--hw/arm/pic_cpu.c2
-rw-r--r--hw/arm/pxa2xx.c6
-rw-r--r--hw/arm/pxa2xx_gpio.c2
-rw-r--r--hw/arm/pxa2xx_pic.c2
-rw-r--r--hw/arm/realview.c8
-rw-r--r--hw/arm/spitz.c12
-rw-r--r--hw/arm/stellaris.c6
-rw-r--r--hw/arm/tosa.c10
-rw-r--r--hw/arm/versatilepb.c8
-rw-r--r--hw/arm/vexpress.c8
-rw-r--r--hw/arm/xilinx_zynq.c4
-rw-r--r--hw/arm/z2.c10
-rw-r--r--hw/arm_sysctl.c2
-rw-r--r--hw/armv7m_nvic.c2
-rw-r--r--hw/bitbang_i2c.h2
-rw-r--r--hw/blizzard.c2
-rw-r--r--hw/block-common.c2
-rw-r--r--hw/bonito.c4
-rw-r--r--hw/bt-hid.c2
-rw-r--r--hw/cbus.c2
-rw-r--r--hw/cdrom.c2
-rw-r--r--hw/cris/axis_dev88.c4
-rw-r--r--hw/cris/pic_cpu.c2
-rw-r--r--hw/cs4231a.c4
-rw-r--r--hw/cuda.c2
-rw-r--r--hw/dataplane/hostmem.c2
-rw-r--r--hw/dataplane/virtio-blk.c6
-rw-r--r--hw/dataplane/virtio-blk.h2
-rw-r--r--hw/dataplane/vring.c2
-rw-r--r--hw/debugcon.c4
-rw-r--r--hw/debugexit.c2
-rw-r--r--hw/dma.c2
-rw-r--r--hw/dp8393x.c2
-rw-r--r--hw/ds1338.c2
-rw-r--r--hw/ecc.c2
-rw-r--r--hw/eepro100.c2
-rw-r--r--hw/eeprom93xx.c2
-rw-r--r--hw/es1370.c2
-rw-r--r--hw/escc.c2
-rw-r--r--hw/esp-pci.c4
-rw-r--r--hw/esp.c2
-rw-r--r--hw/etraxfs_dma.c2
-rw-r--r--hw/etraxfs_eth.c2
-rw-r--r--hw/exynos4210_combiner.c2
-rw-r--r--hw/exynos4210_gic.c2
-rw-r--r--hw/exynos4210_i2c.c2
-rw-r--r--hw/exynos4210_mct.c2
-rw-r--r--hw/exynos4210_pwm.c2
-rw-r--r--hw/exynos4210_rtc.c2
-rw-r--r--hw/exynos4210_uart.c2
-rw-r--r--hw/fdc.c4
-rw-r--r--hw/fw_cfg.c4
-rw-r--r--hw/grlib_irqmp.c2
-rw-r--r--hw/gt64xxx.c4
-rw-r--r--hw/gus.c4
-rw-r--r--hw/hd-geometry.c2
-rw-r--r--hw/hid.c2
-rw-r--r--hw/hpet.c8
-rw-r--r--hw/i2c.c2
-rw-r--r--hw/i386/kvmvapic.c2
-rw-r--r--hw/i386/multiboot.c2
-rw-r--r--hw/i386/pc.c24
-rw-r--r--hw/i386/pc_piix.c8
-rw-r--r--hw/i386/pc_q35.c10
-rw-r--r--hw/i386/smbios.c2
-rw-r--r--hw/i386/xen_domainbuild.c2
-rw-r--r--hw/i386/xen_machine_pv.c4
-rw-r--r--hw/i82374.c2
-rw-r--r--hw/i82378.c6
-rw-r--r--hw/i8254.c8
-rw-r--r--hw/i8254_common.c8
-rw-r--r--hw/i8259.c6
-rw-r--r--hw/i8259_common.c4
-rw-r--r--hw/i82801b11.c2
-rw-r--r--hw/ide/ahci.c2
-rw-r--r--hw/ide/atapi.c2
-rw-r--r--hw/ide/cmd646.c4
-rw-r--r--hw/ide/core.c6
-rw-r--r--hw/ide/ich.c4
-rw-r--r--hw/ide/internal.h6
-rw-r--r--hw/ide/isa.c4
-rw-r--r--hw/ide/macio.c2
-rw-r--r--hw/ide/microdrive.c2
-rw-r--r--hw/ide/pci.c4
-rw-r--r--hw/ide/piix.c4
-rw-r--r--hw/ide/qdev.c2
-rw-r--r--hw/ide/via.c4
-rw-r--r--hw/imx_ccm.c2
-rw-r--r--hw/imx_serial.c2
-rw-r--r--hw/imx_timer.c2
-rw-r--r--hw/intel-hda.c2
-rw-r--r--hw/ioapic.c8
-rw-r--r--hw/ioapic_common.c4
-rw-r--r--hw/isa-bus.c2
-rw-r--r--hw/isa_mmio.c2
-rw-r--r--hw/ivshmem.c2
-rw-r--r--hw/kvm/apic.c2
-rw-r--r--hw/kvm/i8254.c4
-rw-r--r--hw/kvm/i8259.c4
-rw-r--r--hw/kvm/ioapic.c6
-rw-r--r--hw/kvm/pci-assign.c2
-rw-r--r--hw/lan9118.c2
-rw-r--r--hw/lance.c2
-rw-r--r--hw/lm32/lm32_boards.c4
-rw-r--r--hw/lm32/milkymist.c4
-rw-r--r--hw/lm32_juart.c2
-rw-r--r--hw/lm32_pic.c4
-rw-r--r--hw/lm832x.c2
-rw-r--r--hw/loader.c2
-rw-r--r--hw/lpc_ich9.c15
-rw-r--r--hw/lsi53c895a.c2
-rw-r--r--hw/m25p80.c2
-rw-r--r--hw/m48t59.c4
-rw-r--r--hw/m68k/an5206.c2
-rw-r--r--hw/m68k/mcf5206.c2
-rw-r--r--hw/m68k/mcf5208.c2
-rw-r--r--hw/m68k/mcf_intc.c2
-rw-r--r--hw/mac_dbdma.c4
-rw-r--r--hw/mac_nvram.c2
-rw-r--r--hw/macio.c4
-rw-r--r--hw/marvell_88w8618_audio.c2
-rw-r--r--hw/max7310.c2
-rw-r--r--hw/mc146818rtc.c4
-rw-r--r--hw/mcf_fec.c2
-rw-r--r--hw/mcf_uart.c2
-rw-r--r--hw/megasas.c4
-rw-r--r--hw/microblaze/petalogix_ml605_mmu.c6
-rw-r--r--hw/microblaze/petalogix_s3adsp1800_mmu.c4
-rw-r--r--hw/milkymist-softusb.c2
-rw-r--r--hw/mips/addr.c2
-rw-r--r--hw/mips/cputimer.c2
-rw-r--r--hw/mips/mips_fulong2e.c22
-rw-r--r--hw/mips/mips_int.c2
-rw-r--r--hw/mips/mips_jazz.c22
-rw-r--r--hw/mips/mips_malta.c20
-rw-r--r--hw/mips/mips_mipssim.c10
-rw-r--r--hw/mips/mips_r4k.c18
-rw-r--r--hw/moxie/moxiesim.c6
-rw-r--r--hw/nand.c2
-rw-r--r--hw/ne2000-isa.c4
-rw-r--r--hw/omap_clk.c2
-rw-r--r--hw/omap_dma.c4
-rw-r--r--hw/omap_dss.c2
-rw-r--r--hw/omap_gpio.c2
-rw-r--r--hw/omap_gpmc.c4
-rw-r--r--hw/omap_gptimer.c2
-rw-r--r--hw/omap_i2c.c4
-rw-r--r--hw/omap_intc.c2
-rw-r--r--hw/omap_l4.c2
-rw-r--r--hw/omap_lcdc.c2
-rw-r--r--hw/omap_mmc.c2
-rw-r--r--hw/omap_sdrc.c2
-rw-r--r--hw/omap_spi.c2
-rw-r--r--hw/omap_synctimer.c2
-rw-r--r--hw/omap_tap.c2
-rw-r--r--hw/omap_uart.c4
-rw-r--r--hw/onenand.c2
-rw-r--r--hw/openpic.c4
-rw-r--r--hw/openrisc/openrisc_sim.c2
-rw-r--r--hw/pam.c2
-rw-r--r--hw/parallel.c4
-rw-r--r--hw/pc-testdev.c2
-rw-r--r--hw/pc87312.c2
-rw-r--r--hw/pc_sysfw.c4
-rw-r--r--hw/pci/pci-hotplug.c6
-rw-r--r--hw/pckbd.c6
-rw-r--r--hw/pcspk.c8
-rw-r--r--hw/pflash_cfi01.c2
-rw-r--r--hw/pflash_cfi02.c2
-rw-r--r--hw/piix4.c4
-rw-r--r--hw/piix_pci.c8
-rw-r--r--hw/pl050.c2
-rw-r--r--hw/pl330.c2
-rw-r--r--hw/pm_smbus.c6
-rw-r--r--hw/ppc/e500.c8
-rw-r--r--hw/ppc/e500plat.c2
-rw-r--r--hw/ppc/mac.h2
-rw-r--r--hw/ppc/mac_newworld.c14
-rw-r--r--hw/ppc/mac_oldworld.c12
-rw-r--r--hw/ppc/mpc8544ds.c2
-rw-r--r--hw/ppc/ppc.c4
-rw-r--r--hw/ppc/ppc405_boards.c6
-rw-r--r--hw/ppc/ppc405_uc.c4
-rw-r--r--hw/ppc/ppc440_bamboo.c4
-rw-r--r--hw/ppc/ppc4xx_devs.c4
-rw-r--r--hw/ppc/ppc_booke.c4
-rw-r--r--hw/ppc/prep.c16
-rw-r--r--hw/ppc/spapr.c10
-rw-r--r--hw/ppc/spapr_events.c4
-rw-r--r--hw/ppc/spapr_hcall.c2
-rw-r--r--hw/ppc/spapr_iommu.c2
-rw-r--r--hw/ppc/spapr_rtas.c4
-rw-r--r--hw/ppc/spapr_vio.c6
-rw-r--r--hw/ppc/virtex_ml507.c10
-rw-r--r--hw/ppc/xics.c4
-rw-r--r--hw/ppc405.h2
-rw-r--r--hw/ppc4xx_pci.c4
-rw-r--r--hw/ppce500_pci.c2
-rw-r--r--hw/prep_pci.c2
-rw-r--r--hw/ps2.c2
-rw-r--r--hw/puv3_dma.c2
-rw-r--r--hw/puv3_gpio.c2
-rw-r--r--hw/puv3_intc.c2
-rw-r--r--hw/puv3_ost.c2
-rw-r--r--hw/puv3_pm.c2
-rw-r--r--hw/pxa2xx_dma.c2
-rw-r--r--hw/pxa2xx_keypad.c2
-rw-r--r--hw/pxa2xx_lcd.c2
-rw-r--r--hw/pxa2xx_mmci.c2
-rw-r--r--hw/pxa2xx_pcmcia.c2
-rw-r--r--hw/pxa2xx_timer.c2
-rw-r--r--hw/q35.c2
-rw-r--r--hw/qdev-properties-system.c2
-rw-r--r--hw/qdev-properties.c2
-rw-r--r--hw/rc4030.c2
-rw-r--r--hw/s390x/s390-virtio-bus.c10
-rw-r--r--hw/s390x/s390-virtio-bus.h12
-rw-r--r--hw/s390x/s390-virtio.c2
-rw-r--r--hw/s390x/virtio-ccw.c8
-rw-r--r--hw/s390x/virtio-ccw.h14
-rw-r--r--hw/sb16.c4
-rw-r--r--hw/scsi-bus.c4
-rw-r--r--hw/scsi-disk.c6
-rw-r--r--hw/scsi-generic.c4
-rw-r--r--hw/serial-isa.c4
-rw-r--r--hw/serial-pci.c2
-rw-r--r--hw/serial.c2
-rw-r--r--hw/sga.c2
-rw-r--r--hw/sh4/r2d.c6
-rw-r--r--hw/sh4/sh7750.c4
-rw-r--r--hw/sh4/sh7750_regnames.c2
-rw-r--r--hw/sh4/shix.c2
-rw-r--r--hw/sh_intc.c4
-rw-r--r--hw/sh_pci.c2
-rw-r--r--hw/sh_serial.c2
-rw-r--r--hw/sh_timer.c2
-rw-r--r--hw/slavio_intctl.c2
-rw-r--r--hw/slavio_timer.c2
-rw-r--r--hw/sm501.c4
-rw-r--r--hw/smbus.c4
-rw-r--r--hw/smbus_eeprom.c4
-rw-r--r--hw/smbus_ich9.c10
-rw-r--r--hw/smc91c111.c2
-rw-r--r--hw/soc_dma.c2
-rw-r--r--hw/spapr_llan.c4
-rw-r--r--hw/spapr_nvram.c4
-rw-r--r--hw/spapr_pci.c4
-rw-r--r--hw/spapr_vscsi.c8
-rw-r--r--hw/spapr_vty.c4
-rw-r--r--hw/sparc/leon3.c2
-rw-r--r--hw/sparc/sun4m.c20
-rw-r--r--hw/sparc32_dma.c4
-rw-r--r--hw/sparc64/sun4u.c14
-rw-r--r--hw/ssd0303.c2
-rw-r--r--hw/stellaris_input.c2
-rw-r--r--hw/strongarm.c2
-rw-r--r--hw/sun4c_intctl.c2
-rw-r--r--hw/sun4m_iommu.c2
-rw-r--r--hw/tc58128.c2
-rw-r--r--hw/tc6393xb.c4
-rw-r--r--hw/tmp105.c2
-rw-r--r--hw/tmp105.h4
-rw-r--r--hw/tsc2005.c2
-rw-r--r--hw/tsc210x.c4
-rw-r--r--hw/tusb6010.c4
-rw-r--r--hw/twl92230.c2
-rw-r--r--hw/unicore32/puv3.c4
-rw-r--r--hw/usb/dev-audio.c2
-rw-r--r--hw/usb/dev-hid.c2
-rw-r--r--hw/usb/dev-storage.c2
-rw-r--r--hw/usb/dev-uas.c4
-rw-r--r--hw/vga-isa-mm.c2
-rw-r--r--hw/vga-isa.c2
-rw-r--r--hw/vga.c4
-rw-r--r--hw/vhost.c2
-rw-r--r--hw/vhost_net.c6
-rw-r--r--hw/virtio-balloon.c8
-rw-r--r--hw/virtio-blk.c11
-rw-r--r--hw/virtio-bus.c4
-rw-r--r--hw/virtio-console.c2
-rw-r--r--hw/virtio-net.c6
-rw-r--r--hw/virtio-pci.c14
-rw-r--r--hw/virtio-pci.h16
-rw-r--r--hw/virtio-rng.c4
-rw-r--r--hw/virtio-scsi.c8
-rw-r--r--hw/virtio-serial-bus.c2
-rw-r--r--hw/virtio.c4
-rw-r--r--hw/vmmouse.c4
-rw-r--r--hw/vmport.c4
-rw-r--r--hw/vmxnet3.c9
-rw-r--r--hw/vt82c686.c18
-rw-r--r--hw/watchdog.c2
-rw-r--r--hw/wdt_i6300esb.c2
-rw-r--r--hw/wdt_ib700.c6
-rw-r--r--hw/wm8750.c2
-rw-r--r--hw/xen_apic.c4
-rw-r--r--hw/xen_backend.c2
-rw-r--r--hw/xen_console.c2
-rw-r--r--hw/xen_devconfig.c2
-rw-r--r--hw/xen_disk.c2
-rw-r--r--hw/xen_domainbuild.h2
-rw-r--r--hw/xen_nic.c2
-rw-r--r--hw/xen_platform.c6
-rw-r--r--hw/xen_pt.c4
-rw-r--r--hw/xen_pt.h2
-rw-r--r--hw/xen_pt_config_init.c2
-rw-r--r--hw/xen_pt_msi.c4
-rw-r--r--hw/xenfb.c2
-rw-r--r--hw/xtensa/xtensa_lx60.c4
-rw-r--r--hw/zaurus.c2
-rw-r--r--include/block/scsi.h (renamed from hw/scsi-defs.h)0
-rw-r--r--include/exec/memory-internal.h2
-rw-r--r--include/hw/acpi/acpi.h (renamed from hw/acpi.h)0
-rw-r--r--include/hw/acpi/ich9.h (renamed from hw/acpi_ich9.h)2
-rw-r--r--include/hw/arm.h (renamed from hw/arm-misc.h)0
-rw-r--r--include/hw/arm/devices.h (renamed from hw/devices.h)0
-rw-r--r--include/hw/arm/exynos4210.h (renamed from hw/exynos4210.h)0
-rw-r--r--include/hw/arm/imx.h (renamed from hw/imx.h)0
-rw-r--r--include/hw/arm/omap.h (renamed from hw/omap.h)0
-rw-r--r--include/hw/arm/primecell.h (renamed from hw/primecell.h)0
-rw-r--r--include/hw/arm/pxa.h (renamed from hw/pxa.h)0
-rw-r--r--include/hw/arm/sharpsl.h (renamed from hw/sharpsl.h)0
-rw-r--r--include/hw/arm/soc_dma.h (renamed from hw/soc_dma.h)0
-rw-r--r--include/hw/audio/audio.h (renamed from hw/audiodev.h)0
-rw-r--r--include/hw/audio/pcspk.h (renamed from hw/pcspk.h)2
-rw-r--r--include/hw/block/block.h (renamed from hw/block-common.h)0
-rw-r--r--include/hw/block/fdc.h (renamed from hw/fdc.h)0
-rw-r--r--include/hw/block/flash.h (renamed from hw/flash.h)0
-rw-r--r--include/hw/boards.h (renamed from hw/boards.h)0
-rw-r--r--include/hw/bt.h (renamed from hw/bt.h)0
-rw-r--r--include/hw/char/escc.h (renamed from hw/escc.h)0
-rw-r--r--include/hw/char/serial.h (renamed from hw/serial.h)0
-rw-r--r--include/hw/cris/etraxfs.h (renamed from hw/etraxfs.h)2
-rw-r--r--include/hw/cris/etraxfs_dma.h (renamed from hw/etraxfs_dma.h)0
-rw-r--r--include/hw/elf_ops.h (renamed from hw/elf_ops.h)0
-rw-r--r--include/hw/empty_slot.h (renamed from hw/empty_slot.h)0
-rw-r--r--include/hw/hw.h (renamed from hw/hw.h)0
-rw-r--r--include/hw/i2c/i2c.h (renamed from hw/i2c.h)0
-rw-r--r--include/hw/i2c/pm_smbus.h (renamed from hw/pm_smbus.h)0
-rw-r--r--include/hw/i2c/smbus.h (renamed from hw/smbus.h)2
-rw-r--r--include/hw/i386/apic-msidef.h (renamed from hw/apic-msidef.h)0
-rw-r--r--include/hw/i386/apic.h (renamed from hw/apic.h)0
-rw-r--r--include/hw/i386/apic_internal.h (renamed from hw/apic_internal.h)0
-rw-r--r--include/hw/i386/ich9.h (renamed from hw/ich9.h)13
-rw-r--r--include/hw/i386/ioapic.h (renamed from hw/ioapic.h)0
-rw-r--r--include/hw/i386/ioapic_internal.h (renamed from hw/ioapic_internal.h)0
-rw-r--r--include/hw/i386/pc.h (renamed from hw/pc.h)6
-rw-r--r--include/hw/i386/smbios.h (renamed from hw/smbios.h)0
-rw-r--r--include/hw/ide.h (renamed from hw/ide.h)2
-rw-r--r--include/hw/input/adb.h (renamed from hw/adb.h)0
-rw-r--r--include/hw/input/hid.h (renamed from hw/hid.h)0
-rw-r--r--include/hw/input/ps2.h (renamed from hw/ps2.h)0
-rw-r--r--include/hw/irq.h (renamed from hw/irq.h)0
-rw-r--r--include/hw/isa/apm.h (renamed from hw/apm.h)0
-rw-r--r--include/hw/isa/i8259_internal.h (renamed from hw/i8259_internal.h)4
-rw-r--r--include/hw/isa/isa.h (renamed from hw/isa.h)0
-rw-r--r--include/hw/isa/pc87312.h (renamed from hw/pc87312.h)2
-rw-r--r--include/hw/isa/vt82c686.h (renamed from hw/vt82c686.h)0
-rw-r--r--include/hw/kvm/clock.h (renamed from hw/kvm/clock.h)0
-rw-r--r--include/hw/lm32/lm32_juart.h (renamed from hw/lm32_juart.h)0
-rw-r--r--include/hw/lm32/lm32_pic.h (renamed from hw/lm32_pic.h)0
-rw-r--r--include/hw/loader.h (renamed from hw/loader.h)0
-rw-r--r--include/hw/m68k/mcf.h (renamed from hw/mcf.h)0
-rw-r--r--include/hw/mips/bios.h (renamed from hw/mips-bios.h)0
-rw-r--r--include/hw/mips/cpudevs.h (renamed from hw/mips_cpudevs.h)0
-rw-r--r--include/hw/mips/mips.h (renamed from hw/mips.h)0
-rw-r--r--include/hw/misc/tmp105_regs.h (renamed from hw/tmp105_regs.h)0
-rw-r--r--include/hw/nvram/eeprom93xx.h (renamed from hw/eeprom93xx.h)0
-rw-r--r--include/hw/nvram/fw_cfg.h (renamed from hw/fw_cfg.h)0
-rw-r--r--include/hw/pci-host/apb.h (renamed from hw/apb_pci.h)0
-rw-r--r--include/hw/pci-host/pam.h (renamed from hw/pam.h)0
-rw-r--r--include/hw/pci-host/ppce500.h (renamed from hw/ppce500_pci.h)0
-rw-r--r--include/hw/pci-host/q35.h (renamed from hw/q35.h)14
-rw-r--r--include/hw/pci-host/spapr.h (renamed from hw/spapr_pci.h)2
-rw-r--r--include/hw/pci/msi.h (renamed from hw/pci/msi.h)0
-rw-r--r--include/hw/pci/msix.h (renamed from hw/pci/msix.h)0
-rw-r--r--include/hw/pci/pci.h (renamed from hw/pci/pci.h)2
-rw-r--r--include/hw/pci/pci_bridge.h (renamed from hw/pci/pci_bridge.h)0
-rw-r--r--include/hw/pci/pci_bus.h (renamed from hw/pci/pci_bus.h)0
-rw-r--r--include/hw/pci/pci_host.h (renamed from hw/pci/pci_host.h)0
-rw-r--r--include/hw/pci/pci_ids.h (renamed from hw/pci/pci_ids.h)0
-rw-r--r--include/hw/pci/pci_regs.h (renamed from hw/pci/pci_regs.h)0
-rw-r--r--include/hw/pci/pcie.h (renamed from hw/pci/pcie.h)0
-rw-r--r--include/hw/pci/pcie_aer.h (renamed from hw/pci/pcie_aer.h)0
-rw-r--r--include/hw/pci/pcie_host.h (renamed from hw/pci/pcie_host.h)0
-rw-r--r--include/hw/pci/pcie_port.h (renamed from hw/pci/pcie_port.h)0
-rw-r--r--include/hw/pci/pcie_regs.h (renamed from hw/pci/pcie_regs.h)0
-rw-r--r--include/hw/pci/shpc.h (renamed from hw/pci/shpc.h)0
-rw-r--r--include/hw/pci/slotid_cap.h (renamed from hw/pci/slotid_cap.h)0
-rw-r--r--include/hw/pcmcia.h (renamed from hw/pcmcia.h)0
-rw-r--r--include/hw/ppc/mac_dbdma.h (renamed from hw/mac_dbdma.h)0
-rw-r--r--include/hw/ppc/openpic.h (renamed from hw/openpic.h)0
-rw-r--r--include/hw/ppc/ppc.h (renamed from hw/ppc.h)0
-rw-r--r--include/hw/ppc/ppc4xx.h (renamed from hw/ppc4xx.h)0
-rw-r--r--include/hw/ppc/spapr.h (renamed from hw/spapr.h)2
-rw-r--r--include/hw/ppc/spapr_vio.h (renamed from hw/spapr_vio.h)0
-rw-r--r--include/hw/ppc/xics.h (renamed from hw/xics.h)0
-rw-r--r--include/hw/ptimer.h (renamed from hw/ptimer.h)0
-rw-r--r--include/hw/qdev-addr.h (renamed from hw/qdev-addr.h)0
-rw-r--r--include/hw/qdev-core.h (renamed from hw/qdev-core.h)0
-rw-r--r--include/hw/qdev-dma.h (renamed from hw/qdev-dma.h)0
-rw-r--r--include/hw/qdev-properties.h (renamed from hw/qdev-properties.h)0
-rw-r--r--include/hw/qdev.h (renamed from hw/qdev.h)0
-rw-r--r--include/hw/s390x/event-facility.h (renamed from hw/s390x/event-facility.h)0
-rw-r--r--include/hw/s390x/sclp.h (renamed from hw/s390x/sclp.h)0
-rw-r--r--include/hw/scsi/esp.h (renamed from hw/esp.h)2
-rw-r--r--include/hw/scsi/scsi.h (renamed from hw/scsi.h)2
-rw-r--r--include/hw/sd.h (renamed from hw/sd.h)0
-rw-r--r--include/hw/sh4/sh.h (renamed from hw/sh.h)2
-rw-r--r--include/hw/sh4/sh_intc.h (renamed from hw/sh_intc.h)0
-rw-r--r--include/hw/sparc/firmware_abi.h (renamed from hw/firmware_abi.h)0
-rw-r--r--include/hw/sparc/grlib.h (renamed from hw/grlib.h)0
-rw-r--r--include/hw/sparc/sparc32_dma.h (renamed from hw/sparc32_dma.h)0
-rw-r--r--include/hw/sparc/sun4m.h (renamed from hw/sun4m.h)2
-rw-r--r--include/hw/ssi.h (renamed from hw/ssi.h)0
-rw-r--r--include/hw/stream.h (renamed from hw/stream.h)0
-rw-r--r--include/hw/sysbus.h (renamed from hw/sysbus.h)0
-rw-r--r--include/hw/timer/hpet.h (renamed from hw/hpet_emul.h)0
-rw-r--r--include/hw/timer/i8254.h (renamed from hw/i8254.h)2
-rw-r--r--include/hw/timer/i8254_internal.h (renamed from hw/i8254_internal.h)4
-rw-r--r--include/hw/timer/m48t59.h (renamed from hw/nvram.h)0
-rw-r--r--include/hw/timer/mc146818rtc.h (renamed from hw/mc146818rtc.h)4
-rw-r--r--include/hw/timer/mc146818rtc_regs.h (renamed from hw/mc146818rtc_regs.h)0
-rw-r--r--include/hw/unicore32/puv3.h (renamed from hw/puv3.h)0
-rw-r--r--include/hw/usb.h (renamed from hw/usb.h)0
-rw-r--r--include/hw/virtio/dataplane/hostmem.h (renamed from hw/dataplane/hostmem.h)0
-rw-r--r--include/hw/virtio/dataplane/vring.h (renamed from hw/dataplane/vring.h)2
-rw-r--r--include/hw/virtio/vhost.h (renamed from hw/vhost.h)2
-rw-r--r--include/hw/virtio/virtio-9p.h (renamed from hw/9pfs/virtio-9p-device.h)0
-rw-r--r--include/hw/virtio/virtio-balloon.h (renamed from hw/virtio-balloon.h)2
-rw-r--r--include/hw/virtio/virtio-blk.h (renamed from hw/virtio-blk.h)11
-rw-r--r--include/hw/virtio/virtio-bus.h (renamed from hw/virtio-bus.h)2
-rw-r--r--include/hw/virtio/virtio-net.h (renamed from hw/virtio-net.h)2
-rw-r--r--include/hw/virtio/virtio-rng.h (renamed from hw/virtio-rng.h)0
-rw-r--r--include/hw/virtio/virtio-scsi.h (renamed from hw/virtio-scsi.h)4
-rw-r--r--include/hw/virtio/virtio-serial.h (renamed from hw/virtio-serial.h)2
-rw-r--r--include/hw/virtio/virtio.h (renamed from hw/virtio.h)2
-rw-r--r--include/hw/xen/xen.h (renamed from hw/xen.h)0
-rw-r--r--include/hw/xen/xen_backend.h (renamed from hw/xen_backend.h)2
-rw-r--r--include/hw/xen/xen_common.h (renamed from hw/xen_common.h)2
-rw-r--r--include/hw/xilinx.h (renamed from hw/xilinx.h)0
-rw-r--r--include/net/vhost_net.h (renamed from hw/vhost_net.h)0
-rw-r--r--include/sysemu/watchdog.h (renamed from hw/watchdog.h)0
-rw-r--r--monitor.c8
-rw-r--r--net/tap.c2
-rw-r--r--pc-bios/optionrom/optionrom.h2
-rw-r--r--target-arm/arm-semi.c2
-rw-r--r--target-arm/kvm.c2
-rw-r--r--target-i386/cpu.c4
-rw-r--r--target-i386/cpu.h2
-rw-r--r--target-i386/kvm.c4
-rw-r--r--target-i386/machine.c4
-rw-r--r--target-lm32/op_helper.c4
-rw-r--r--target-lm32/translate.c2
-rw-r--r--target-ppc/kvm.c6
-rw-r--r--target-sh4/helper.c2
-rw-r--r--tests/rtc-test.c2
-rw-r--r--tests/tmp105-test.c2
-rw-r--r--tpm/tpm_passthrough.c2
-rw-r--r--tpm/tpm_tis.c2
-rw-r--r--tpm/tpm_tis.h2
-rw-r--r--vl.c12
-rw-r--r--xen-all.c6
-rw-r--r--xen-mapcache.c2
-rw-r--r--xen-stub.c2
511 files changed, 829 insertions, 830 deletions
diff --git a/arch_init.c b/arch_init.c
index c2cbc71c31..769ce77e61 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -35,15 +35,15 @@
#include "qemu/bitmap.h"
#include "sysemu/arch_init.h"
#include "audio/audio.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/pci/pci.h"
-#include "hw/audiodev.h"
+#include "hw/audio/audio.h"
#include "sysemu/kvm.h"
#include "migration/migration.h"
#include "exec/gdbstub.h"
-#include "hw/smbios.h"
+#include "hw/i386/smbios.h"
#include "exec/address-spaces.h"
-#include "hw/pcspk.h"
+#include "hw/audio/pcspk.h"
#include "migration/page_cache.h"
#include "qemu/config-file.h"
#include "qmp-commands.h"
diff --git a/block/iscsi.c b/block/iscsi.c
index 51a2889452..92d6eae76f 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -31,14 +31,14 @@
#include "qemu/error-report.h"
#include "block/block_int.h"
#include "trace.h"
-#include "hw/scsi-defs.h"
+#include "block/scsi.h"
#include <iscsi/iscsi.h>
#include <iscsi/scsi-lowlevel.h>
#ifdef __linux__
#include <scsi/sg.h>
-#include <hw/scsi-defs.h>
+#include <block/scsi.h>
#endif
typedef struct IscsiLun {
diff --git a/blockdev-nbd.c b/blockdev-nbd.c
index dc4e9a2462..95f10c81e3 100644
--- a/blockdev-nbd.c
+++ b/blockdev-nbd.c
@@ -10,7 +10,7 @@
*/
#include "sysemu/blockdev.h"
-#include "hw/block-common.h"
+#include "hw/block/block.h"
#include "monitor/monitor.h"
#include "qapi/qmp/qerror.h"
#include "sysemu/sysemu.h"
diff --git a/blockdev.c b/blockdev.c
index 6dc999d802..8a1652b722 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -31,7 +31,7 @@
*/
#include "sysemu/blockdev.h"
-#include "hw/block-common.h"
+#include "hw/block/block.h"
#include "block/blockjob.h"
#include "monitor/monitor.h"
#include "qapi/qmp/qerror.h"
diff --git a/exec.c b/exec.c
index 786987a016..fa1e0c3d73 100644
--- a/exec.c
+++ b/exec.c
@@ -31,7 +31,7 @@
#include "hw/qdev.h"
#include "qemu/osdep.h"
#include "sysemu/kvm.h"
-#include "hw/xen.h"
+#include "hw/xen/xen.h"
#include "qemu/timer.h"
#include "qemu/config-file.h"
#include "exec/memory.h"
diff --git a/gdbstub.c b/gdbstub.c
index a0288a77fb..22ab12c68c 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -1607,7 +1607,7 @@ static int cpu_gdb_write_register(CPUS390XState *env, uint8_t *mem_buf, int n)
}
#elif defined (TARGET_LM32)
-#include "hw/lm32_pic.h"
+#include "hw/lm32/lm32_pic.h"
#define NUM_CORE_REGS (32 + 7)
static int cpu_gdb_read_register(CPULM32State *env, uint8_t *mem_buf, int n)
diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c
index d321c802f2..43f930e920 100644
--- a/hw/9pfs/virtio-9p-device.c
+++ b/hw/9pfs/virtio-9p-device.c
@@ -11,8 +11,8 @@
*
*/
-#include "hw/virtio.h"
-#include "hw/pc.h"
+#include "hw/virtio/virtio.h"
+#include "hw/i386/pc.h"
#include "qemu/sockets.h"
#include "virtio-9p.h"
#include "fsdev/qemu-fsdev.h"
diff --git a/hw/9pfs/virtio-9p-handle.c b/hw/9pfs/virtio-9p-handle.c
index e30fdb6730..fe8e0ed19d 100644
--- a/hw/9pfs/virtio-9p-handle.c
+++ b/hw/9pfs/virtio-9p-handle.c
@@ -11,7 +11,7 @@
*
*/
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "virtio-9p.h"
#include "virtio-9p-xattr.h"
#include <arpa/inet.h>
diff --git a/hw/9pfs/virtio-9p-local.c b/hw/9pfs/virtio-9p-local.c
index f1b1c83a22..be898eccd9 100644
--- a/hw/9pfs/virtio-9p-local.c
+++ b/hw/9pfs/virtio-9p-local.c
@@ -11,7 +11,7 @@
*
*/
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "virtio-9p.h"
#include "virtio-9p-xattr.h"
#include <arpa/inet.h>
diff --git a/hw/9pfs/virtio-9p-posix-acl.c b/hw/9pfs/virtio-9p-posix-acl.c
index 08bb0e8bca..339c5ecae4 100644
--- a/hw/9pfs/virtio-9p-posix-acl.c
+++ b/hw/9pfs/virtio-9p-posix-acl.c
@@ -13,7 +13,7 @@
#include <sys/types.h>
#include "qemu/xattr.h"
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "virtio-9p.h"
#include "fsdev/file-op-9p.h"
#include "virtio-9p-xattr.h"
diff --git a/hw/9pfs/virtio-9p-proxy.c b/hw/9pfs/virtio-9p-proxy.c
index 730027900e..8ba2959dbb 100644
--- a/hw/9pfs/virtio-9p-proxy.c
+++ b/hw/9pfs/virtio-9p-proxy.c
@@ -11,7 +11,7 @@
*/
#include <sys/socket.h>
#include <sys/un.h>
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "virtio-9p.h"
#include "qemu/error-report.h"
#include "fsdev/qemu-fsdev.h"
diff --git a/hw/9pfs/virtio-9p-synth.c b/hw/9pfs/virtio-9p-synth.c
index e95a856d25..840e4ebb5a 100644
--- a/hw/9pfs/virtio-9p-synth.c
+++ b/hw/9pfs/virtio-9p-synth.c
@@ -12,7 +12,7 @@
*
*/
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "virtio-9p.h"
#include "virtio-9p-xattr.h"
#include "fsdev/qemu-fsdev.h"
diff --git a/hw/9pfs/virtio-9p-xattr-user.c b/hw/9pfs/virtio-9p-xattr-user.c
index 5bb6020070..e0c92ebf9e 100644
--- a/hw/9pfs/virtio-9p-xattr-user.c
+++ b/hw/9pfs/virtio-9p-xattr-user.c
@@ -12,7 +12,7 @@
*/
#include <sys/types.h>
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "virtio-9p.h"
#include "fsdev/file-op-9p.h"
#include "virtio-9p-xattr.h"
diff --git a/hw/9pfs/virtio-9p-xattr.c b/hw/9pfs/virtio-9p-xattr.c
index a83960676d..90ae565c19 100644
--- a/hw/9pfs/virtio-9p-xattr.c
+++ b/hw/9pfs/virtio-9p-xattr.c
@@ -11,7 +11,7 @@
*
*/
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "virtio-9p.h"
#include "fsdev/file-op-9p.h"
#include "virtio-9p-xattr.h"
diff --git a/hw/9pfs/virtio-9p.c b/hw/9pfs/virtio-9p.c
index 5cc4c92012..db2ae32fe8 100644
--- a/hw/9pfs/virtio-9p.c
+++ b/hw/9pfs/virtio-9p.c
@@ -11,8 +11,8 @@
*
*/
-#include "hw/virtio.h"
-#include "hw/pc.h"
+#include "hw/virtio/virtio.h"
+#include "hw/i386/pc.h"
#include "qemu/sockets.h"
#include "virtio-9p.h"
#include "fsdev/qemu-fsdev.h"
diff --git a/hw/9pfs/virtio-9p.h b/hw/9pfs/virtio-9p.h
index 52b1c6997f..95a8ec3ba9 100644
--- a/hw/9pfs/virtio-9p.h
+++ b/hw/9pfs/virtio-9p.h
@@ -6,7 +6,7 @@
#include <sys/time.h>
#include <utime.h>
#include <sys/resource.h>
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "fsdev/file-op-9p.h"
#include "fsdev/virtio-9p-marshal.h"
#include "qemu/thread.h"
diff --git a/hw/ac97.c b/hw/ac97.c
index c7d601fdb7..ab68ec6204 100644
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -18,7 +18,7 @@
*/
#include "hw/hw.h"
-#include "hw/audiodev.h"
+#include "hw/audio/audio.h"
#include "audio/audio.h"
#include "hw/pci/pci.h"
#include "sysemu/dma.h"
diff --git a/hw/acpi.c b/hw/acpi.c
index 856da81f0c..64b871846d 100644
--- a/hw/acpi.c
+++ b/hw/acpi.c
@@ -20,8 +20,8 @@
*/
#include "sysemu/sysemu.h"
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/acpi.h"
+#include "hw/i386/pc.h"
+#include "hw/acpi/acpi.h"
#include "monitor/monitor.h"
#include "qemu/config-file.h"
#include "qapi/opts-visitor.h"
diff --git a/hw/acpi_ich9.c b/hw/acpi_ich9.c
index 7b34a03866..e663d297a1 100644
--- a/hw/acpi_ich9.c
+++ b/hw/acpi_ich9.c
@@ -24,15 +24,15 @@
* GNU GPL, version 2 or (at your option) any later version.
*/
#include "hw/hw.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/pci/pci.h"
#include "qemu/timer.h"
#include "sysemu/sysemu.h"
-#include "hw/acpi.h"
+#include "hw/acpi/acpi.h"
#include "sysemu/kvm.h"
#include "exec/address-spaces.h"
-#include "hw/ich9.h"
+#include "hw/i386/ich9.h"
//#define DEBUG
diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
index 48a32b5aa0..88386d7ea7 100644
--- a/hw/acpi_piix4.c
+++ b/hw/acpi_piix4.c
@@ -19,15 +19,15 @@
* GNU GPL, version 2 or (at your option) any later version.
*/
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/apm.h"
-#include "hw/pm_smbus.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/apm.h"
+#include "hw/i2c/pm_smbus.h"
#include "hw/pci/pci.h"
-#include "hw/acpi.h"
+#include "hw/acpi/acpi.h"
#include "sysemu/sysemu.h"
#include "qemu/range.h"
#include "exec/ioport.h"
-#include "hw/fw_cfg.h"
+#include "hw/nvram/fw_cfg.h"
#include "exec/address-spaces.h"
//#define DEBUG
diff --git a/hw/adb.c b/hw/adb.c
index fd9052c16b..a75d3fd7b9 100644
--- a/hw/adb.c
+++ b/hw/adb.c
@@ -22,7 +22,7 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/adb.h"
+#include "hw/input/adb.h"
#include "ui/console.h"
/* debug ADB */
diff --git a/hw/adlib.c b/hw/adlib.c
index e6bce59512..133c0ff7b1 100644
--- a/hw/adlib.c
+++ b/hw/adlib.c
@@ -23,9 +23,9 @@
*/
#include "hw/hw.h"
-#include "hw/audiodev.h"
+#include "hw/audio/audio.h"
#include "audio/audio.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
//#define DEBUG
diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c
index 13aaa57b90..a0dd12ce79 100644
--- a/hw/alpha/dp264.c
+++ b/hw/alpha/dp264.c
@@ -12,10 +12,10 @@
#include "hw/boards.h"
#include "hw/alpha_sys.h"
#include "sysemu/sysemu.h"
-#include "hw/mc146818rtc.h"
+#include "hw/timer/mc146818rtc.h"
#include "hw/ide.h"
-#include "hw/i8254.h"
-#include "hw/serial.h"
+#include "hw/timer/i8254.h"
+#include "hw/char/serial.h"
#define MAX_IDE_BUS 2
diff --git a/hw/alpha_sys.h b/hw/alpha_sys.h
index b4ebd2a9cc..50e7730caa 100644
--- a/hw/alpha_sys.h
+++ b/hw/alpha_sys.h
@@ -6,7 +6,7 @@
#include "hw/pci/pci.h"
#include "hw/pci/pci_host.h"
#include "hw/ide.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/irq.h"
diff --git a/hw/alpha_typhoon.c b/hw/alpha_typhoon.c
index b1e0044a35..41a0ebc7a3 100644
--- a/hw/alpha_typhoon.c
+++ b/hw/alpha_typhoon.c
@@ -9,7 +9,7 @@
#include "cpu.h"
#include "exec/exec-all.h"
#include "hw/hw.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#include "sysemu/sysemu.h"
#include "hw/alpha_sys.h"
#include "exec/address-spaces.h"
diff --git a/hw/apb_pci.c b/hw/apb_pci.c
index 754ca6ca8f..fe15ae8f8a 100644
--- a/hw/apb_pci.c
+++ b/hw/apb_pci.c
@@ -31,7 +31,7 @@
#include "hw/pci/pci_host.h"
#include "hw/pci/pci_bridge.h"
#include "hw/pci/pci_bus.h"
-#include "hw/apb_pci.h"
+#include "hw/pci-host/apb.h"
#include "sysemu/sysemu.h"
#include "exec/address-spaces.h"
diff --git a/hw/apic.c b/hw/apic.c
index d2395f04dd..2d79a9ea7f 100644
--- a/hw/apic.c
+++ b/hw/apic.c
@@ -17,14 +17,14 @@
* License along with this library; if not, see <http://www.gnu.org/licenses/>
*/
#include "qemu/thread.h"
-#include "hw/apic_internal.h"
-#include "hw/apic.h"
-#include "hw/ioapic.h"
+#include "hw/i386/apic_internal.h"
+#include "hw/i386/apic.h"
+#include "hw/i386/ioapic.h"
#include "hw/pci/msi.h"
#include "qemu/host-utils.h"
#include "trace.h"
-#include "hw/pc.h"
-#include "hw/apic-msidef.h"
+#include "hw/i386/pc.h"
+#include "hw/i386/apic-msidef.h"
#define MAX_APIC_WORDS 8
diff --git a/hw/apic_common.c b/hw/apic_common.c
index 37985097ca..e0ae07afd5 100644
--- a/hw/apic_common.c
+++ b/hw/apic_common.c
@@ -17,8 +17,8 @@
* 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/>
*/
-#include "hw/apic.h"
-#include "hw/apic_internal.h"
+#include "hw/i386/apic.h"
+#include "hw/i386/apic_internal.h"
#include "trace.h"
#include "sysemu/kvm.h"
diff --git a/hw/apm.c b/hw/apm.c
index e2846f99c8..5f21d21473 100644
--- a/hw/apm.c
+++ b/hw/apm.c
@@ -20,7 +20,7 @@
* GNU GPL, version 2 or (at your option) any later version.
*/
-#include "hw/apm.h"
+#include "hw/isa/apm.h"
#include "hw/hw.h"
#include "hw/pci/pci.h"
diff --git a/hw/applesmc.c b/hw/applesmc.c
index 44b9bacd88..c29558bdd5 100644
--- a/hw/applesmc.c
+++ b/hw/applesmc.c
@@ -31,7 +31,7 @@
*/
#include "hw/hw.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "ui/console.h"
#include "qemu/timer.h"
diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c
index 1d5bb592c4..a4bdd5f30f 100644
--- a/hw/arm/armv7m.c
+++ b/hw/arm/armv7m.c
@@ -8,7 +8,7 @@
*/
#include "hw/sysbus.h"
-#include "hw/arm-misc.h"
+#include "hw/arm.h"
#include "hw/loader.h"
#include "elf.h"
diff --git a/hw/arm/boot.c b/hw/arm/boot.c
index 43253fd34a..c79c590171 100644
--- a/hw/arm/boot.c
+++ b/hw/arm/boot.c
@@ -9,7 +9,7 @@
#include "config.h"
#include "hw/hw.h"
-#include "hw/arm-misc.h"
+#include "hw/arm.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
#include "hw/loader.h"
diff --git a/hw/arm/collie.c b/hw/arm/collie.c
index 17fddc8d5b..76eda8e8b0 100644
--- a/hw/arm/collie.c
+++ b/hw/arm/collie.c
@@ -11,10 +11,10 @@
#include "hw/hw.h"
#include "hw/sysbus.h"
#include "hw/boards.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#include "hw/strongarm.h"
-#include "hw/arm-misc.h"
-#include "hw/flash.h"
+#include "hw/arm.h"
+#include "hw/block/flash.h"
#include "sysemu/blockdev.h"
#include "exec/address-spaces.h"
diff --git a/hw/arm/exynos4210.c b/hw/arm/exynos4210.c
index 4592514bb2..78b8b7407a 100644
--- a/hw/arm/exynos4210.c
+++ b/hw/arm/exynos4210.c
@@ -24,9 +24,9 @@
#include "hw/boards.h"
#include "sysemu/sysemu.h"
#include "hw/sysbus.h"
-#include "hw/arm-misc.h"
+#include "hw/arm.h"
#include "hw/loader.h"
-#include "hw/exynos4210.h"
+#include "hw/arm/exynos4210.h"
#include "hw/usb/hcd-ehci.h"
#define EXYNOS4210_CHIPID_ADDR 0x10000000
diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c
index 473da349bd..ba14a1fd09 100644
--- a/hw/arm/exynos4_boards.c
+++ b/hw/arm/exynos4_boards.c
@@ -24,9 +24,9 @@
#include "sysemu/sysemu.h"
#include "hw/sysbus.h"
#include "net/net.h"
-#include "hw/arm-misc.h"
+#include "hw/arm.h"
#include "exec/address-spaces.h"
-#include "hw/exynos4210.h"
+#include "hw/arm/exynos4210.h"
#include "hw/boards.h"
#undef DEBUG
diff --git a/hw/arm/gumstix.c b/hw/arm/gumstix.c
index 8859b7392f..4d800c9547 100644
--- a/hw/arm/gumstix.c
+++ b/hw/arm/gumstix.c
@@ -35,10 +35,10 @@
*/
#include "hw/hw.h"
-#include "hw/pxa.h"
+#include "hw/arm/pxa.h"
#include "net/net.h"
-#include "hw/flash.h"
-#include "hw/devices.h"
+#include "hw/block/flash.h"
+#include "hw/arm/devices.h"
#include "hw/boards.h"
#include "sysemu/blockdev.h"
#include "exec/address-spaces.h"
diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c
index a622224dcc..58f73c1bd3 100644
--- a/hw/arm/highbank.c
+++ b/hw/arm/highbank.c
@@ -18,8 +18,8 @@
*/
#include "hw/sysbus.h"
-#include "hw/arm-misc.h"
-#include "hw/devices.h"
+#include "hw/arm.h"
+#include "hw/arm/devices.h"
#include "hw/loader.h"
#include "net/net.h"
#include "sysemu/sysemu.h"
diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c
index e0ba327a55..8d0fb7584a 100644
--- a/hw/arm/integratorcp.c
+++ b/hw/arm/integratorcp.c
@@ -8,9 +8,9 @@
*/
#include "hw/sysbus.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#include "hw/boards.h"
-#include "hw/arm-misc.h"
+#include "hw/arm.h"
#include "net/net.h"
#include "exec/address-spaces.h"
#include "sysemu/sysemu.h"
diff --git a/hw/arm/kzm.c b/hw/arm/kzm.c
index ec50a319ac..46264cdeac 100644
--- a/hw/arm/kzm.c
+++ b/hw/arm/kzm.c
@@ -16,13 +16,13 @@
#include "hw/sysbus.h"
#include "exec/address-spaces.h"
#include "hw/hw.h"
-#include "hw/arm-misc.h"
-#include "hw/devices.h"
+#include "hw/arm.h"
+#include "hw/arm/devices.h"
#include "net/net.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
-#include "hw/serial.h"
-#include "hw/imx.h"
+#include "hw/char/serial.h"
+#include "hw/arm/imx.h"
/* Memory map for Kzm Emulation Baseboard:
* 0x00000000-0x00003fff 16k secure ROM IGNORED
diff --git a/hw/arm/mainstone.c b/hw/arm/mainstone.c
index aea908f036..b78e6f00d3 100644
--- a/hw/arm/mainstone.c
+++ b/hw/arm/mainstone.c
@@ -12,12 +12,12 @@
* GNU GPL, version 2 or (at your option) any later version.
*/
#include "hw/hw.h"
-#include "hw/pxa.h"
-#include "hw/arm-misc.h"
+#include "hw/arm/pxa.h"
+#include "hw/arm.h"
#include "net/net.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#include "hw/boards.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "sysemu/blockdev.h"
#include "hw/sysbus.h"
#include "exec/address-spaces.h"
diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index ea8473db3e..97b13405e6 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -10,18 +10,18 @@
*/
#include "hw/sysbus.h"
-#include "hw/arm-misc.h"
-#include "hw/devices.h"
+#include "hw/arm.h"
+#include "hw/arm/devices.h"
#include "net/net.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
-#include "hw/serial.h"
+#include "hw/char/serial.h"
#include "qemu/timer.h"
#include "hw/ptimer.h"
#include "block/block.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "ui/console.h"
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
#include "sysemu/blockdev.h"
#include "exec/address-spaces.h"
#include "ui/pixel_ops.h"
diff --git a/hw/arm/nseries.c b/hw/arm/nseries.c
index b28e7d372f..ba8dc3e01a 100644
--- a/hw/arm/nseries.c
+++ b/hw/arm/nseries.c
@@ -20,14 +20,14 @@
#include "qemu-common.h"
#include "sysemu/sysemu.h"
-#include "hw/omap.h"
-#include "hw/arm-misc.h"
+#include "hw/arm/omap.h"
+#include "hw/arm.h"
#include "hw/irq.h"
#include "ui/console.h"
#include "hw/boards.h"
-#include "hw/i2c.h"
-#include "hw/devices.h"
-#include "hw/flash.h"
+#include "hw/i2c/i2c.h"
+#include "hw/arm/devices.h"
+#include "hw/block/flash.h"
#include "hw/hw.h"
#include "hw/bt.h"
#include "hw/loader.h"
diff --git a/hw/arm/omap1.c b/hw/arm/omap1.c
index 3245c62e68..17caa61822 100644
--- a/hw/arm/omap1.c
+++ b/hw/arm/omap1.c
@@ -17,10 +17,10 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#include "hw/hw.h"
-#include "hw/arm-misc.h"
-#include "hw/omap.h"
+#include "hw/arm.h"
+#include "hw/arm/omap.h"
#include "sysemu/sysemu.h"
-#include "hw/soc_dma.h"
+#include "hw/arm/soc_dma.h"
#include "sysemu/blockdev.h"
#include "qemu/range.h"
#include "hw/sysbus.h"
diff --git a/hw/arm/omap2.c b/hw/arm/omap2.c
index 0a2cd7bab6..010c483e8c 100644
--- a/hw/arm/omap2.c
+++ b/hw/arm/omap2.c
@@ -20,13 +20,13 @@
#include "sysemu/blockdev.h"
#include "hw/hw.h"
-#include "hw/arm-misc.h"
-#include "hw/omap.h"
+#include "hw/arm.h"
+#include "hw/arm/omap.h"
#include "sysemu/sysemu.h"
#include "qemu/timer.h"
#include "char/char.h"
-#include "hw/flash.h"
-#include "hw/soc_dma.h"
+#include "hw/block/flash.h"
+#include "hw/arm/soc_dma.h"
#include "hw/sysbus.h"
#include "audio/audio.h"
diff --git a/hw/arm/omap_sx1.c b/hw/arm/omap_sx1.c
index 85982334bd..aa85602aa6 100644
--- a/hw/arm/omap_sx1.c
+++ b/hw/arm/omap_sx1.c
@@ -27,10 +27,10 @@
*/
#include "hw/hw.h"
#include "ui/console.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
#include "hw/boards.h"
-#include "hw/arm-misc.h"
-#include "hw/flash.h"
+#include "hw/arm.h"
+#include "hw/block/flash.h"
#include "sysemu/blockdev.h"
#include "exec/address-spaces.h"
diff --git a/hw/arm/palm.c b/hw/arm/palm.c
index baeb585067..0bc11aed2b 100644
--- a/hw/arm/palm.c
+++ b/hw/arm/palm.c
@@ -20,10 +20,10 @@
#include "audio/audio.h"
#include "sysemu/sysemu.h"
#include "ui/console.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
#include "hw/boards.h"
-#include "hw/arm-misc.h"
-#include "hw/devices.h"
+#include "hw/arm.h"
+#include "hw/arm/devices.h"
#include "hw/loader.h"
#include "exec/address-spaces.h"
diff --git a/hw/arm/pic_cpu.c b/hw/arm/pic_cpu.c
index 3a3f06566b..787767f51f 100644
--- a/hw/arm/pic_cpu.c
+++ b/hw/arm/pic_cpu.c
@@ -8,7 +8,7 @@
*/
#include "hw/hw.h"
-#include "hw/arm-misc.h"
+#include "hw/arm.h"
#include "sysemu/kvm.h"
/* Input 0 is IRQ and input 1 is FIQ. */
diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c
index b7ca511d45..bbecc770ed 100644
--- a/hw/arm/pxa2xx.c
+++ b/hw/arm/pxa2xx.c
@@ -8,10 +8,10 @@
*/
#include "hw/sysbus.h"
-#include "hw/pxa.h"
+#include "hw/arm/pxa.h"
#include "sysemu/sysemu.h"
-#include "hw/serial.h"
-#include "hw/i2c.h"
+#include "hw/char/serial.h"
+#include "hw/i2c/i2c.h"
#include "hw/ssi.h"
#include "char/char.h"
#include "sysemu/blockdev.h"
diff --git a/hw/arm/pxa2xx_gpio.c b/hw/arm/pxa2xx_gpio.c
index 55ebcd724a..fa31575edd 100644
--- a/hw/arm/pxa2xx_gpio.c
+++ b/hw/arm/pxa2xx_gpio.c
@@ -9,7 +9,7 @@
#include "hw/hw.h"
#include "hw/sysbus.h"
-#include "hw/pxa.h"
+#include "hw/arm/pxa.h"
#define PXA2XX_GPIO_BANKS 4
diff --git a/hw/arm/pxa2xx_pic.c b/hw/arm/pxa2xx_pic.c
index 25e90895e1..835d07c341 100644
--- a/hw/arm/pxa2xx_pic.c
+++ b/hw/arm/pxa2xx_pic.c
@@ -9,7 +9,7 @@
*/
#include "hw/hw.h"
-#include "hw/pxa.h"
+#include "hw/arm/pxa.h"
#include "hw/sysbus.h"
#define ICIP 0x00 /* Interrupt Controller IRQ Pending register */
diff --git a/hw/arm/realview.c b/hw/arm/realview.c
index 5fb490c832..afd52d31be 100644
--- a/hw/arm/realview.c
+++ b/hw/arm/realview.c
@@ -8,14 +8,14 @@
*/
#include "hw/sysbus.h"
-#include "hw/arm-misc.h"
-#include "hw/primecell.h"
-#include "hw/devices.h"
+#include "hw/arm.h"
+#include "hw/arm/primecell.h"
+#include "hw/arm/devices.h"
#include "hw/pci/pci.h"
#include "net/net.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
#include "sysemu/blockdev.h"
#include "exec/address-spaces.h"
diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c
index f5832bea93..fa434dc68e 100644
--- a/hw/arm/spitz.c
+++ b/hw/arm/spitz.c
@@ -11,16 +11,16 @@
*/
#include "hw/hw.h"
-#include "hw/pxa.h"
-#include "hw/arm-misc.h"
+#include "hw/arm/pxa.h"
+#include "hw/arm.h"
#include "sysemu/sysemu.h"
#include "hw/pcmcia.h"
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
#include "hw/ssi.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "qemu/timer.h"
-#include "hw/devices.h"
-#include "hw/sharpsl.h"
+#include "hw/arm/devices.h"
+#include "hw/arm/sharpsl.h"
#include "ui/console.h"
#include "block/block.h"
#include "audio/audio.h"
diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
index f4ce7945f3..952087ce2d 100644
--- a/hw/arm/stellaris.c
+++ b/hw/arm/stellaris.c
@@ -9,10 +9,10 @@
#include "hw/sysbus.h"
#include "hw/ssi.h"
-#include "hw/arm-misc.h"
-#include "hw/devices.h"
+#include "hw/arm.h"
+#include "hw/arm/devices.h"
#include "qemu/timer.h"
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
#include "net/net.h"
#include "hw/boards.h"
#include "exec/address-spaces.h"
diff --git a/hw/arm/tosa.c b/hw/arm/tosa.c
index 747888c64e..c4362d4313 100644
--- a/hw/arm/tosa.c
+++ b/hw/arm/tosa.c
@@ -12,14 +12,14 @@
*/
#include "hw/hw.h"
-#include "hw/pxa.h"
-#include "hw/arm-misc.h"
-#include "hw/devices.h"
-#include "hw/sharpsl.h"
+#include "hw/arm/pxa.h"
+#include "hw/arm.h"
+#include "hw/arm/devices.h"
+#include "hw/arm/sharpsl.h"
#include "hw/pcmcia.h"
#include "block/block.h"
#include "hw/boards.h"
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
#include "hw/ssi.h"
#include "sysemu/blockdev.h"
#include "hw/sysbus.h"
diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c
index baaa265888..d9be604481 100644
--- a/hw/arm/versatilepb.c
+++ b/hw/arm/versatilepb.c
@@ -8,16 +8,16 @@
*/
#include "hw/sysbus.h"
-#include "hw/arm-misc.h"
-#include "hw/devices.h"
+#include "hw/arm.h"
+#include "hw/arm/devices.h"
#include "net/net.h"
#include "sysemu/sysemu.h"
#include "hw/pci/pci.h"
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
#include "hw/boards.h"
#include "sysemu/blockdev.h"
#include "exec/address-spaces.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#define VERSATILE_FLASH_ADDR 0x34000000
#define VERSATILE_FLASH_SIZE (64 * 1024 * 1024)
diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c
index 2e1a5d0e5b..96e098579f 100644
--- a/hw/arm/vexpress.c
+++ b/hw/arm/vexpress.c
@@ -22,15 +22,15 @@
*/
#include "hw/sysbus.h"
-#include "hw/arm-misc.h"
-#include "hw/primecell.h"
-#include "hw/devices.h"
+#include "hw/arm.h"
+#include "hw/arm/primecell.h"
+#include "hw/arm/devices.h"
#include "net/net.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
#include "exec/address-spaces.h"
#include "sysemu/blockdev.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#define VEXPRESS_BOARD_ID 0x8e0
#define VEXPRESS_FLASH_SIZE (64 * 1024 * 1024)
diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c
index 5b9257a9de..8d65f796f9 100644
--- a/hw/arm/xilinx_zynq.c
+++ b/hw/arm/xilinx_zynq.c
@@ -16,12 +16,12 @@
*/
#include "hw/sysbus.h"
-#include "hw/arm-misc.h"
+#include "hw/arm.h"
#include "net/net.h"
#include "exec/address-spaces.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "sysemu/blockdev.h"
#include "hw/loader.h"
#include "hw/ssi.h"
diff --git a/hw/arm/z2.c b/hw/arm/z2.c
index cbb6d8085e..3e272088f5 100644
--- a/hw/arm/z2.c
+++ b/hw/arm/z2.c
@@ -12,14 +12,14 @@
*/
#include "hw/hw.h"
-#include "hw/pxa.h"
-#include "hw/arm-misc.h"
-#include "hw/devices.h"
-#include "hw/i2c.h"
+#include "hw/arm/pxa.h"
+#include "hw/arm.h"
+#include "hw/arm/devices.h"
+#include "hw/i2c/i2c.h"
#include "hw/ssi.h"
#include "hw/boards.h"
#include "sysemu/sysemu.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "sysemu/blockdev.h"
#include "ui/console.h"
#include "audio/audio.h"
diff --git a/hw/arm_sysctl.c b/hw/arm_sysctl.c
index 25fc6eac94..c8b55a8349 100644
--- a/hw/arm_sysctl.c
+++ b/hw/arm_sysctl.c
@@ -11,7 +11,7 @@
#include "qemu/timer.h"
#include "qemu/bitops.h"
#include "hw/sysbus.h"
-#include "hw/primecell.h"
+#include "hw/arm/primecell.h"
#include "sysemu/sysemu.h"
#define LOCK_VALUE 0xa05f
diff --git a/hw/armv7m_nvic.c b/hw/armv7m_nvic.c
index 235120024f..75742601cb 100644
--- a/hw/armv7m_nvic.c
+++ b/hw/armv7m_nvic.c
@@ -12,7 +12,7 @@
#include "hw/sysbus.h"
#include "qemu/timer.h"
-#include "hw/arm-misc.h"
+#include "hw/arm.h"
#include "exec/address-spaces.h"
#include "hw/arm_gic_internal.h"
diff --git a/hw/bitbang_i2c.h b/hw/bitbang_i2c.h
index e86062742c..2866ac351b 100644
--- a/hw/bitbang_i2c.h
+++ b/hw/bitbang_i2c.h
@@ -1,7 +1,7 @@
#ifndef BITBANG_I2C_H
#define BITBANG_I2C_H
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
typedef struct bitbang_i2c_interface bitbang_i2c_interface;
diff --git a/hw/blizzard.c b/hw/blizzard.c
index 020d3de431..bdb0b15ddb 100644
--- a/hw/blizzard.c
+++ b/hw/blizzard.c
@@ -20,7 +20,7 @@
#include "qemu-common.h"
#include "ui/console.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#include "hw/vga_int.h"
#include "ui/pixel_ops.h"
diff --git a/hw/block-common.c b/hw/block-common.c
index d21ec3ada1..33dd3f33b6 100644
--- a/hw/block-common.c
+++ b/hw/block-common.c
@@ -8,7 +8,7 @@
*/
#include "sysemu/blockdev.h"
-#include "hw/block-common.h"
+#include "hw/block/block.h"
#include "qemu/error-report.h"
void blkconf_serial(BlockConf *conf, char **serial)
diff --git a/hw/bonito.c b/hw/bonito.c
index e58655a64d..974150bfc1 100644
--- a/hw/bonito.c
+++ b/hw/bonito.c
@@ -41,8 +41,8 @@
#include "hw/hw.h"
#include "hw/pci/pci.h"
-#include "hw/pc.h"
-#include "hw/mips.h"
+#include "hw/i386/pc.h"
+#include "hw/mips/mips.h"
#include "hw/pci/pci_host.h"
#include "sysemu/sysemu.h"
#include "exec/address-spaces.h"
diff --git a/hw/bt-hid.c b/hw/bt-hid.c
index 69ccf9b432..af494e1e06 100644
--- a/hw/bt-hid.c
+++ b/hw/bt-hid.c
@@ -21,7 +21,7 @@
#include "qemu-common.h"
#include "qemu/timer.h"
#include "ui/console.h"
-#include "hw/hid.h"
+#include "hw/input/hid.h"
#include "hw/bt.h"
enum hid_transaction_req {
diff --git a/hw/cbus.c b/hw/cbus.c
index 29b467b61f..3d9027f692 100644
--- a/hw/cbus.c
+++ b/hw/cbus.c
@@ -22,7 +22,7 @@
#include "qemu-common.h"
#include "hw/irq.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#include "sysemu/sysemu.h"
//#define DEBUG
diff --git a/hw/cdrom.c b/hw/cdrom.c
index a018eec40a..38469fa928 100644
--- a/hw/cdrom.c
+++ b/hw/cdrom.c
@@ -26,7 +26,7 @@
here. */
#include "qemu-common.h"
-#include "hw/scsi.h"
+#include "hw/scsi/scsi.h"
static void lba_to_msf(uint8_t *buf, int lba)
{
diff --git a/hw/cris/axis_dev88.c b/hw/cris/axis_dev88.c
index eccd423abf..00daceb813 100644
--- a/hw/cris/axis_dev88.c
+++ b/hw/cris/axis_dev88.c
@@ -24,9 +24,9 @@
#include "hw/sysbus.h"
#include "net/net.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "hw/boards.h"
-#include "hw/etraxfs.h"
+#include "hw/cris/etraxfs.h"
#include "hw/loader.h"
#include "elf.h"
#include "hw/cris-boot.h"
diff --git a/hw/cris/pic_cpu.c b/hw/cris/pic_cpu.c
index 85c68c0497..bd47bf1a5d 100644
--- a/hw/cris/pic_cpu.c
+++ b/hw/cris/pic_cpu.c
@@ -24,7 +24,7 @@
#include "hw/sysbus.h"
#include "hw/hw.h"
-#include "hw/etraxfs.h"
+#include "hw/cris/etraxfs.h"
#define D(x)
diff --git a/hw/cs4231a.c b/hw/cs4231a.c
index f005f25899..5711b62f83 100644
--- a/hw/cs4231a.c
+++ b/hw/cs4231a.c
@@ -22,9 +22,9 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/audiodev.h"
+#include "hw/audio/audio.h"
#include "audio/audio.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "hw/qdev.h"
#include "qemu/timer.h"
diff --git a/hw/cuda.c b/hw/cuda.c
index 2ae430d326..f797796a36 100644
--- a/hw/cuda.c
+++ b/hw/cuda.c
@@ -24,7 +24,7 @@
*/
#include "hw/hw.h"
#include "hw/ppc/mac.h"
-#include "hw/adb.h"
+#include "hw/input/adb.h"
#include "qemu/timer.h"
#include "sysemu/sysemu.h"
diff --git a/hw/dataplane/hostmem.c b/hw/dataplane/hostmem.c
index 380537e06d..37292ffd00 100644
--- a/hw/dataplane/hostmem.c
+++ b/hw/dataplane/hostmem.c
@@ -12,7 +12,7 @@
*/
#include "exec/address-spaces.h"
-#include "hostmem.h"
+#include "hw/virtio/dataplane/hostmem.h"
static int hostmem_lookup_cmp(const void *phys_, const void *region_)
{
diff --git a/hw/dataplane/virtio-blk.c b/hw/dataplane/virtio-blk.c
index 1242d61e71..5baef2391a 100644
--- a/hw/dataplane/virtio-blk.c
+++ b/hw/dataplane/virtio-blk.c
@@ -16,12 +16,12 @@
#include "qemu/iov.h"
#include "qemu/thread.h"
#include "qemu/error-report.h"
-#include "vring.h"
+#include "hw/virtio/dataplane/vring.h"
#include "ioq.h"
#include "migration/migration.h"
#include "block/block.h"
-#include "hw/virtio-blk.h"
-#include "hw/dataplane/virtio-blk.h"
+#include "hw/virtio/virtio-blk.h"
+#include "virtio-blk.h"
#include "block/aio.h"
enum {
diff --git a/hw/dataplane/virtio-blk.h b/hw/dataplane/virtio-blk.h
index 1e8fdfe418..c90e99f48f 100644
--- a/hw/dataplane/virtio-blk.h
+++ b/hw/dataplane/virtio-blk.h
@@ -15,7 +15,7 @@
#ifndef HW_DATAPLANE_VIRTIO_BLK_H
#define HW_DATAPLANE_VIRTIO_BLK_H
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
typedef struct VirtIOBlockDataPlane VirtIOBlockDataPlane;
diff --git a/hw/dataplane/vring.c b/hw/dataplane/vring.c
index e3b225315f..e0d6e83625 100644
--- a/hw/dataplane/vring.c
+++ b/hw/dataplane/vring.c
@@ -15,7 +15,7 @@
*/
#include "trace.h"
-#include "vring.h"
+#include "hw/virtio/dataplane/vring.h"
#include "qemu/error-report.h"
/* Map the guest's vring to host memory */
diff --git a/hw/debugcon.c b/hw/debugcon.c
index cab7691b12..0588eebb77 100644
--- a/hw/debugcon.c
+++ b/hw/debugcon.c
@@ -26,8 +26,8 @@
#include "hw/hw.h"
#include "char/char.h"
-#include "hw/isa.h"
-#include "hw/pc.h"
+#include "hw/isa/isa.h"
+#include "hw/i386/pc.h"
#define TYPE_ISA_DEBUGCON_DEVICE "isa-debugcon"
#define ISA_DEBUGCON_DEVICE(obj) \
diff --git a/hw/debugexit.c b/hw/debugexit.c
index ba67a8fb41..59bed5bff5 100644
--- a/hw/debugexit.c
+++ b/hw/debugexit.c
@@ -8,7 +8,7 @@
*/
#include "hw/hw.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#define TYPE_ISA_DEBUG_EXIT_DEVICE "isa-debug-exit"
#define ISA_DEBUG_EXIT_DEVICE(obj) \
diff --git a/hw/dma.c b/hw/dma.c
index fd1161ca31..eb60d45178 100644
--- a/hw/dma.c
+++ b/hw/dma.c
@@ -22,7 +22,7 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "qemu/main-loop.h"
/* #define DEBUG_DMA */
diff --git a/hw/dp8393x.c b/hw/dp8393x.c
index 8b5ca6a4ec..2289f089ad 100644
--- a/hw/dp8393x.c
+++ b/hw/dp8393x.c
@@ -20,7 +20,7 @@
#include "hw/hw.h"
#include "qemu/timer.h"
#include "net/net.h"
-#include "hw/mips.h"
+#include "hw/mips/mips.h"
//#define DEBUG_SONIC
diff --git a/hw/ds1338.c b/hw/ds1338.c
index ae7ca9f82d..8987cdc9e0 100644
--- a/hw/ds1338.c
+++ b/hw/ds1338.c
@@ -10,7 +10,7 @@
* GNU GPL, version 2 or (at your option) any later version.
*/
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
/* Size of NVRAM including both the user-accessible area and the
* secondary register area.
diff --git a/hw/ecc.c b/hw/ecc.c
index 8c97c33deb..8c888cc12a 100644
--- a/hw/ecc.c
+++ b/hw/ecc.c
@@ -12,7 +12,7 @@
*/
#include "hw/hw.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
/*
* Pre-calculated 256-way 1 byte column parity. Table borrowed from Linux.
diff --git a/hw/eepro100.c b/hw/eepro100.c
index 68d729c17a..dc99ea6ea0 100644
--- a/hw/eepro100.c
+++ b/hw/eepro100.c
@@ -44,7 +44,7 @@
#include "hw/hw.h"
#include "hw/pci/pci.h"
#include "net/net.h"
-#include "hw/eeprom93xx.h"
+#include "hw/nvram/eeprom93xx.h"
#include "sysemu/sysemu.h"
#include "sysemu/dma.h"
diff --git a/hw/eeprom93xx.c b/hw/eeprom93xx.c
index 39f560553d..08f4df586c 100644
--- a/hw/eeprom93xx.c
+++ b/hw/eeprom93xx.c
@@ -36,7 +36,7 @@
*/
#include "hw/hw.h"
-#include "hw/eeprom93xx.h"
+#include "hw/nvram/eeprom93xx.h"
/* Debug EEPROM emulation. */
//~ #define DEBUG_EEPROM
diff --git a/hw/es1370.c b/hw/es1370.c
index e64cf23099..9fe57087bf 100644
--- a/hw/es1370.c
+++ b/hw/es1370.c
@@ -27,7 +27,7 @@
#define SILENT_ES1370
#include "hw/hw.h"
-#include "hw/audiodev.h"
+#include "hw/audio/audio.h"
#include "audio/audio.h"
#include "hw/pci/pci.h"
#include "sysemu/dma.h"
diff --git a/hw/escc.c b/hw/escc.c
index baf0219304..067b055fee 100644
--- a/hw/escc.c
+++ b/hw/escc.c
@@ -24,7 +24,7 @@
#include "hw/hw.h"
#include "hw/sysbus.h"
-#include "hw/escc.h"
+#include "hw/char/escc.h"
#include "char/char.h"
#include "ui/console.h"
#include "trace.h"
diff --git a/hw/esp-pci.c b/hw/esp-pci.c
index 7599b39d8d..3ca5c8c673 100644
--- a/hw/esp-pci.c
+++ b/hw/esp-pci.c
@@ -24,8 +24,8 @@
*/
#include "hw/pci/pci.h"
-#include "hw/eeprom93xx.h"
-#include "hw/esp.h"
+#include "hw/nvram/eeprom93xx.h"
+#include "hw/scsi/esp.h"
#include "trace.h"
#include "qemu/log.h"
diff --git a/hw/esp.c b/hw/esp.c
index 5365eacec0..17adbecf8c 100644
--- a/hw/esp.c
+++ b/hw/esp.c
@@ -24,7 +24,7 @@
*/
#include "hw/sysbus.h"
-#include "hw/esp.h"
+#include "hw/scsi/esp.h"
#include "trace.h"
#include "qemu/log.h"
diff --git a/hw/etraxfs_dma.c b/hw/etraxfs_dma.c
index a84ec1f23c..6a8c222502 100644
--- a/hw/etraxfs_dma.c
+++ b/hw/etraxfs_dma.c
@@ -28,7 +28,7 @@
#include "qemu-common.h"
#include "sysemu/sysemu.h"
-#include "hw/etraxfs_dma.h"
+#include "hw/cris/etraxfs_dma.h"
#define D(x)
diff --git a/hw/etraxfs_eth.c b/hw/etraxfs_eth.c
index 591bee245c..1039913e0f 100644
--- a/hw/etraxfs_eth.c
+++ b/hw/etraxfs_eth.c
@@ -25,7 +25,7 @@
#include <stdio.h>
#include "hw/sysbus.h"
#include "net/net.h"
-#include "hw/etraxfs.h"
+#include "hw/cris/etraxfs.h"
#define D(x)
diff --git a/hw/exynos4210_combiner.c b/hw/exynos4210_combiner.c
index 5818f10132..6874287302 100644
--- a/hw/exynos4210_combiner.c
+++ b/hw/exynos4210_combiner.c
@@ -29,7 +29,7 @@
#include "hw/sysbus.h"
-#include "hw/exynos4210.h"
+#include "hw/arm/exynos4210.h"
//#define DEBUG_COMBINER
diff --git a/hw/exynos4210_gic.c b/hw/exynos4210_gic.c
index 807849c574..bad6dde652 100644
--- a/hw/exynos4210_gic.c
+++ b/hw/exynos4210_gic.c
@@ -23,7 +23,7 @@
#include "hw/sysbus.h"
#include "qemu-common.h"
#include "hw/irq.h"
-#include "hw/exynos4210.h"
+#include "hw/arm/exynos4210.h"
enum ExtGicId {
EXT_GIC_ID_MDMA_LCD0 = 66,
diff --git a/hw/exynos4210_i2c.c b/hw/exynos4210_i2c.c
index 9e428759a1..196f88907d 100644
--- a/hw/exynos4210_i2c.c
+++ b/hw/exynos4210_i2c.c
@@ -22,7 +22,7 @@
#include "qemu/timer.h"
#include "hw/sysbus.h"
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
#ifndef EXYNOS4_I2C_DEBUG
#define EXYNOS4_I2C_DEBUG 0
diff --git a/hw/exynos4210_mct.c b/hw/exynos4210_mct.c
index 862c96212b..87ce75b643 100644
--- a/hw/exynos4210_mct.c
+++ b/hw/exynos4210_mct.c
@@ -57,7 +57,7 @@
#include "qemu-common.h"
#include "hw/ptimer.h"
-#include "hw/exynos4210.h"
+#include "hw/arm/exynos4210.h"
//#define DEBUG_MCT
diff --git a/hw/exynos4210_pwm.c b/hw/exynos4210_pwm.c
index 6d74cd4db5..185ccb9a74 100644
--- a/hw/exynos4210_pwm.c
+++ b/hw/exynos4210_pwm.c
@@ -25,7 +25,7 @@
#include "qemu-common.h"
#include "hw/ptimer.h"
-#include "hw/exynos4210.h"
+#include "hw/arm/exynos4210.h"
//#define DEBUG_PWM
diff --git a/hw/exynos4210_rtc.c b/hw/exynos4210_rtc.c
index d170ca755a..bceee44cb2 100644
--- a/hw/exynos4210_rtc.c
+++ b/hw/exynos4210_rtc.c
@@ -34,7 +34,7 @@
#include "qemu/timer.h"
#include "sysemu/sysemu.h"
-#include "hw/exynos4210.h"
+#include "hw/arm/exynos4210.h"
#define DEBUG_RTC 0
diff --git a/hw/exynos4210_uart.c b/hw/exynos4210_uart.c
index 006f3d44fb..8b4e72ca11 100644
--- a/hw/exynos4210_uart.c
+++ b/hw/exynos4210_uart.c
@@ -23,7 +23,7 @@
#include "sysemu/sysemu.h"
#include "char/char.h"
-#include "hw/exynos4210.h"
+#include "hw/arm/exynos4210.h"
#undef DEBUG_UART
#undef DEBUG_UART_EXTEND
diff --git a/hw/fdc.c b/hw/fdc.c
index a4bb1290ef..1ed874f074 100644
--- a/hw/fdc.c
+++ b/hw/fdc.c
@@ -28,10 +28,10 @@
*/
#include "hw/hw.h"
-#include "hw/fdc.h"
+#include "hw/block/fdc.h"
#include "qemu/error-report.h"
#include "qemu/timer.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "hw/sysbus.h"
#include "hw/qdev-addr.h"
#include "sysemu/blockdev.h"
diff --git a/hw/fw_cfg.c b/hw/fw_cfg.c
index 63a199876c..97bba874e3 100644
--- a/hw/fw_cfg.c
+++ b/hw/fw_cfg.c
@@ -23,8 +23,8 @@
*/
#include "hw/hw.h"
#include "sysemu/sysemu.h"
-#include "hw/isa.h"
-#include "hw/fw_cfg.h"
+#include "hw/isa/isa.h"
+#include "hw/nvram/fw_cfg.h"
#include "hw/sysbus.h"
#include "trace.h"
#include "qemu/error-report.h"
diff --git a/hw/grlib_irqmp.c b/hw/grlib_irqmp.c
index 7ee469d191..68dfe6a4bb 100644
--- a/hw/grlib_irqmp.c
+++ b/hw/grlib_irqmp.c
@@ -27,7 +27,7 @@
#include "hw/sysbus.h"
#include "cpu.h"
-#include "hw/grlib.h"
+#include "hw/sparc/grlib.h"
#include "trace.h"
diff --git a/hw/gt64xxx.c b/hw/gt64xxx.c
index 37be9c2a56..189e865a65 100644
--- a/hw/gt64xxx.c
+++ b/hw/gt64xxx.c
@@ -23,10 +23,10 @@
*/
#include "hw/hw.h"
-#include "hw/mips.h"
+#include "hw/mips/mips.h"
#include "hw/pci/pci.h"
#include "hw/pci/pci_host.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "exec/address-spaces.h"
//#define DEBUG
diff --git a/hw/gus.c b/hw/gus.c
index d2682249ca..e44704b1cf 100644
--- a/hw/gus.c
+++ b/hw/gus.c
@@ -22,9 +22,9 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/audiodev.h"
+#include "hw/audio/audio.h"
#include "audio/audio.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "hw/gusemu.h"
#include "hw/gustate.h"
diff --git a/hw/hd-geometry.c b/hw/hd-geometry.c
index c30514364f..6feb4f8175 100644
--- a/hw/hd-geometry.c
+++ b/hw/hd-geometry.c
@@ -31,7 +31,7 @@
*/
#include "block/block.h"
-#include "hw/block-common.h"
+#include "hw/block/block.h"
#include "trace.h"
struct partition {
diff --git a/hw/hid.c b/hw/hid.c
index 28b34747ff..5fbde98f65 100644
--- a/hw/hid.c
+++ b/hw/hid.c
@@ -25,7 +25,7 @@
#include "hw/hw.h"
#include "ui/console.h"
#include "qemu/timer.h"
-#include "hw/hid.h"
+#include "hw/input/hid.h"
#define HID_USAGE_ERROR_ROLLOVER 0x01
#define HID_USAGE_POSTFAIL 0x02
diff --git a/hw/hpet.c b/hw/hpet.c
index 6bfbf3a68c..95dd01d147 100644
--- a/hw/hpet.c
+++ b/hw/hpet.c
@@ -25,13 +25,13 @@
*/
#include "hw/hw.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "ui/console.h"
#include "qemu/timer.h"
-#include "hw/hpet_emul.h"
+#include "hw/timer/hpet.h"
#include "hw/sysbus.h"
-#include "hw/mc146818rtc.h"
-#include "hw/i8254.h"
+#include "hw/timer/mc146818rtc.h"
+#include "hw/timer/i8254.h"
//#define HPET_DEBUG
#ifdef HPET_DEBUG
diff --git a/hw/i2c.c b/hw/i2c.c
index ad361cc57f..0c4fc1dbaa 100644
--- a/hw/i2c.c
+++ b/hw/i2c.c
@@ -7,7 +7,7 @@
* This code is licensed under the LGPL.
*/
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
struct i2c_bus
{
diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
index cc95e5c3f0..ed9b448d07 100644
--- a/hw/i386/kvmvapic.c
+++ b/hw/i386/kvmvapic.c
@@ -11,7 +11,7 @@
#include "sysemu/sysemu.h"
#include "sysemu/cpus.h"
#include "sysemu/kvm.h"
-#include "hw/apic_internal.h"
+#include "hw/i386/apic_internal.h"
#define VAPIC_IO_PORT 0x7e
diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c
index 3cb228f0ca..c7f01df4bf 100644
--- a/hw/i386/multiboot.c
+++ b/hw/i386/multiboot.c
@@ -23,7 +23,7 @@
*/
#include "hw/hw.h"
-#include "hw/fw_cfg.h"
+#include "hw/nvram/fw_cfg.h"
#include "hw/multiboot.h"
#include "hw/loader.h"
#include "elf.h"
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index ebbf059225..a38fc95055 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -22,30 +22,30 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/serial.h"
-#include "hw/apic.h"
-#include "hw/fdc.h"
+#include "hw/i386/pc.h"
+#include "hw/char/serial.h"
+#include "hw/i386/apic.h"
+#include "hw/block/fdc.h"
#include "hw/ide.h"
#include "hw/pci/pci.h"
#include "monitor/monitor.h"
-#include "hw/fw_cfg.h"
-#include "hw/hpet_emul.h"
-#include "hw/smbios.h"
+#include "hw/nvram/fw_cfg.h"
+#include "hw/timer/hpet.h"
+#include "hw/i386/smbios.h"
#include "hw/loader.h"
#include "elf.h"
#include "hw/multiboot.h"
-#include "hw/mc146818rtc.h"
-#include "hw/i8254.h"
-#include "hw/pcspk.h"
+#include "hw/timer/mc146818rtc.h"
+#include "hw/timer/i8254.h"
+#include "hw/audio/pcspk.h"
#include "hw/pci/msi.h"
#include "hw/sysbus.h"
#include "sysemu/sysemu.h"
#include "sysemu/kvm.h"
#include "kvm_i386.h"
-#include "hw/xen.h"
+#include "hw/xen/xen.h"
#include "sysemu/blockdev.h"
-#include "hw/block-common.h"
+#include "hw/block/block.h"
#include "ui/qemu-spice.h"
#include "exec/memory.h"
#include "exec/address-spaces.h"
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 0abc9f11e3..cff8013b83 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -25,8 +25,8 @@
#include <glib.h>
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/apic.h"
+#include "hw/i386/pc.h"
+#include "hw/i386/apic.h"
#include "hw/pci/pci.h"
#include "hw/pci/pci_ids.h"
#include "hw/usb.h"
@@ -39,8 +39,8 @@
#include "hw/sysbus.h"
#include "sysemu/arch_init.h"
#include "sysemu/blockdev.h"
-#include "hw/smbus.h"
-#include "hw/xen.h"
+#include "hw/i2c/smbus.h"
+#include "hw/xen/xen.h"
#include "exec/memory.h"
#include "exec/address-spaces.h"
#include "cpu.h"
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 4f5f347309..6ac1a89ad7 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -29,15 +29,15 @@
*/
#include "hw/hw.h"
#include "sysemu/arch_init.h"
-#include "hw/smbus.h"
+#include "hw/i2c/smbus.h"
#include "hw/boards.h"
-#include "hw/mc146818rtc.h"
-#include "hw/xen.h"
+#include "hw/timer/mc146818rtc.h"
+#include "hw/xen/xen.h"
#include "sysemu/kvm.h"
#include "hw/kvm/clock.h"
-#include "hw/q35.h"
+#include "hw/pci-host/q35.h"
#include "exec/address-spaces.h"
-#include "hw/ich9.h"
+#include "hw/i386/ich9.h"
#include "hw/ide/pci.h"
#include "hw/ide/ahci.h"
#include "hw/usb.h"
diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c
index 672ee9b0e7..c00bb2fad8 100644
--- a/hw/i386/smbios.c
+++ b/hw/i386/smbios.c
@@ -14,7 +14,7 @@
*/
#include "sysemu/sysemu.h"
-#include "hw/smbios.h"
+#include "hw/i386/smbios.h"
#include "hw/loader.h"
/*
diff --git a/hw/i386/xen_domainbuild.c b/hw/i386/xen_domainbuild.c
index d477061545..ed90b4b379 100644
--- a/hw/i386/xen_domainbuild.c
+++ b/hw/i386/xen_domainbuild.c
@@ -1,5 +1,5 @@
#include <signal.h>
-#include "hw/xen_backend.h"
+#include "hw/xen/xen_backend.h"
#include "hw/xen_domainbuild.h"
#include "qemu/timer.h"
#include "qemu/log.h"
diff --git a/hw/i386/xen_machine_pv.c b/hw/i386/xen_machine_pv.c
index 37ba34e5a9..fdd93742d0 100644
--- a/hw/i386/xen_machine_pv.c
+++ b/hw/i386/xen_machine_pv.c
@@ -23,9 +23,9 @@
*/
#include "hw/hw.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/boards.h"
-#include "hw/xen_backend.h"
+#include "hw/xen/xen_backend.h"
#include "hw/xen_domainbuild.h"
#include "sysemu/blockdev.h"
diff --git a/hw/i82374.c b/hw/i82374.c
index 22115e4fcf..835639d43c 100644
--- a/hw/i82374.c
+++ b/hw/i82374.c
@@ -22,7 +22,7 @@
* THE SOFTWARE.
*/
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
//#define DEBUG_I82374
diff --git a/hw/i82378.c b/hw/i82378.c
index 6f8c48b9ae..cced9aff26 100644
--- a/hw/i82378.c
+++ b/hw/i82378.c
@@ -18,9 +18,9 @@
*/
#include "hw/pci/pci.h"
-#include "hw/pc.h"
-#include "hw/i8254.h"
-#include "hw/pcspk.h"
+#include "hw/i386/pc.h"
+#include "hw/timer/i8254.h"
+#include "hw/audio/pcspk.h"
//#define DEBUG_I82378
diff --git a/hw/i8254.c b/hw/i8254.c
index 67bfc6a806..20c0c3601d 100644
--- a/hw/i8254.c
+++ b/hw/i8254.c
@@ -22,11 +22,11 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/isa.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/isa.h"
#include "qemu/timer.h"
-#include "hw/i8254.h"
-#include "hw/i8254_internal.h"
+#include "hw/timer/i8254.h"
+#include "hw/timer/i8254_internal.h"
//#define DEBUG_PIT
diff --git a/hw/i8254_common.c b/hw/i8254_common.c
index c6c0c80c24..5342df4a34 100644
--- a/hw/i8254_common.c
+++ b/hw/i8254_common.c
@@ -23,11 +23,11 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/isa.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/isa.h"
#include "qemu/timer.h"
-#include "hw/i8254.h"
-#include "hw/i8254_internal.h"
+#include "hw/timer/i8254.h"
+#include "hw/timer/i8254_internal.h"
/* val must be 0 or 1 */
void pit_set_gate(ISADevice *dev, int channel, int val)
diff --git a/hw/i8259.c b/hw/i8259.c
index 1d8275232a..ce14bd0f94 100644
--- a/hw/i8259.c
+++ b/hw/i8259.c
@@ -22,11 +22,11 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/isa.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/isa.h"
#include "monitor/monitor.h"
#include "qemu/timer.h"
-#include "hw/i8259_internal.h"
+#include "hw/isa/i8259_internal.h"
/* debug PIC */
//#define DEBUG_PIC
diff --git a/hw/i8259_common.c b/hw/i8259_common.c
index 98052db1fa..996ba9dfdb 100644
--- a/hw/i8259_common.c
+++ b/hw/i8259_common.c
@@ -22,8 +22,8 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
-#include "hw/pc.h"
-#include "hw/i8259_internal.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/i8259_internal.h"
void pic_reset_common(PICCommonState *s)
{
diff --git a/hw/i82801b11.c b/hw/i82801b11.c
index 8b4a9c6e54..5807a92d7f 100644
--- a/hw/i82801b11.c
+++ b/hw/i82801b11.c
@@ -42,7 +42,7 @@
*/
#include "hw/pci/pci.h"
-#include "hw/ich9.h"
+#include "hw/i386/ich9.h"
/*****************************************************************************/
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index ad0094f532..d0ae8afba2 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -23,7 +23,7 @@
#include <hw/hw.h>
#include <hw/pci/msi.h>
-#include <hw/pc.h>
+#include <hw/i386/pc.h>
#include <hw/pci/pci.h>
#include <hw/sysbus.h>
diff --git a/hw/ide/atapi.c b/hw/ide/atapi.c
index 861fd2bec3..05e60b1cdc 100644
--- a/hw/ide/atapi.c
+++ b/hw/ide/atapi.c
@@ -24,7 +24,7 @@
*/
#include "hw/ide/internal.h"
-#include "hw/scsi.h"
+#include "hw/scsi/scsi.h"
static void ide_atapi_cmd_read_dma_cb(void *opaque, int ret);
diff --git a/hw/ide/cmd646.c b/hw/ide/cmd646.c
index 745ef94deb..541d4ef335 100644
--- a/hw/ide/cmd646.c
+++ b/hw/ide/cmd646.c
@@ -23,9 +23,9 @@
* THE SOFTWARE.
*/
#include <hw/hw.h>
-#include <hw/pc.h>
+#include <hw/i386/pc.h>
#include <hw/pci/pci.h>
-#include <hw/isa.h>
+#include <hw/isa/isa.h>
#include "block/block.h"
#include "sysemu/sysemu.h"
#include "sysemu/dma.h"
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 3743dc3b55..87d67b7bcb 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -23,14 +23,14 @@
* THE SOFTWARE.
*/
#include <hw/hw.h>
-#include <hw/pc.h>
+#include <hw/i386/pc.h>
#include <hw/pci/pci.h>
-#include <hw/isa.h>
+#include <hw/isa/isa.h>
#include "qemu/error-report.h"
#include "qemu/timer.h"
#include "sysemu/sysemu.h"
#include "sysemu/dma.h"
-#include "hw/block-common.h"
+#include "hw/block/block.h"
#include "sysemu/blockdev.h"
#include <hw/ide/internal.h>
diff --git a/hw/ide/ich.c b/hw/ide/ich.c
index cc30adc701..ed1f1a287e 100644
--- a/hw/ide/ich.c
+++ b/hw/ide/ich.c
@@ -62,9 +62,9 @@
#include <hw/hw.h>
#include <hw/pci/msi.h>
-#include <hw/pc.h>
+#include <hw/i386/pc.h>
#include <hw/pci/pci.h>
-#include <hw/isa.h>
+#include <hw/isa/isa.h>
#include "block/block.h"
#include "sysemu/dma.h"
diff --git a/hw/ide/internal.h b/hw/ide/internal.h
index d80360e85b..2c89b50c5e 100644
--- a/hw/ide/internal.h
+++ b/hw/ide/internal.h
@@ -7,12 +7,12 @@
* non-internal declarations are in hw/ide.h
*/
#include <hw/ide.h>
-#include <hw/isa.h>
+#include <hw/isa/isa.h>
#include "exec/iorange.h"
#include "sysemu/dma.h"
#include "sysemu/sysemu.h"
-#include "hw/block-common.h"
-#include "hw/scsi-defs.h"
+#include "hw/block/block.h"
+#include "block/scsi.h"
/* debug IDE devices */
//#define DEBUG_IDE
diff --git a/hw/ide/isa.c b/hw/ide/isa.c
index fb7bb8201d..e0d47bf7cf 100644
--- a/hw/ide/isa.c
+++ b/hw/ide/isa.c
@@ -23,8 +23,8 @@
* THE SOFTWARE.
*/
#include <hw/hw.h>
-#include <hw/pc.h>
-#include <hw/isa.h>
+#include <hw/i386/pc.h>
+#include <hw/isa/isa.h>
#include "block/block.h"
#include "sysemu/dma.h"
diff --git a/hw/ide/macio.c b/hw/ide/macio.c
index 375c46f9da..64b2406ab0 100644
--- a/hw/ide/macio.c
+++ b/hw/ide/macio.c
@@ -24,7 +24,7 @@
*/
#include "hw/hw.h"
#include "hw/ppc/mac.h"
-#include "hw/mac_dbdma.h"
+#include "hw/ppc/mac_dbdma.h"
#include "block/block.h"
#include "sysemu/dma.h"
diff --git a/hw/ide/microdrive.c b/hw/ide/microdrive.c
index 642774ef98..92c1df0460 100644
--- a/hw/ide/microdrive.c
+++ b/hw/ide/microdrive.c
@@ -23,7 +23,7 @@
* THE SOFTWARE.
*/
#include <hw/hw.h>
-#include <hw/pc.h>
+#include <hw/i386/pc.h>
#include <hw/pcmcia.h>
#include "block/block.h"
#include "sysemu/dma.h"
diff --git a/hw/ide/pci.c b/hw/ide/pci.c
index 59fd53992a..a310975391 100644
--- a/hw/ide/pci.c
+++ b/hw/ide/pci.c
@@ -23,9 +23,9 @@
* THE SOFTWARE.
*/
#include <hw/hw.h>
-#include <hw/pc.h>
+#include <hw/i386/pc.h>
#include <hw/pci/pci.h>
-#include <hw/isa.h>
+#include <hw/isa/isa.h>
#include "block/block.h"
#include "sysemu/dma.h"
diff --git a/hw/ide/piix.c b/hw/ide/piix.c
index 4d3e82266c..1de284d0e3 100644
--- a/hw/ide/piix.c
+++ b/hw/ide/piix.c
@@ -24,9 +24,9 @@
*/
#include <hw/hw.h>
-#include <hw/pc.h>
+#include <hw/i386/pc.h>
#include <hw/pci/pci.h>
-#include <hw/isa.h>
+#include <hw/isa/isa.h>
#include "sysemu/blockdev.h"
#include "sysemu/sysemu.h"
#include "sysemu/dma.h"
diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c
index fd06da7003..8a9a891769 100644
--- a/hw/ide/qdev.c
+++ b/hw/ide/qdev.c
@@ -21,7 +21,7 @@
#include "qemu/error-report.h"
#include <hw/ide/internal.h>
#include "sysemu/blockdev.h"
-#include "hw/block-common.h"
+#include "hw/block/block.h"
#include "sysemu/sysemu.h"
/* --------------------------------- */
diff --git a/hw/ide/via.c b/hw/ide/via.c
index f40c1adc8c..9d6a644391 100644
--- a/hw/ide/via.c
+++ b/hw/ide/via.c
@@ -24,9 +24,9 @@
* THE SOFTWARE.
*/
#include <hw/hw.h>
-#include <hw/pc.h>
+#include <hw/i386/pc.h>
#include <hw/pci/pci.h>
-#include <hw/isa.h>
+#include <hw/isa/isa.h>
#include "block/block.h"
#include "sysemu/sysemu.h"
#include "sysemu/dma.h"
diff --git a/hw/imx_ccm.c b/hw/imx_ccm.c
index ad7aad3397..c153a24310 100644
--- a/hw/imx_ccm.c
+++ b/hw/imx_ccm.c
@@ -13,7 +13,7 @@
#include "hw/hw.h"
#include "hw/sysbus.h"
#include "sysemu/sysemu.h"
-#include "hw/imx.h"
+#include "hw/arm/imx.h"
#define CKIH_FREQ 26000000 /* 26MHz crystal input */
#define CKIL_FREQ 32768 /* nominal 32khz clock */
diff --git a/hw/imx_serial.c b/hw/imx_serial.c
index 746723cd6e..d7ec2090fd 100644
--- a/hw/imx_serial.c
+++ b/hw/imx_serial.c
@@ -21,7 +21,7 @@
#include "hw/sysbus.h"
#include "sysemu/sysemu.h"
#include "char/char.h"
-#include "hw/imx.h"
+#include "hw/arm/imx.h"
//#define DEBUG_SERIAL 1
#ifdef DEBUG_SERIAL
diff --git a/hw/imx_timer.c b/hw/imx_timer.c
index a8c311141e..03197e3f54 100644
--- a/hw/imx_timer.c
+++ b/hw/imx_timer.c
@@ -15,7 +15,7 @@
#include "qemu/timer.h"
#include "hw/ptimer.h"
#include "hw/sysbus.h"
-#include "hw/imx.h"
+#include "hw/arm/imx.h"
//#define DEBUG_TIMER 1
#ifdef DEBUG_TIMER
diff --git a/hw/intel-hda.c b/hw/intel-hda.c
index 728b60fb9a..68201cd091 100644
--- a/hw/intel-hda.c
+++ b/hw/intel-hda.c
@@ -21,7 +21,7 @@
#include "hw/pci/pci.h"
#include "hw/pci/msi.h"
#include "qemu/timer.h"
-#include "hw/audiodev.h"
+#include "hw/audio/audio.h"
#include "hw/intel-hda.h"
#include "hw/intel-hda-defs.h"
#include "sysemu/dma.h"
diff --git a/hw/ioapic.c b/hw/ioapic.c
index 78629fac6c..7089fa808d 100644
--- a/hw/ioapic.c
+++ b/hw/ioapic.c
@@ -21,10 +21,10 @@
*/
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/apic.h"
-#include "hw/ioapic.h"
-#include "hw/ioapic_internal.h"
+#include "hw/i386/pc.h"
+#include "hw/i386/apic.h"
+#include "hw/i386/ioapic.h"
+#include "hw/i386/ioapic_internal.h"
//#define DEBUG_IOAPIC
diff --git a/hw/ioapic_common.c b/hw/ioapic_common.c
index d4aff29544..42c7adc691 100644
--- a/hw/ioapic_common.c
+++ b/hw/ioapic_common.c
@@ -19,8 +19,8 @@
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
-#include "hw/ioapic.h"
-#include "hw/ioapic_internal.h"
+#include "hw/i386/ioapic.h"
+#include "hw/i386/ioapic_internal.h"
#include "hw/sysbus.h"
void ioapic_reset_common(DeviceState *dev)
diff --git a/hw/isa-bus.c b/hw/isa-bus.c
index 67ff8fd314..7860b17d66 100644
--- a/hw/isa-bus.c
+++ b/hw/isa-bus.c
@@ -20,7 +20,7 @@
#include "monitor/monitor.h"
#include "hw/sysbus.h"
#include "sysemu/sysemu.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "exec/address-spaces.h"
static ISABus *isabus;
diff --git a/hw/isa_mmio.c b/hw/isa_mmio.c
index a7860e7459..d4dbf13831 100644
--- a/hw/isa_mmio.c
+++ b/hw/isa_mmio.c
@@ -23,7 +23,7 @@
*/
#include "hw/hw.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "exec/address-spaces.h"
static void isa_mmio_writeb (void *opaque, hwaddr addr,
diff --git a/hw/ivshmem.c b/hw/ivshmem.c
index af2789e9ac..f92ce19dde 100644
--- a/hw/ivshmem.c
+++ b/hw/ivshmem.c
@@ -17,7 +17,7 @@
* GNU GPL, version 2 or (at your option) any later version.
*/
#include "hw/hw.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/pci/pci.h"
#include "hw/pci/msix.h"
#include "sysemu/kvm.h"
diff --git a/hw/kvm/apic.c b/hw/kvm/apic.c
index d994ea7c97..c6ff9821e3 100644
--- a/hw/kvm/apic.c
+++ b/hw/kvm/apic.c
@@ -9,7 +9,7 @@
* This work is licensed under the terms of the GNU GPL version 2.
* See the COPYING file in the top-level directory.
*/
-#include "hw/apic_internal.h"
+#include "hw/i386/apic_internal.h"
#include "hw/pci/msi.h"
#include "sysemu/kvm.h"
diff --git a/hw/kvm/i8254.c b/hw/kvm/i8254.c
index 04ad649b0e..da90711853 100644
--- a/hw/kvm/i8254.c
+++ b/hw/kvm/i8254.c
@@ -24,8 +24,8 @@
*/
#include "qemu/timer.h"
#include "sysemu/sysemu.h"
-#include "hw/i8254.h"
-#include "hw/i8254_internal.h"
+#include "hw/timer/i8254.h"
+#include "hw/timer/i8254_internal.h"
#include "sysemu/kvm.h"
#define KVM_PIT_REINJECT_BIT 0
diff --git a/hw/kvm/i8259.c b/hw/kvm/i8259.c
index 5ae8b6819b..ea77be8638 100644
--- a/hw/kvm/i8259.c
+++ b/hw/kvm/i8259.c
@@ -9,8 +9,8 @@
* This work is licensed under the terms of the GNU GPL version 2.
* See the COPYING file in the top-level directory.
*/
-#include "hw/i8259_internal.h"
-#include "hw/apic_internal.h"
+#include "hw/isa/i8259_internal.h"
+#include "hw/i386/apic_internal.h"
#include "sysemu/kvm.h"
static void kvm_pic_get(PICCommonState *s)
diff --git a/hw/kvm/ioapic.c b/hw/kvm/ioapic.c
index 23877d4259..a3bd519b4d 100644
--- a/hw/kvm/ioapic.c
+++ b/hw/kvm/ioapic.c
@@ -10,9 +10,9 @@
* See the COPYING file in the top-level directory.
*/
-#include "hw/pc.h"
-#include "hw/ioapic_internal.h"
-#include "hw/apic_internal.h"
+#include "hw/i386/pc.h"
+#include "hw/i386/ioapic_internal.h"
+#include "hw/i386/apic_internal.h"
#include "sysemu/kvm.h"
/* PC Utility function */
diff --git a/hw/kvm/pci-assign.c b/hw/kvm/pci-assign.c
index da64b5b86f..c1e08ec1a0 100644
--- a/hw/kvm/pci-assign.c
+++ b/hw/kvm/pci-assign.c
@@ -27,7 +27,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include "hw/hw.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "qemu/error-report.h"
#include "ui/console.h"
#include "hw/loader.h"
diff --git a/hw/lan9118.c b/hw/lan9118.c
index 403fb868ae..04cf267f13 100644
--- a/hw/lan9118.c
+++ b/hw/lan9118.c
@@ -12,7 +12,7 @@
#include "hw/sysbus.h"
#include "net/net.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#include "sysemu/sysemu.h"
#include "hw/ptimer.h"
/* For crc32 */
diff --git a/hw/lance.c b/hw/lance.c
index acfffaed31..0f4e808d14 100644
--- a/hw/lance.c
+++ b/hw/lance.c
@@ -39,7 +39,7 @@
#include "net/net.h"
#include "qemu/timer.h"
#include "qemu/sockets.h"
-#include "hw/sun4m.h"
+#include "hw/sparc/sun4m.h"
#include "hw/pcnet.h"
#include "trace.h"
diff --git a/hw/lm32/lm32_boards.c b/hw/lm32/lm32_boards.c
index db92948092..b22c94f85f 100644
--- a/hw/lm32/lm32_boards.c
+++ b/hw/lm32/lm32_boards.c
@@ -19,8 +19,8 @@
#include "hw/sysbus.h"
#include "hw/hw.h"
-#include "hw/flash.h"
-#include "hw/devices.h"
+#include "hw/block/flash.h"
+#include "hw/arm/devices.h"
#include "hw/boards.h"
#include "hw/loader.h"
#include "sysemu/blockdev.h"
diff --git a/hw/lm32/milkymist.c b/hw/lm32/milkymist.c
index b347cf964c..c3724dee06 100644
--- a/hw/lm32/milkymist.c
+++ b/hw/lm32/milkymist.c
@@ -19,9 +19,9 @@
#include "hw/sysbus.h"
#include "hw/hw.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "sysemu/sysemu.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#include "hw/boards.h"
#include "hw/loader.h"
#include "elf.h"
diff --git a/hw/lm32_juart.c b/hw/lm32_juart.c
index 472e9c25fd..93f0d1534e 100644
--- a/hw/lm32_juart.c
+++ b/hw/lm32_juart.c
@@ -22,7 +22,7 @@
#include "trace.h"
#include "char/char.h"
-#include "hw/lm32_juart.h"
+#include "hw/lm32/lm32_juart.h"
enum {
LM32_JUART_MIN_SAVE_VERSION = 0,
diff --git a/hw/lm32_pic.c b/hw/lm32_pic.c
index d17c310d5c..b4e80c8d8c 100644
--- a/hw/lm32_pic.c
+++ b/hw/lm32_pic.c
@@ -20,11 +20,11 @@
#include <assert.h>
#include "hw/hw.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "monitor/monitor.h"
#include "hw/sysbus.h"
#include "trace.h"
-#include "hw/lm32_pic.h"
+#include "hw/lm32/lm32_pic.h"
struct LM32PicState {
SysBusDevice busdev;
diff --git a/hw/lm832x.c b/hw/lm832x.c
index a064dfd172..bacbeb2343 100644
--- a/hw/lm832x.c
+++ b/hw/lm832x.c
@@ -19,7 +19,7 @@
*/
#include "hw/hw.h"
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
#include "qemu/timer.h"
#include "ui/console.h"
diff --git a/hw/loader.c b/hw/loader.c
index 6ce66fb5bb..2f5072dfa2 100644
--- a/hw/loader.c
+++ b/hw/loader.c
@@ -48,7 +48,7 @@
#include "sysemu/sysemu.h"
#include "hw/uboot_image.h"
#include "hw/loader.h"
-#include "hw/fw_cfg.h"
+#include "hw/nvram/fw_cfg.h"
#include "exec/memory.h"
#include "exec/address-spaces.h"
diff --git a/hw/lpc_ich9.c b/hw/lpc_ich9.c
index ff0a3092d5..d116075933 100644
--- a/hw/lpc_ich9.c
+++ b/hw/lpc_ich9.c
@@ -30,18 +30,17 @@
#include "qemu-common.h"
#include "hw/hw.h"
#include "qemu/range.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "hw/sysbus.h"
-#include "hw/pc.h"
-#include "hw/apm.h"
-#include "hw/ioapic.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/apm.h"
+#include "hw/i386/ioapic.h"
#include "hw/pci/pci.h"
#include "hw/pci/pcie_host.h"
#include "hw/pci/pci_bridge.h"
-#include "hw/ich9.h"
-#include "hw/acpi.h"
-#include "hw/acpi_ich9.h"
-#include "hw/pam.h"
+#include "hw/i386/ich9.h"
+#include "hw/acpi/acpi.h"
+#include "hw/acpi/ich9.h"
#include "hw/pci/pci_bus.h"
#include "exec/address-spaces.h"
#include "sysemu/sysemu.h"
diff --git a/hw/lsi53c895a.c b/hw/lsi53c895a.c
index 5a8bf4d0e9..c601b2943d 100644
--- a/hw/lsi53c895a.c
+++ b/hw/lsi53c895a.c
@@ -14,7 +14,7 @@
#include "hw/hw.h"
#include "hw/pci/pci.h"
-#include "hw/scsi.h"
+#include "hw/scsi/scsi.h"
#include "sysemu/dma.h"
//#define DEBUG_LSI
diff --git a/hw/m25p80.c b/hw/m25p80.c
index 55e9d0d37a..cd560e3747 100644
--- a/hw/m25p80.c
+++ b/hw/m25p80.c
@@ -24,7 +24,7 @@
#include "hw/hw.h"
#include "sysemu/blockdev.h"
#include "hw/ssi.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#ifdef M25P80_ERR_DEBUG
#define DB_PRINT(...) do { \
diff --git a/hw/m48t59.c b/hw/m48t59.c
index 39a9d808cd..5019e0632b 100644
--- a/hw/m48t59.c
+++ b/hw/m48t59.c
@@ -22,11 +22,11 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/nvram.h"
+#include "hw/timer/m48t59.h"
#include "qemu/timer.h"
#include "sysemu/sysemu.h"
#include "hw/sysbus.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "exec/address-spaces.h"
//#define DEBUG_NVRAM
diff --git a/hw/m68k/an5206.c b/hw/m68k/an5206.c
index 7c21c66cde..c4a5626a53 100644
--- a/hw/m68k/an5206.c
+++ b/hw/m68k/an5206.c
@@ -7,7 +7,7 @@
*/
#include "hw/hw.h"
-#include "hw/mcf.h"
+#include "hw/m68k/mcf.h"
#include "hw/boards.h"
#include "hw/loader.h"
#include "elf.h"
diff --git a/hw/m68k/mcf5206.c b/hw/m68k/mcf5206.c
index 58cd8d46c9..bcc619d74b 100644
--- a/hw/m68k/mcf5206.c
+++ b/hw/m68k/mcf5206.c
@@ -6,7 +6,7 @@
* This code is licensed under the GPL
*/
#include "hw/hw.h"
-#include "hw/mcf.h"
+#include "hw/m68k/mcf.h"
#include "qemu/timer.h"
#include "hw/ptimer.h"
#include "sysemu/sysemu.h"
diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c
index 748bf56983..05efde7ceb 100644
--- a/hw/m68k/mcf5208.c
+++ b/hw/m68k/mcf5208.c
@@ -6,7 +6,7 @@
* This code is licensed under the GPL
*/
#include "hw/hw.h"
-#include "hw/mcf.h"
+#include "hw/m68k/mcf.h"
#include "qemu/timer.h"
#include "hw/ptimer.h"
#include "sysemu/sysemu.h"
diff --git a/hw/m68k/mcf_intc.c b/hw/m68k/mcf_intc.c
index fff27b34aa..cfe660d0a4 100644
--- a/hw/m68k/mcf_intc.c
+++ b/hw/m68k/mcf_intc.c
@@ -6,7 +6,7 @@
* This code is licensed under the GPL
*/
#include "hw/hw.h"
-#include "hw/mcf.h"
+#include "hw/m68k/mcf.h"
#include "exec/address-spaces.h"
typedef struct {
diff --git a/hw/mac_dbdma.c b/hw/mac_dbdma.c
index 61d2f35c8e..a2363bbdf2 100644
--- a/hw/mac_dbdma.c
+++ b/hw/mac_dbdma.c
@@ -37,8 +37,8 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/isa.h"
-#include "hw/mac_dbdma.h"
+#include "hw/isa/isa.h"
+#include "hw/ppc/mac_dbdma.h"
#include "qemu/main-loop.h"
/* debug DBDMA */
diff --git a/hw/mac_nvram.c b/hw/mac_nvram.c
index ed32bde5ab..5223330838 100644
--- a/hw/mac_nvram.c
+++ b/hw/mac_nvram.c
@@ -23,7 +23,7 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/firmware_abi.h"
+#include "hw/sparc/firmware_abi.h"
#include "sysemu/sysemu.h"
#include "hw/ppc/mac.h"
diff --git a/hw/macio.c b/hw/macio.c
index e91143e331..2f389dd7cc 100644
--- a/hw/macio.c
+++ b/hw/macio.c
@@ -25,8 +25,8 @@
#include "hw/hw.h"
#include "hw/ppc/mac.h"
#include "hw/pci/pci.h"
-#include "hw/mac_dbdma.h"
-#include "hw/escc.h"
+#include "hw/ppc/mac_dbdma.h"
+#include "hw/char/escc.h"
#define TYPE_MACIO "macio"
#define MACIO(obj) OBJECT_CHECK(MacIOState, (obj), TYPE_MACIO)
diff --git a/hw/marvell_88w8618_audio.c b/hw/marvell_88w8618_audio.c
index e042046e4f..f9b68fd311 100644
--- a/hw/marvell_88w8618_audio.c
+++ b/hw/marvell_88w8618_audio.c
@@ -11,7 +11,7 @@
*/
#include "hw/sysbus.h"
#include "hw/hw.h"
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
#include "hw/sysbus.h"
#include "audio/audio.h"
diff --git a/hw/max7310.c b/hw/max7310.c
index e5cb810a27..59b287703e 100644
--- a/hw/max7310.c
+++ b/hw/max7310.c
@@ -7,7 +7,7 @@
* This file is licensed under GNU GPL.
*/
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
typedef struct {
I2CSlave i2c;
diff --git a/hw/mc146818rtc.c b/hw/mc146818rtc.c
index a2119ad2f1..69e6844ff4 100644
--- a/hw/mc146818rtc.c
+++ b/hw/mc146818rtc.c
@@ -24,11 +24,11 @@
#include "hw/hw.h"
#include "qemu/timer.h"
#include "sysemu/sysemu.h"
-#include "hw/mc146818rtc.h"
+#include "hw/timer/mc146818rtc.h"
#include "qapi/visitor.h"
#ifdef TARGET_I386
-#include "hw/apic.h"
+#include "hw/i386/apic.h"
#endif
//#define DEBUG_CMOS
diff --git a/hw/mcf_fec.c b/hw/mcf_fec.c
index 0227bd852c..9b6805267d 100644
--- a/hw/mcf_fec.c
+++ b/hw/mcf_fec.c
@@ -7,7 +7,7 @@
*/
#include "hw/hw.h"
#include "net/net.h"
-#include "hw/mcf.h"
+#include "hw/m68k/mcf.h"
/* For crc32 */
#include <zlib.h>
#include "exec/address-spaces.h"
diff --git a/hw/mcf_uart.c b/hw/mcf_uart.c
index e5de801671..6724b1b718 100644
--- a/hw/mcf_uart.c
+++ b/hw/mcf_uart.c
@@ -6,7 +6,7 @@
* This code is licensed under the GPL
*/
#include "hw/hw.h"
-#include "hw/mcf.h"
+#include "hw/m68k/mcf.h"
#include "char/char.h"
#include "exec/address-spaces.h"
diff --git a/hw/megasas.c b/hw/megasas.c
index 9b815d4b8f..f46f800355 100644
--- a/hw/megasas.c
+++ b/hw/megasas.c
@@ -23,8 +23,8 @@
#include "sysemu/dma.h"
#include "hw/pci/msix.h"
#include "qemu/iov.h"
-#include "hw/scsi.h"
-#include "hw/scsi-defs.h"
+#include "hw/scsi/scsi.h"
+#include "block/scsi.h"
#include "trace.h"
#include "hw/mfi.h"
diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c
index 07dc808405..79a8a0e170 100644
--- a/hw/microblaze/petalogix_ml605_mmu.c
+++ b/hw/microblaze/petalogix_ml605_mmu.c
@@ -28,13 +28,13 @@
#include "hw/sysbus.h"
#include "hw/hw.h"
#include "net/net.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "sysemu/sysemu.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#include "hw/boards.h"
#include "hw/xilinx.h"
#include "sysemu/blockdev.h"
-#include "hw/serial.h"
+#include "hw/char/serial.h"
#include "exec/address-spaces.h"
#include "hw/ssi.h"
diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c
index 24983621e5..b38640321b 100644
--- a/hw/microblaze/petalogix_s3adsp1800_mmu.c
+++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c
@@ -26,9 +26,9 @@
#include "hw/sysbus.h"
#include "hw/hw.h"
#include "net/net.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "sysemu/sysemu.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#include "hw/boards.h"
#include "hw/xilinx.h"
#include "sysemu/blockdev.h"
diff --git a/hw/milkymist-softusb.c b/hw/milkymist-softusb.c
index 90a0ae5769..3edab4ff0b 100644
--- a/hw/milkymist-softusb.c
+++ b/hw/milkymist-softusb.c
@@ -25,7 +25,7 @@
#include "hw/sysbus.h"
#include "trace.h"
#include "ui/console.h"
-#include "hw/hid.h"
+#include "hw/input/hid.h"
#include "qemu/error-report.h"
enum {
diff --git a/hw/mips/addr.c b/hw/mips/addr.c
index cddc25cf3f..99488f1d2a 100644
--- a/hw/mips/addr.c
+++ b/hw/mips/addr.c
@@ -21,7 +21,7 @@
*/
#include "hw/hw.h"
-#include "hw/mips_cpudevs.h"
+#include "hw/mips/cpudevs.h"
uint64_t cpu_mips_kseg0_to_phys(void *opaque, uint64_t addr)
{
diff --git a/hw/mips/cputimer.c b/hw/mips/cputimer.c
index 9ad13f3924..e0266bf15a 100644
--- a/hw/mips/cputimer.c
+++ b/hw/mips/cputimer.c
@@ -21,7 +21,7 @@
*/
#include "hw/hw.h"
-#include "hw/mips_cpudevs.h"
+#include "hw/mips/cpudevs.h"
#include "qemu/timer.h"
#define TIMER_FREQ 100 * 1000 * 1000
diff --git a/hw/mips/mips_fulong2e.c b/hw/mips/mips_fulong2e.c
index 766aa9dfb5..3cf27fa822 100644
--- a/hw/mips/mips_fulong2e.c
+++ b/hw/mips/mips_fulong2e.c
@@ -19,28 +19,28 @@
*/
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/serial.h"
-#include "hw/fdc.h"
+#include "hw/i386/pc.h"
+#include "hw/char/serial.h"
+#include "hw/block/fdc.h"
#include "net/net.h"
#include "hw/boards.h"
-#include "hw/smbus.h"
+#include "hw/i2c/smbus.h"
#include "block/block.h"
-#include "hw/flash.h"
-#include "hw/mips.h"
-#include "hw/mips_cpudevs.h"
+#include "hw/block/flash.h"
+#include "hw/mips/mips.h"
+#include "hw/mips/cpudevs.h"
#include "hw/pci/pci.h"
#include "char/char.h"
#include "sysemu/sysemu.h"
#include "audio/audio.h"
#include "qemu/log.h"
#include "hw/loader.h"
-#include "hw/mips-bios.h"
+#include "hw/mips/bios.h"
#include "hw/ide.h"
#include "elf.h"
-#include "hw/vt82c686.h"
-#include "hw/mc146818rtc.h"
-#include "hw/i8254.h"
+#include "hw/isa/vt82c686.h"
+#include "hw/timer/mc146818rtc.h"
+#include "hw/timer/i8254.h"
#include "sysemu/blockdev.h"
#include "exec/address-spaces.h"
diff --git a/hw/mips/mips_int.c b/hw/mips/mips_int.c
index 0e5e86699c..7dbd24d3d6 100644
--- a/hw/mips/mips_int.c
+++ b/hw/mips/mips_int.c
@@ -21,7 +21,7 @@
*/
#include "hw/hw.h"
-#include "hw/mips_cpudevs.h"
+#include "hw/mips/cpudevs.h"
#include "cpu.h"
static void cpu_mips_irq_request(void *opaque, int irq, int level)
diff --git a/hw/mips/mips_jazz.c b/hw/mips/mips_jazz.c
index daeb985b1d..fd3a5f93f9 100644
--- a/hw/mips/mips_jazz.c
+++ b/hw/mips/mips_jazz.c
@@ -23,22 +23,22 @@
*/
#include "hw/hw.h"
-#include "hw/mips.h"
-#include "hw/mips_cpudevs.h"
-#include "hw/pc.h"
-#include "hw/serial.h"
-#include "hw/isa.h"
-#include "hw/fdc.h"
+#include "hw/mips/mips.h"
+#include "hw/mips/cpudevs.h"
+#include "hw/i386/pc.h"
+#include "hw/char/serial.h"
+#include "hw/isa/isa.h"
+#include "hw/block/fdc.h"
#include "sysemu/sysemu.h"
#include "sysemu/arch_init.h"
#include "hw/boards.h"
#include "net/net.h"
-#include "hw/esp.h"
-#include "hw/mips-bios.h"
+#include "hw/scsi/esp.h"
+#include "hw/mips/bios.h"
#include "hw/loader.h"
-#include "hw/mc146818rtc.h"
-#include "hw/i8254.h"
-#include "hw/pcspk.h"
+#include "hw/timer/mc146818rtc.h"
+#include "hw/timer/i8254.h"
+#include "hw/audio/pcspk.h"
#include "sysemu/blockdev.h"
#include "hw/sysbus.h"
#include "exec/address-spaces.h"
diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
index 9a67dce207..a3e936b77f 100644
--- a/hw/mips/mips_malta.c
+++ b/hw/mips/mips_malta.c
@@ -23,28 +23,28 @@
*/
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/serial.h"
-#include "hw/fdc.h"
+#include "hw/i386/pc.h"
+#include "hw/char/serial.h"
+#include "hw/block/fdc.h"
#include "net/net.h"
#include "hw/boards.h"
-#include "hw/smbus.h"
+#include "hw/i2c/smbus.h"
#include "block/block.h"
-#include "hw/flash.h"
-#include "hw/mips.h"
-#include "hw/mips_cpudevs.h"
+#include "hw/block/flash.h"
+#include "hw/mips/mips.h"
+#include "hw/mips/cpudevs.h"
#include "hw/pci/pci.h"
#include "char/char.h"
#include "sysemu/sysemu.h"
#include "sysemu/arch_init.h"
#include "hw/boards.h"
#include "qemu/log.h"
-#include "hw/mips-bios.h"
+#include "hw/mips/bios.h"
#include "hw/ide.h"
#include "hw/loader.h"
#include "elf.h"
-#include "hw/mc146818rtc.h"
-#include "hw/i8254.h"
+#include "hw/timer/mc146818rtc.h"
+#include "hw/timer/i8254.h"
#include "sysemu/blockdev.h"
#include "exec/address-spaces.h"
#include "hw/sysbus.h" /* SysBusDevice */
diff --git a/hw/mips/mips_mipssim.c b/hw/mips/mips_mipssim.c
index 4935c78c01..d1681ec2fe 100644
--- a/hw/mips/mips_mipssim.c
+++ b/hw/mips/mips_mipssim.c
@@ -25,14 +25,14 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/mips.h"
-#include "hw/mips_cpudevs.h"
-#include "hw/serial.h"
-#include "hw/isa.h"
+#include "hw/mips/mips.h"
+#include "hw/mips/cpudevs.h"
+#include "hw/char/serial.h"
+#include "hw/isa/isa.h"
#include "net/net.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
-#include "hw/mips-bios.h"
+#include "hw/mips/bios.h"
#include "hw/loader.h"
#include "elf.h"
#include "hw/sysbus.h"
diff --git a/hw/mips/mips_r4k.c b/hw/mips/mips_r4k.c
index 539a562620..4646ab6db7 100644
--- a/hw/mips/mips_r4k.c
+++ b/hw/mips/mips_r4k.c
@@ -8,22 +8,22 @@
* the standard PC ISA addresses.
*/
#include "hw/hw.h"
-#include "hw/mips.h"
-#include "hw/mips_cpudevs.h"
-#include "hw/pc.h"
-#include "hw/serial.h"
-#include "hw/isa.h"
+#include "hw/mips/mips.h"
+#include "hw/mips/cpudevs.h"
+#include "hw/i386/pc.h"
+#include "hw/char/serial.h"
+#include "hw/isa/isa.h"
#include "net/net.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "qemu/log.h"
-#include "hw/mips-bios.h"
+#include "hw/mips/bios.h"
#include "hw/ide.h"
#include "hw/loader.h"
#include "elf.h"
-#include "hw/mc146818rtc.h"
-#include "hw/i8254.h"
+#include "hw/timer/mc146818rtc.h"
+#include "hw/timer/i8254.h"
#include "sysemu/blockdev.h"
#include "exec/address-spaces.h"
diff --git a/hw/moxie/moxiesim.c b/hw/moxie/moxiesim.c
index e1e88a9c30..70bf28f2fd 100644
--- a/hw/moxie/moxiesim.c
+++ b/hw/moxie/moxiesim.c
@@ -26,13 +26,13 @@
*/
#include "hw/sysbus.h"
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/isa.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/isa.h"
#include "net/net.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
#include "hw/loader.h"
-#include "hw/serial.h"
+#include "hw/char/serial.h"
#include "exec/address-spaces.h"
#define PHYS_MEM_BASE 0x80000000
diff --git a/hw/nand.c b/hw/nand.c
index 63620938fb..087ca14ed1 100644
--- a/hw/nand.c
+++ b/hw/nand.c
@@ -19,7 +19,7 @@
#ifndef NAND_IO
# include "hw/hw.h"
-# include "hw/flash.h"
+# include "hw/block/flash.h"
# include "sysemu/blockdev.h"
# include "hw/sysbus.h"
#include "qemu/error-report.h"
diff --git a/hw/ne2000-isa.c b/hw/ne2000-isa.c
index 47c00c3a76..e4c10dbe25 100644
--- a/hw/ne2000-isa.c
+++ b/hw/ne2000-isa.c
@@ -22,8 +22,8 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/isa.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/isa.h"
#include "hw/qdev.h"
#include "net/net.h"
#include "hw/ne2000.h"
diff --git a/hw/omap_clk.c b/hw/omap_clk.c
index c7b5c11626..80a3c50e1e 100644
--- a/hw/omap_clk.c
+++ b/hw/omap_clk.c
@@ -19,7 +19,7 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#include "hw/hw.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
struct clk {
const char *name;
diff --git a/hw/omap_dma.c b/hw/omap_dma.c
index 0c5902f6f9..184fcee1a7 100644
--- a/hw/omap_dma.c
+++ b/hw/omap_dma.c
@@ -19,9 +19,9 @@
*/
#include "qemu-common.h"
#include "qemu/timer.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
#include "hw/irq.h"
-#include "hw/soc_dma.h"
+#include "hw/arm/soc_dma.h"
struct omap_dma_channel_s {
/* transfer data */
diff --git a/hw/omap_dss.c b/hw/omap_dss.c
index 948ad8fcc5..ea3afcef5e 100644
--- a/hw/omap_dss.c
+++ b/hw/omap_dss.c
@@ -19,7 +19,7 @@
*/
#include "hw/hw.h"
#include "ui/console.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
struct omap_dss_s {
qemu_irq irq;
diff --git a/hw/omap_gpio.c b/hw/omap_gpio.c
index c79f61c2ba..f5eeaea549 100644
--- a/hw/omap_gpio.c
+++ b/hw/omap_gpio.c
@@ -19,7 +19,7 @@
*/
#include "hw/hw.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
#include "hw/sysbus.h"
struct omap_gpio_s {
diff --git a/hw/omap_gpmc.c b/hw/omap_gpmc.c
index ebb259c283..91adb66c2b 100644
--- a/hw/omap_gpmc.c
+++ b/hw/omap_gpmc.c
@@ -19,8 +19,8 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#include "hw/hw.h"
-#include "hw/flash.h"
-#include "hw/omap.h"
+#include "hw/block/flash.h"
+#include "hw/arm/omap.h"
#include "exec/memory.h"
#include "exec/address-spaces.h"
diff --git a/hw/omap_gptimer.c b/hw/omap_gptimer.c
index 8485ee84f5..9b0e9dd567 100644
--- a/hw/omap_gptimer.c
+++ b/hw/omap_gptimer.c
@@ -19,7 +19,7 @@
*/
#include "hw/hw.h"
#include "qemu/timer.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
/* GP timers */
struct omap_gp_timer_s {
diff --git a/hw/omap_i2c.c b/hw/omap_i2c.c
index 92f7b371ea..efb2254aea 100644
--- a/hw/omap_i2c.c
+++ b/hw/omap_i2c.c
@@ -17,8 +17,8 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#include "hw/hw.h"
-#include "hw/i2c.h"
-#include "hw/omap.h"
+#include "hw/i2c/i2c.h"
+#include "hw/arm/omap.h"
#include "hw/sysbus.h"
diff --git a/hw/omap_intc.c b/hw/omap_intc.c
index 7da9c3548c..875eba4e3e 100644
--- a/hw/omap_intc.c
+++ b/hw/omap_intc.c
@@ -18,7 +18,7 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#include "hw/hw.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
#include "hw/sysbus.h"
/* Interrupt Handlers */
diff --git a/hw/omap_l4.c b/hw/omap_l4.c
index cbe8a06033..ac8251f736 100644
--- a/hw/omap_l4.c
+++ b/hw/omap_l4.c
@@ -18,7 +18,7 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#include "hw/hw.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
struct omap_l4_s {
MemoryRegion *address_space;
diff --git a/hw/omap_lcdc.c b/hw/omap_lcdc.c
index 4f5b0947cf..4048cc102d 100644
--- a/hw/omap_lcdc.c
+++ b/hw/omap_lcdc.c
@@ -18,7 +18,7 @@
*/
#include "hw/hw.h"
#include "ui/console.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
#include "hw/framebuffer.h"
#include "ui/pixel_ops.h"
diff --git a/hw/omap_mmc.c b/hw/omap_mmc.c
index 6e48110c9e..d4079cde0b 100644
--- a/hw/omap_mmc.c
+++ b/hw/omap_mmc.c
@@ -17,7 +17,7 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#include "hw/hw.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
#include "hw/sd.h"
struct omap_mmc_s {
diff --git a/hw/omap_sdrc.c b/hw/omap_sdrc.c
index 510e6cc580..e38b571054 100644
--- a/hw/omap_sdrc.c
+++ b/hw/omap_sdrc.c
@@ -18,7 +18,7 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#include "hw/hw.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
/* SDRAM Controller Subsystem */
struct omap_sdrc_s {
diff --git a/hw/omap_spi.c b/hw/omap_spi.c
index 1cbd98d338..11403c411b 100644
--- a/hw/omap_spi.c
+++ b/hw/omap_spi.c
@@ -20,7 +20,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "hw/hw.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
/* Multichannel SPI */
struct omap_mcspi_s {
diff --git a/hw/omap_synctimer.c b/hw/omap_synctimer.c
index 13e7280e69..a24f35c277 100644
--- a/hw/omap_synctimer.c
+++ b/hw/omap_synctimer.c
@@ -19,7 +19,7 @@
*/
#include "hw/hw.h"
#include "qemu/timer.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
struct omap_synctimer_s {
MemoryRegion iomem;
uint32_t val;
diff --git a/hw/omap_tap.c b/hw/omap_tap.c
index 181ecee1a5..99b70d5a75 100644
--- a/hw/omap_tap.c
+++ b/hw/omap_tap.c
@@ -19,7 +19,7 @@
*/
#include "hw/hw.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
/* TEST-Chip-level TAP */
static uint64_t omap_tap_read(void *opaque, hwaddr addr,
diff --git a/hw/omap_uart.c b/hw/omap_uart.c
index af51ce7534..26c14266fc 100644
--- a/hw/omap_uart.c
+++ b/hw/omap_uart.c
@@ -19,8 +19,8 @@
*/
#include "char/char.h"
#include "hw/hw.h"
-#include "hw/omap.h"
-#include "hw/serial.h"
+#include "hw/arm/omap.h"
+#include "hw/char/serial.h"
#include "exec/address-spaces.h"
/* UARTs */
diff --git a/hw/onenand.c b/hw/onenand.c
index 57a346d7da..8b511a79dc 100644
--- a/hw/onenand.c
+++ b/hw/onenand.c
@@ -20,7 +20,7 @@
#include "qemu-common.h"
#include "hw/hw.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "hw/irq.h"
#include "sysemu/blockdev.h"
#include "exec/memory.h"
diff --git a/hw/openpic.c b/hw/openpic.c
index 03a7075c39..c78871445b 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -36,11 +36,11 @@
#include "hw/hw.h"
#include "hw/ppc/mac.h"
#include "hw/pci/pci.h"
-#include "hw/openpic.h"
+#include "hw/ppc/openpic.h"
#include "hw/sysbus.h"
#include "hw/pci/msi.h"
#include "qemu/bitops.h"
-#include "hw/ppc.h"
+#include "hw/ppc/ppc.h"
//#define DEBUG_OPENPIC
diff --git a/hw/openrisc/openrisc_sim.c b/hw/openrisc/openrisc_sim.c
index db2aac8cf8..49bab1f0f0 100644
--- a/hw/openrisc/openrisc_sim.c
+++ b/hw/openrisc/openrisc_sim.c
@@ -21,7 +21,7 @@
#include "hw/hw.h"
#include "hw/boards.h"
#include "elf.h"
-#include "hw/serial.h"
+#include "hw/char/serial.h"
#include "net/net.h"
#include "hw/loader.h"
#include "exec/address-spaces.h"
diff --git a/hw/pam.c b/hw/pam.c
index 6c0061e06e..7181bd68eb 100644
--- a/hw/pam.c
+++ b/hw/pam.c
@@ -27,7 +27,7 @@
* THE SOFTWARE.
*/
#include "sysemu/sysemu.h"
-#include "hw/pam.h"
+#include "hw/pci-host/pam.h"
void smram_update(MemoryRegion *smram_region, uint8_t smram,
uint8_t smm_enabled)
diff --git a/hw/parallel.c b/hw/parallel.c
index 0b9af43d8b..863a6fb4a9 100644
--- a/hw/parallel.c
+++ b/hw/parallel.c
@@ -24,8 +24,8 @@
*/
#include "hw/hw.h"
#include "char/char.h"
-#include "hw/isa.h"
-#include "hw/pc.h"
+#include "hw/isa/isa.h"
+#include "hw/i386/pc.h"
#include "sysemu/sysemu.h"
//#define DEBUG_PARALLEL
diff --git a/hw/pc-testdev.c b/hw/pc-testdev.c
index 8236bce0c7..32df175c10 100644
--- a/hw/pc-testdev.c
+++ b/hw/pc-testdev.c
@@ -41,7 +41,7 @@
#endif
#include "hw/hw.h"
#include "hw/qdev.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#define IOMEM_LEN 0x10000
diff --git a/hw/pc87312.c b/hw/pc87312.c
index c4e4c6273b..9f5e185685 100644
--- a/hw/pc87312.c
+++ b/hw/pc87312.c
@@ -23,7 +23,7 @@
* THE SOFTWARE.
*/
-#include "hw/pc87312.h"
+#include "hw/isa/pc87312.h"
#include "qemu/error-report.h"
#include "sysemu/blockdev.h"
#include "sysemu/sysemu.h"
diff --git a/hw/pc_sysfw.c b/hw/pc_sysfw.c
index 3e01528e78..0d95c8a926 100644
--- a/hw/pc_sysfw.c
+++ b/hw/pc_sysfw.c
@@ -27,11 +27,11 @@
#include "qemu/error-report.h"
#include "hw/sysbus.h"
#include "hw/hw.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/boards.h"
#include "hw/loader.h"
#include "sysemu/sysemu.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "sysemu/kvm.h"
#define BIOS_FILENAME "bios.bin"
diff --git a/hw/pci/pci-hotplug.c b/hw/pci/pci-hotplug.c
index 180ee07fef..12287d1efc 100644
--- a/hw/pci/pci-hotplug.c
+++ b/hw/pci/pci-hotplug.c
@@ -26,10 +26,10 @@
#include "hw/boards.h"
#include "hw/pci/pci.h"
#include "net/net.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "monitor/monitor.h"
-#include "hw/scsi.h"
-#include "hw/virtio-blk.h"
+#include "hw/scsi/scsi.h"
+#include "hw/virtio/virtio-blk.h"
#include "qemu/config-file.h"
#include "sysemu/blockdev.h"
#include "qapi/error.h"
diff --git a/hw/pckbd.c b/hw/pckbd.c
index cc63df0570..08ceb9fe8a 100644
--- a/hw/pckbd.c
+++ b/hw/pckbd.c
@@ -22,9 +22,9 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/isa.h"
-#include "hw/pc.h"
-#include "hw/ps2.h"
+#include "hw/isa/isa.h"
+#include "hw/i386/pc.h"
+#include "hw/input/ps2.h"
#include "sysemu/sysemu.h"
/* debug PC keyboard */
diff --git a/hw/pcspk.c b/hw/pcspk.c
index d533415950..34e0df7485 100644
--- a/hw/pcspk.c
+++ b/hw/pcspk.c
@@ -23,12 +23,12 @@
*/
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/isa.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/isa.h"
#include "audio/audio.h"
#include "qemu/timer.h"
-#include "hw/i8254.h"
-#include "hw/pcspk.h"
+#include "hw/timer/i8254.h"
+#include "hw/audio/pcspk.h"
#define PCSPK_BUF_LEN 1792
#define PCSPK_SAMPLE_RATE 32000
diff --git a/hw/pflash_cfi01.c b/hw/pflash_cfi01.c
index 646dc794bf..3ff20e0c6f 100644
--- a/hw/pflash_cfi01.c
+++ b/hw/pflash_cfi01.c
@@ -37,7 +37,7 @@
*/
#include "hw/hw.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "block/block.h"
#include "qemu/timer.h"
#include "exec/address-spaces.h"
diff --git a/hw/pflash_cfi02.c b/hw/pflash_cfi02.c
index 37b4fcc234..9a7fa707ca 100644
--- a/hw/pflash_cfi02.c
+++ b/hw/pflash_cfi02.c
@@ -36,7 +36,7 @@
*/
#include "hw/hw.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "qemu/timer.h"
#include "block/block.h"
#include "exec/address-spaces.h"
diff --git a/hw/piix4.c b/hw/piix4.c
index 0f5cd014e5..d750413a7e 100644
--- a/hw/piix4.c
+++ b/hw/piix4.c
@@ -23,9 +23,9 @@
*/
#include "hw/hw.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/pci/pci.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "hw/sysbus.h"
PCIDevice *piix4_dev;
diff --git a/hw/piix_pci.c b/hw/piix_pci.c
index 83fcfa497c..f9e68c3099 100644
--- a/hw/piix_pci.c
+++ b/hw/piix_pci.c
@@ -23,14 +23,14 @@
*/
#include "hw/hw.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/pci/pci.h"
#include "hw/pci/pci_host.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "hw/sysbus.h"
#include "qemu/range.h"
-#include "hw/xen.h"
-#include "hw/pam.h"
+#include "hw/xen/xen.h"
+#include "hw/pci-host/pam.h"
#include "sysemu/sysemu.h"
/*
diff --git a/hw/pl050.c b/hw/pl050.c
index 76735a0eda..7dd8a59dd4 100644
--- a/hw/pl050.c
+++ b/hw/pl050.c
@@ -8,7 +8,7 @@
*/
#include "hw/sysbus.h"
-#include "hw/ps2.h"
+#include "hw/input/ps2.h"
typedef struct {
SysBusDevice busdev;
diff --git a/hw/pl330.c b/hw/pl330.c
index 60aa4a8f9f..8b33138f30 100644
--- a/hw/pl330.c
+++ b/hw/pl330.c
@@ -14,7 +14,7 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
-#include "sysbus.h"
+#include "hw/sysbus.h"
#include "qemu/timer.h"
#include "sysemu/dma.h"
diff --git a/hw/pm_smbus.c b/hw/pm_smbus.c
index 790061065c..0b5bb89976 100644
--- a/hw/pm_smbus.c
+++ b/hw/pm_smbus.c
@@ -18,9 +18,9 @@
* <http://www.gnu.org/licenses/>.
*/
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/pm_smbus.h"
-#include "hw/smbus.h"
+#include "hw/i386/pc.h"
+#include "hw/i2c/pm_smbus.h"
+#include "hw/i2c/smbus.h"
/* no save/load? */
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index fef9c5d842..c1bdb6be98 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -21,21 +21,21 @@
#include "net/net.h"
#include "qemu/config-file.h"
#include "hw/hw.h"
-#include "hw/serial.h"
+#include "hw/char/serial.h"
#include "hw/pci/pci.h"
#include "hw/boards.h"
#include "sysemu/sysemu.h"
#include "sysemu/kvm.h"
#include "kvm_ppc.h"
#include "sysemu/device_tree.h"
-#include "hw/openpic.h"
-#include "hw/ppc.h"
+#include "hw/ppc/openpic.h"
+#include "hw/ppc/ppc.h"
#include "hw/loader.h"
#include "elf.h"
#include "hw/sysbus.h"
#include "exec/address-spaces.h"
#include "qemu/host-utils.h"
-#include "hw/ppce500_pci.h"
+#include "hw/pci-host/ppce500.h"
#define BINARY_DEVICE_TREE_FILE "mpc8544ds.dtb"
#define UIMAGE_LOAD_BASE 0
diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
index 4b3057528c..7292ce1290 100644
--- a/hw/ppc/e500plat.c
+++ b/hw/ppc/e500plat.c
@@ -15,7 +15,7 @@
#include "hw/boards.h"
#include "sysemu/device_tree.h"
#include "hw/pci/pci.h"
-#include "hw/openpic.h"
+#include "hw/ppc/openpic.h"
static void e500plat_fixup_devtree(PPCE500Params *params, void *fdt)
{
diff --git a/hw/ppc/mac.h b/hw/ppc/mac.h
index b17107b797..54efaed627 100644
--- a/hw/ppc/mac.h
+++ b/hw/ppc/mac.h
@@ -28,7 +28,7 @@
#include "exec/memory.h"
#include "hw/sysbus.h"
#include "hw/ide/internal.h"
-#include "hw/adb.h"
+#include "hw/input/adb.h"
/* SMP is not enabled, for now */
#define MAX_CPUS 1
diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c
index a08a6b2086..4a9b8837e3 100644
--- a/hw/ppc/mac_newworld.c
+++ b/hw/ppc/mac_newworld.c
@@ -47,18 +47,18 @@
*
*/
#include "hw/hw.h"
-#include "hw/ppc.h"
+#include "hw/ppc/ppc.h"
#include "hw/ppc/mac.h"
-#include "hw/adb.h"
-#include "hw/mac_dbdma.h"
-#include "hw/nvram.h"
+#include "hw/input/adb.h"
+#include "hw/ppc/mac_dbdma.h"
+#include "hw/timer/m48t59.h"
#include "hw/pci/pci.h"
#include "net/net.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
-#include "hw/fw_cfg.h"
-#include "hw/escc.h"
-#include "hw/openpic.h"
+#include "hw/nvram/fw_cfg.h"
+#include "hw/char/escc.h"
+#include "hw/ppc/openpic.h"
#include "hw/ide.h"
#include "hw/loader.h"
#include "elf.h"
diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c
index 2778e45879..3acca94432 100644
--- a/hw/ppc/mac_oldworld.c
+++ b/hw/ppc/mac_oldworld.c
@@ -24,17 +24,17 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/ppc.h"
+#include "hw/ppc/ppc.h"
#include "mac.h"
-#include "hw/adb.h"
-#include "hw/nvram.h"
+#include "hw/input/adb.h"
+#include "hw/timer/m48t59.h"
#include "sysemu/sysemu.h"
#include "net/net.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "hw/pci/pci.h"
#include "hw/boards.h"
-#include "hw/fw_cfg.h"
-#include "hw/escc.h"
+#include "hw/nvram/fw_cfg.h"
+#include "hw/char/escc.h"
#include "hw/ide.h"
#include "hw/loader.h"
#include "elf.h"
diff --git a/hw/ppc/mpc8544ds.c b/hw/ppc/mpc8544ds.c
index cf29788c4d..444da0246d 100644
--- a/hw/ppc/mpc8544ds.c
+++ b/hw/ppc/mpc8544ds.c
@@ -14,7 +14,7 @@
#include "e500.h"
#include "hw/boards.h"
#include "sysemu/device_tree.h"
-#include "hw/openpic.h"
+#include "hw/ppc/openpic.h"
static void mpc8544ds_fixup_devtree(PPCE500Params *params, void *fdt)
{
diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
index 85bc821d94..fb57b42ea0 100644
--- a/hw/ppc/ppc.c
+++ b/hw/ppc/ppc.c
@@ -22,10 +22,10 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/ppc.h"
+#include "hw/ppc/ppc.h"
#include "qemu/timer.h"
#include "sysemu/sysemu.h"
-#include "hw/nvram.h"
+#include "hw/timer/m48t59.h"
#include "qemu/log.h"
#include "hw/loader.h"
#include "sysemu/kvm.h"
diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c
index ba443cf8ef..18a29dbc66 100644
--- a/hw/ppc/ppc405_boards.c
+++ b/hw/ppc/ppc405_boards.c
@@ -22,10 +22,10 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/ppc.h"
+#include "hw/ppc/ppc.h"
#include "hw/ppc405.h"
-#include "hw/nvram.h"
-#include "hw/flash.h"
+#include "hw/timer/m48t59.h"
+#include "hw/block/flash.h"
#include "sysemu/sysemu.h"
#include "block/block.h"
#include "hw/boards.h"
diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c
index 56bae8f6e0..82b8956ea8 100644
--- a/hw/ppc/ppc405_uc.c
+++ b/hw/ppc/ppc405_uc.c
@@ -22,9 +22,9 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/ppc.h"
+#include "hw/ppc/ppc.h"
#include "hw/ppc405.h"
-#include "hw/serial.h"
+#include "hw/char/serial.h"
#include "qemu/timer.h"
#include "sysemu/sysemu.h"
#include "qemu/log.h"
diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c
index 66911b58c6..48a02183d4 100644
--- a/hw/ppc/ppc440_bamboo.c
+++ b/hw/ppc/ppc440_bamboo.c
@@ -23,8 +23,8 @@
#include "hw/loader.h"
#include "elf.h"
#include "exec/address-spaces.h"
-#include "hw/serial.h"
-#include "hw/ppc.h"
+#include "hw/char/serial.h"
+#include "hw/ppc/ppc.h"
#include "hw/ppc405.h"
#include "sysemu/sysemu.h"
#include "hw/sysbus.h"
diff --git a/hw/ppc/ppc4xx_devs.c b/hw/ppc/ppc4xx_devs.c
index 49ec728a7b..d8e3dae25c 100644
--- a/hw/ppc/ppc4xx_devs.c
+++ b/hw/ppc/ppc4xx_devs.c
@@ -22,8 +22,8 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/ppc.h"
-#include "hw/ppc4xx.h"
+#include "hw/ppc/ppc.h"
+#include "hw/ppc/ppc4xx.h"
#include "qemu/log.h"
#include "exec/address-spaces.h"
diff --git a/hw/ppc/ppc_booke.c b/hw/ppc/ppc_booke.c
index 30375c0c41..585f53b912 100644
--- a/hw/ppc/ppc_booke.c
+++ b/hw/ppc/ppc_booke.c
@@ -22,10 +22,10 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/ppc.h"
+#include "hw/ppc/ppc.h"
#include "qemu/timer.h"
#include "sysemu/sysemu.h"
-#include "hw/nvram.h"
+#include "hw/timer/m48t59.h"
#include "qemu/log.h"
#include "hw/loader.h"
diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
index 292091180d..cceab3ead9 100644
--- a/hw/ppc/prep.c
+++ b/hw/ppc/prep.c
@@ -22,22 +22,22 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/nvram.h"
-#include "hw/pc.h"
-#include "hw/serial.h"
-#include "hw/fdc.h"
+#include "hw/timer/m48t59.h"
+#include "hw/i386/pc.h"
+#include "hw/char/serial.h"
+#include "hw/block/fdc.h"
#include "net/net.h"
#include "sysemu/sysemu.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "hw/pci/pci.h"
#include "hw/pci/pci_host.h"
-#include "hw/ppc.h"
+#include "hw/ppc/ppc.h"
#include "hw/boards.h"
#include "qemu/log.h"
#include "hw/ide.h"
#include "hw/loader.h"
-#include "hw/mc146818rtc.h"
-#include "hw/pc87312.h"
+#include "hw/timer/mc146818rtc.h"
+#include "hw/isa/pc87312.h"
#include "sysemu/blockdev.h"
#include "sysemu/arch_init.h"
#include "exec/address-spaces.h"
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 7b2a11fbe4..7a425011da 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -34,13 +34,13 @@
#include "kvm_ppc.h"
#include "hw/boards.h"
-#include "hw/ppc.h"
+#include "hw/ppc/ppc.h"
#include "hw/loader.h"
-#include "hw/spapr.h"
-#include "hw/spapr_vio.h"
-#include "hw/spapr_pci.h"
-#include "hw/xics.h"
+#include "hw/ppc/spapr.h"
+#include "hw/ppc/spapr_vio.h"
+#include "hw/pci-host/spapr.h"
+#include "hw/ppc/xics.h"
#include "hw/pci/msi.h"
#include "sysemu/kvm.h"
diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c
index ce78f0922e..ff87ac31d1 100644
--- a/hw/ppc/spapr_events.c
+++ b/hw/ppc/spapr_events.c
@@ -30,8 +30,8 @@
#include "hw/qdev.h"
#include "sysemu/device_tree.h"
-#include "hw/spapr.h"
-#include "hw/spapr_vio.h"
+#include "hw/ppc/spapr.h"
+#include "hw/ppc/spapr_vio.h"
#include <libfdt.h>
diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
index 22cfb7e674..f518aee216 100644
--- a/hw/ppc/spapr_hcall.c
+++ b/hw/ppc/spapr_hcall.c
@@ -2,7 +2,7 @@
#include "cpu.h"
#include "sysemu/sysemu.h"
#include "helper_regs.h"
-#include "hw/spapr.h"
+#include "hw/ppc/spapr.h"
#include "mmu-hash64.h"
static target_ulong compute_tlbie_rb(target_ulong v, target_ulong r,
diff --git a/hw/ppc/spapr_iommu.c b/hw/ppc/spapr_iommu.c
index 8d500bf6be..d2782cfb39 100644
--- a/hw/ppc/spapr_iommu.c
+++ b/hw/ppc/spapr_iommu.c
@@ -23,7 +23,7 @@
#include "sysemu/dma.h"
#include "exec/address-spaces.h"
-#include "hw/spapr.h"
+#include "hw/ppc/spapr.h"
#include <libfdt.h>
diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c
index a24e853d4d..b71b59c5cf 100644
--- a/hw/ppc/spapr_rtas.c
+++ b/hw/ppc/spapr_rtas.c
@@ -30,8 +30,8 @@
#include "hw/qdev.h"
#include "sysemu/device_tree.h"
-#include "hw/spapr.h"
-#include "hw/spapr_vio.h"
+#include "hw/ppc/spapr.h"
+#include "hw/ppc/spapr_vio.h"
#include <libfdt.h>
diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c
index 6eb3ab5482..4dbc31541b 100644
--- a/hw/ppc/spapr_vio.c
+++ b/hw/ppc/spapr_vio.c
@@ -30,9 +30,9 @@
#include "sysemu/device_tree.h"
#include "kvm_ppc.h"
-#include "hw/spapr.h"
-#include "hw/spapr_vio.h"
-#include "hw/xics.h"
+#include "hw/ppc/spapr.h"
+#include "hw/ppc/spapr_vio.h"
+#include "hw/ppc/xics.h"
#ifdef CONFIG_FDT
#include <libfdt.h>
diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
index 41eab1697c..db52649208 100644
--- a/hw/ppc/virtex_ml507.c
+++ b/hw/ppc/virtex_ml507.c
@@ -24,10 +24,10 @@
#include "hw/sysbus.h"
#include "hw/hw.h"
-#include "hw/serial.h"
-#include "hw/flash.h"
+#include "hw/char/serial.h"
+#include "hw/block/flash.h"
#include "sysemu/sysemu.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#include "hw/boards.h"
#include "sysemu/device_tree.h"
#include "hw/loader.h"
@@ -35,8 +35,8 @@
#include "qemu/log.h"
#include "exec/address-spaces.h"
-#include "hw/ppc.h"
-#include "hw/ppc4xx.h"
+#include "hw/ppc/ppc.h"
+#include "hw/ppc/ppc4xx.h"
#include "hw/ppc405.h"
#include "sysemu/blockdev.h"
diff --git a/hw/ppc/xics.c b/hw/ppc/xics.c
index 374da5bbfd..8e1e85edfd 100644
--- a/hw/ppc/xics.c
+++ b/hw/ppc/xics.c
@@ -27,8 +27,8 @@
#include "hw/hw.h"
#include "trace.h"
-#include "hw/spapr.h"
-#include "hw/xics.h"
+#include "hw/ppc/spapr.h"
+#include "hw/ppc/xics.h"
/*
* ICP: Presentation layer
diff --git a/hw/ppc405.h b/hw/ppc405.h
index 45c2159aa6..1c5f04fae1 100644
--- a/hw/ppc405.h
+++ b/hw/ppc405.h
@@ -25,7 +25,7 @@
#if !defined(PPC_405_H)
#define PPC_405_H
-#include "hw/ppc4xx.h"
+#include "hw/ppc/ppc4xx.h"
/* Bootinfo as set-up by u-boot */
typedef struct ppc4xx_bd_info_t ppc4xx_bd_info_t;
diff --git a/hw/ppc4xx_pci.c b/hw/ppc4xx_pci.c
index 854e17048f..599539bc1d 100644
--- a/hw/ppc4xx_pci.c
+++ b/hw/ppc4xx_pci.c
@@ -20,8 +20,8 @@
* 4xx SoCs, such as the 440EP. */
#include "hw/hw.h"
-#include "hw/ppc.h"
-#include "hw/ppc4xx.h"
+#include "hw/ppc/ppc.h"
+#include "hw/ppc/ppc4xx.h"
#include "hw/pci/pci.h"
#include "hw/pci/pci_host.h"
#include "exec/address-spaces.h"
diff --git a/hw/ppce500_pci.c b/hw/ppce500_pci.c
index abc7ebe1bf..5e7ad94388 100644
--- a/hw/ppce500_pci.c
+++ b/hw/ppce500_pci.c
@@ -19,7 +19,7 @@
#include "hw/pci/pci.h"
#include "hw/pci/pci_host.h"
#include "qemu/bswap.h"
-#include "hw/ppce500_pci.h"
+#include "hw/pci-host/ppce500.h"
#ifdef DEBUG_PCI
#define pci_debug(fmt, ...) fprintf(stderr, fmt, ## __VA_ARGS__)
diff --git a/hw/prep_pci.c b/hw/prep_pci.c
index 58df2452cd..61302539ab 100644
--- a/hw/prep_pci.c
+++ b/hw/prep_pci.c
@@ -27,7 +27,7 @@
#include "hw/pci/pci.h"
#include "hw/pci/pci_bus.h"
#include "hw/pci/pci_host.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "exec/address-spaces.h"
#define TYPE_RAVEN_PCI_DEVICE "raven"
diff --git a/hw/ps2.c b/hw/ps2.c
index 233a087a5e..34120796b1 100644
--- a/hw/ps2.c
+++ b/hw/ps2.c
@@ -22,7 +22,7 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/ps2.h"
+#include "hw/input/ps2.h"
#include "ui/console.h"
#include "sysemu/sysemu.h"
diff --git a/hw/puv3_dma.c b/hw/puv3_dma.c
index c05a14ea16..32844b5f75 100644
--- a/hw/puv3_dma.c
+++ b/hw/puv3_dma.c
@@ -12,7 +12,7 @@
#include "hw/sysbus.h"
#undef DEBUG_PUV3
-#include "hw/puv3.h"
+#include "hw/unicore32/puv3.h"
#define PUV3_DMA_CH_NR (6)
#define PUV3_DMA_CH_MASK (0xff)
diff --git a/hw/puv3_gpio.c b/hw/puv3_gpio.c
index b2a790b683..5bab97e95a 100644
--- a/hw/puv3_gpio.c
+++ b/hw/puv3_gpio.c
@@ -12,7 +12,7 @@
#include "hw/sysbus.h"
#undef DEBUG_PUV3
-#include "hw/puv3.h"
+#include "hw/unicore32/puv3.h"
typedef struct {
SysBusDevice busdev;
diff --git a/hw/puv3_intc.c b/hw/puv3_intc.c
index 6bc9e1a752..0cd5e9eae0 100644
--- a/hw/puv3_intc.c
+++ b/hw/puv3_intc.c
@@ -11,7 +11,7 @@
#include "hw/sysbus.h"
#undef DEBUG_PUV3
-#include "hw/puv3.h"
+#include "hw/unicore32/puv3.h"
typedef struct {
SysBusDevice busdev;
diff --git a/hw/puv3_ost.c b/hw/puv3_ost.c
index 10a522adbb..0c3d827978 100644
--- a/hw/puv3_ost.c
+++ b/hw/puv3_ost.c
@@ -12,7 +12,7 @@
#include "hw/ptimer.h"
#undef DEBUG_PUV3
-#include "hw/puv3.h"
+#include "hw/unicore32/puv3.h"
/* puv3 ostimer implementation. */
typedef struct {
diff --git a/hw/puv3_pm.c b/hw/puv3_pm.c
index 6b8d94dd07..0aacdc2fce 100644
--- a/hw/puv3_pm.c
+++ b/hw/puv3_pm.c
@@ -12,7 +12,7 @@
#include "hw/sysbus.h"
#undef DEBUG_PUV3
-#include "hw/puv3.h"
+#include "hw/unicore32/puv3.h"
typedef struct {
SysBusDevice busdev;
diff --git a/hw/pxa2xx_dma.c b/hw/pxa2xx_dma.c
index 1db21c99ab..6e4c1f6d62 100644
--- a/hw/pxa2xx_dma.c
+++ b/hw/pxa2xx_dma.c
@@ -9,7 +9,7 @@
*/
#include "hw/hw.h"
-#include "hw/pxa.h"
+#include "hw/arm/pxa.h"
#include "hw/sysbus.h"
#define PXA255_DMA_NUM_CHANNELS 16
diff --git a/hw/pxa2xx_keypad.c b/hw/pxa2xx_keypad.c
index 32ea7a5d34..1fd5f2076a 100644
--- a/hw/pxa2xx_keypad.c
+++ b/hw/pxa2xx_keypad.c
@@ -12,7 +12,7 @@
*/
#include "hw/hw.h"
-#include "hw/pxa.h"
+#include "hw/arm/pxa.h"
#include "ui/console.h"
/*
diff --git a/hw/pxa2xx_lcd.c b/hw/pxa2xx_lcd.c
index f2b0c93661..ee59bc2de3 100644
--- a/hw/pxa2xx_lcd.c
+++ b/hw/pxa2xx_lcd.c
@@ -12,7 +12,7 @@
#include "hw/hw.h"
#include "ui/console.h"
-#include "hw/pxa.h"
+#include "hw/arm/pxa.h"
#include "ui/pixel_ops.h"
/* FIXME: For graphic_rotate. Should probably be done in common code. */
#include "sysemu/sysemu.h"
diff --git a/hw/pxa2xx_mmci.c b/hw/pxa2xx_mmci.c
index 0df83cc1df..2db1cabb7a 100644
--- a/hw/pxa2xx_mmci.c
+++ b/hw/pxa2xx_mmci.c
@@ -11,7 +11,7 @@
*/
#include "hw/hw.h"
-#include "hw/pxa.h"
+#include "hw/arm/pxa.h"
#include "hw/sd.h"
#include "hw/qdev.h"
diff --git a/hw/pxa2xx_pcmcia.c b/hw/pxa2xx_pcmcia.c
index 66fefba58c..323d458491 100644
--- a/hw/pxa2xx_pcmcia.c
+++ b/hw/pxa2xx_pcmcia.c
@@ -12,7 +12,7 @@
#include "hw/hw.h"
#include "hw/pcmcia.h"
-#include "hw/pxa.h"
+#include "hw/arm/pxa.h"
struct PXA2xxPCMCIAState {
diff --git a/hw/pxa2xx_timer.c b/hw/pxa2xx_timer.c
index c173fe4c11..8ea2416dd7 100644
--- a/hw/pxa2xx_timer.c
+++ b/hw/pxa2xx_timer.c
@@ -10,7 +10,7 @@
#include "hw/hw.h"
#include "qemu/timer.h"
#include "sysemu/sysemu.h"
-#include "hw/pxa.h"
+#include "hw/arm/pxa.h"
#include "hw/sysbus.h"
#define OSMR0 0x00
diff --git a/hw/q35.c b/hw/q35.c
index 6ea081aaa3..8467f86450 100644
--- a/hw/q35.c
+++ b/hw/q35.c
@@ -28,7 +28,7 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/q35.h"
+#include "hw/pci-host/q35.h"
/****************************************************************************
* Q35 host
diff --git a/hw/qdev-properties-system.c b/hw/qdev-properties-system.c
index a22b155b6f..8c2e15205c 100644
--- a/hw/qdev-properties-system.c
+++ b/hw/qdev-properties-system.c
@@ -14,7 +14,7 @@
#include "hw/qdev.h"
#include "qapi/qmp/qerror.h"
#include "sysemu/blockdev.h"
-#include "hw/block-common.h"
+#include "hw/block/block.h"
#include "net/hub.h"
#include "qapi/visitor.h"
#include "char/char.h"
diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c
index 168c4663e9..9a0872d3b9 100644
--- a/hw/qdev-properties.c
+++ b/hw/qdev-properties.c
@@ -2,7 +2,7 @@
#include "hw/qdev.h"
#include "qapi/qmp/qerror.h"
#include "sysemu/blockdev.h"
-#include "hw/block-common.h"
+#include "hw/block/block.h"
#include "net/hub.h"
#include "qapi/visitor.h"
#include "char/char.h"
diff --git a/hw/rc4030.c b/hw/rc4030.c
index b065515e67..03f92f1ab6 100644
--- a/hw/rc4030.c
+++ b/hw/rc4030.c
@@ -23,7 +23,7 @@
*/
#include "hw/hw.h"
-#include "hw/mips.h"
+#include "hw/mips/mips.h"
#include "qemu/timer.h"
/********************************************************/
diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
index 8c529c14d0..ddf15a21d3 100644
--- a/hw/s390x/s390-virtio-bus.c
+++ b/hw/s390x/s390-virtio-bus.c
@@ -24,15 +24,15 @@
#include "monitor/monitor.h"
#include "hw/loader.h"
#include "elf.h"
-#include "hw/virtio.h"
-#include "hw/virtio-rng.h"
-#include "hw/virtio-serial.h"
-#include "hw/virtio-net.h"
+#include "hw/virtio/virtio.h"
+#include "hw/virtio/virtio-rng.h"
+#include "hw/virtio/virtio-serial.h"
+#include "hw/virtio/virtio-net.h"
#include "hw/sysbus.h"
#include "sysemu/kvm.h"
#include "hw/s390x/s390-virtio-bus.h"
-#include "hw/virtio-bus.h"
+#include "hw/virtio/virtio-bus.h"
/* #define DEBUG_S390 */
diff --git a/hw/s390x/s390-virtio-bus.h b/hw/s390x/s390-virtio-bus.h
index ebe8794204..c557132166 100644
--- a/hw/s390x/s390-virtio-bus.h
+++ b/hw/s390x/s390-virtio-bus.h
@@ -19,12 +19,12 @@
#ifndef HW_S390_VIRTIO_BUS_H
#define HW_S390_VIRTIO_BUS_H 1
-#include "hw/virtio-blk.h"
-#include "hw/virtio-net.h"
-#include "hw/virtio-rng.h"
-#include "hw/virtio-serial.h"
-#include "hw/virtio-scsi.h"
-#include "hw/virtio-bus.h"
+#include "hw/virtio/virtio-blk.h"
+#include "hw/virtio/virtio-net.h"
+#include "hw/virtio/virtio-rng.h"
+#include "hw/virtio/virtio-serial.h"
+#include "hw/virtio/virtio-scsi.h"
+#include "hw/virtio/virtio-bus.h"
#define VIRTIO_DEV_OFFS_TYPE 0 /* 8 bits */
#define VIRTIO_DEV_OFFS_NUM_VQ 1 /* 8 bits */
diff --git a/hw/s390x/s390-virtio.c b/hw/s390x/s390-virtio.c
index ca275bd9d7..f82c0e1964 100644
--- a/hw/s390x/s390-virtio.c
+++ b/hw/s390x/s390-virtio.c
@@ -29,7 +29,7 @@
#include "hw/boards.h"
#include "monitor/monitor.h"
#include "hw/loader.h"
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "hw/sysbus.h"
#include "sysemu/kvm.h"
#include "exec/address-spaces.h"
diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
index 5dce791406..4dec0cd861 100644
--- a/hw/s390x/virtio-ccw.c
+++ b/hw/s390x/virtio-ccw.c
@@ -15,12 +15,12 @@
#include "sysemu/sysemu.h"
#include "net/net.h"
#include "monitor/monitor.h"
-#include "hw/virtio.h"
-#include "hw/virtio-serial.h"
-#include "hw/virtio-net.h"
+#include "hw/virtio/virtio.h"
+#include "hw/virtio/virtio-serial.h"
+#include "hw/virtio/virtio-net.h"
#include "hw/sysbus.h"
#include "qemu/bitops.h"
-#include "hw/virtio-bus.h"
+#include "hw/virtio/virtio-bus.h"
#include "ioinst.h"
#include "css.h"
diff --git a/hw/s390x/virtio-ccw.h b/hw/s390x/virtio-ccw.h
index d580510283..46e9a558af 100644
--- a/hw/s390x/virtio-ccw.h
+++ b/hw/s390x/virtio-ccw.h
@@ -12,13 +12,13 @@
#ifndef HW_S390X_VIRTIO_CCW_H
#define HW_S390X_VIRTIO_CCW_H
-#include <hw/virtio-blk.h>
-#include <hw/virtio-net.h>
-#include <hw/virtio-serial.h>
-#include <hw/virtio-scsi.h>
-#include "hw/virtio-balloon.h"
-#include <hw/virtio-rng.h>
-#include <hw/virtio-bus.h>
+#include <hw/virtio/virtio-blk.h>
+#include <hw/virtio/virtio-net.h>
+#include <hw/virtio/virtio-serial.h>
+#include <hw/virtio/virtio-scsi.h>
+#include <hw/virtio/virtio-balloon.h>
+#include <hw/virtio/virtio-rng.h>
+#include <hw/virtio/virtio-bus.h>
#define VIRTUAL_CSSID 0xfe
diff --git a/hw/sb16.c b/hw/sb16.c
index bd51cebfd8..783b6b4351 100644
--- a/hw/sb16.c
+++ b/hw/sb16.c
@@ -22,9 +22,9 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/audiodev.h"
+#include "hw/audio/audio.h"
#include "audio/audio.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "hw/qdev.h"
#include "qemu/timer.h"
#include "qemu/host-utils.h"
diff --git a/hw/scsi-bus.c b/hw/scsi-bus.c
index ac2093a5ef..6239ee1465 100644
--- a/hw/scsi-bus.c
+++ b/hw/scsi-bus.c
@@ -1,7 +1,7 @@
#include "hw/hw.h"
#include "qemu/error-report.h"
-#include "hw/scsi.h"
-#include "hw/scsi-defs.h"
+#include "hw/scsi/scsi.h"
+#include "block/scsi.h"
#include "hw/qdev.h"
#include "sysemu/blockdev.h"
#include "trace.h"
diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
index c5c7bf3dfa..f52bd11d42 100644
--- a/hw/scsi-disk.c
+++ b/hw/scsi-disk.c
@@ -30,11 +30,11 @@ do { printf("scsi-disk: " fmt , ## __VA_ARGS__); } while (0)
#include "qemu-common.h"
#include "qemu/error-report.h"
-#include "hw/scsi.h"
-#include "hw/scsi-defs.h"
+#include "hw/scsi/scsi.h"
+#include "block/scsi.h"
#include "sysemu/sysemu.h"
#include "sysemu/blockdev.h"
-#include "hw/block-common.h"
+#include "hw/block/block.h"
#include "sysemu/dma.h"
#ifdef __linux
diff --git a/hw/scsi-generic.c b/hw/scsi-generic.c
index 4d04caccce..2a9a561127 100644
--- a/hw/scsi-generic.c
+++ b/hw/scsi-generic.c
@@ -13,7 +13,7 @@
#include "qemu-common.h"
#include "qemu/error-report.h"
-#include "hw/scsi.h"
+#include "hw/scsi/scsi.h"
#include "sysemu/blockdev.h"
#ifdef __linux__
@@ -35,7 +35,7 @@ do { fprintf(stderr, "scsi-generic: " fmt , ## __VA_ARGS__); } while (0)
#include <sys/stat.h>
#include <unistd.h>
#include <scsi/sg.h>
-#include "hw/scsi-defs.h"
+#include "block/scsi.h"
#define SCSI_SENSE_BUF_SIZE 96
diff --git a/hw/serial-isa.c b/hw/serial-isa.c
index a630a7d506..ed140d04a6 100644
--- a/hw/serial-isa.c
+++ b/hw/serial-isa.c
@@ -23,8 +23,8 @@
* THE SOFTWARE.
*/
-#include "hw/serial.h"
-#include "hw/isa.h"
+#include "hw/char/serial.h"
+#include "hw/isa/isa.h"
typedef struct ISASerialState {
ISADevice dev;
diff --git a/hw/serial-pci.c b/hw/serial-pci.c
index 954657ba32..2138e35851 100644
--- a/hw/serial-pci.c
+++ b/hw/serial-pci.c
@@ -25,7 +25,7 @@
/* see docs/specs/pci-serial.txt */
-#include "hw/serial.h"
+#include "hw/char/serial.h"
#include "hw/pci/pci.h"
#define PCI_SERIAL_MAX_PORTS 4
diff --git a/hw/serial.c b/hw/serial.c
index 0ccc499285..1151bf1bab 100644
--- a/hw/serial.c
+++ b/hw/serial.c
@@ -23,7 +23,7 @@
* THE SOFTWARE.
*/
-#include "hw/serial.h"
+#include "hw/char/serial.h"
#include "char/char.h"
#include "qemu/timer.h"
#include "exec/address-spaces.h"
diff --git a/hw/sga.c b/hw/sga.c
index 4b1d4e5369..5cf4b86c4f 100644
--- a/hw/sga.c
+++ b/hw/sga.c
@@ -25,7 +25,7 @@
*
*/
#include "hw/pci/pci.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/loader.h"
#include "sysemu/sysemu.h"
diff --git a/hw/sh4/r2d.c b/hw/sh4/r2d.c
index faa03d2069..bcc326a1e0 100644
--- a/hw/sh4/r2d.c
+++ b/hw/sh4/r2d.c
@@ -25,8 +25,8 @@
#include "hw/sysbus.h"
#include "hw/hw.h"
-#include "hw/sh.h"
-#include "hw/devices.h"
+#include "hw/sh4/sh.h"
+#include "hw/arm/devices.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
#include "hw/pci/pci.h"
@@ -35,7 +35,7 @@
#include "hw/ide.h"
#include "hw/loader.h"
#include "hw/usb.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "sysemu/blockdev.h"
#include "exec/address-spaces.h"
diff --git a/hw/sh4/sh7750.c b/hw/sh4/sh7750.c
index e4d37ad6ac..d72708ee27 100644
--- a/hw/sh4/sh7750.c
+++ b/hw/sh4/sh7750.c
@@ -24,11 +24,11 @@
*/
#include <stdio.h>
#include "hw/hw.h"
-#include "hw/sh.h"
+#include "hw/sh4/sh.h"
#include "sysemu/sysemu.h"
#include "hw/sh7750_regs.h"
#include "hw/sh7750_regnames.h"
-#include "hw/sh_intc.h"
+#include "hw/sh4/sh_intc.h"
#include "cpu.h"
#include "exec/address-spaces.h"
diff --git a/hw/sh4/sh7750_regnames.c b/hw/sh4/sh7750_regnames.c
index 389698d24a..7a3cdf3248 100644
--- a/hw/sh4/sh7750_regnames.c
+++ b/hw/sh4/sh7750_regnames.c
@@ -1,5 +1,5 @@
#include "hw/hw.h"
-#include "hw/sh.h"
+#include "hw/sh4/sh.h"
#include "hw/sh7750_regs.h"
#include "hw/sh7750_regnames.h"
diff --git a/hw/sh4/shix.c b/hw/sh4/shix.c
index 192579d065..c23d4afb10 100644
--- a/hw/sh4/shix.c
+++ b/hw/sh4/shix.c
@@ -28,7 +28,7 @@
More information in target-sh4/README.sh4
*/
#include "hw/hw.h"
-#include "hw/sh.h"
+#include "hw/sh4/sh.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
#include "hw/loader.h"
diff --git a/hw/sh_intc.c b/hw/sh_intc.c
index 29e3d8f127..050bfb63ce 100644
--- a/hw/sh_intc.c
+++ b/hw/sh_intc.c
@@ -8,9 +8,9 @@
* This code is licensed under the GPL.
*/
-#include "hw/sh_intc.h"
+#include "hw/sh4/sh_intc.h"
#include "hw/hw.h"
-#include "hw/sh.h"
+#include "hw/sh4/sh.h"
//#define DEBUG_INTC
//#define DEBUG_INTC_SOURCES
diff --git a/hw/sh_pci.c b/hw/sh_pci.c
index e3e7550ae7..d213a90580 100644
--- a/hw/sh_pci.c
+++ b/hw/sh_pci.c
@@ -22,7 +22,7 @@
* THE SOFTWARE.
*/
#include "hw/sysbus.h"
-#include "hw/sh.h"
+#include "hw/sh4/sh.h"
#include "hw/pci/pci.h"
#include "hw/pci/pci_host.h"
#include "qemu/bswap.h"
diff --git a/hw/sh_serial.c b/hw/sh_serial.c
index 462969557c..450c7d8551 100644
--- a/hw/sh_serial.c
+++ b/hw/sh_serial.c
@@ -25,7 +25,7 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/sh.h"
+#include "hw/sh4/sh.h"
#include "char/char.h"
#include "exec/address-spaces.h"
diff --git a/hw/sh_timer.c b/hw/sh_timer.c
index b4503230a9..f92ff4f73f 100644
--- a/hw/sh_timer.c
+++ b/hw/sh_timer.c
@@ -9,7 +9,7 @@
*/
#include "hw/hw.h"
-#include "hw/sh.h"
+#include "hw/sh4/sh.h"
#include "qemu/timer.h"
#include "exec/address-spaces.h"
#include "hw/ptimer.h"
diff --git a/hw/slavio_intctl.c b/hw/slavio_intctl.c
index b60592b35d..b367752fd3 100644
--- a/hw/slavio_intctl.c
+++ b/hw/slavio_intctl.c
@@ -22,7 +22,7 @@
* THE SOFTWARE.
*/
-#include "hw/sun4m.h"
+#include "hw/sparc/sun4m.h"
#include "monitor/monitor.h"
#include "hw/sysbus.h"
#include "trace.h"
diff --git a/hw/slavio_timer.c b/hw/slavio_timer.c
index 83f22a0366..1145a87603 100644
--- a/hw/slavio_timer.c
+++ b/hw/slavio_timer.c
@@ -22,7 +22,7 @@
* THE SOFTWARE.
*/
-#include "hw/sun4m.h"
+#include "hw/sparc/sun4m.h"
#include "qemu/timer.h"
#include "hw/ptimer.h"
#include "hw/sysbus.h"
diff --git a/hw/sm501.c b/hw/sm501.c
index 93a06c90b9..d9fcead719 100644
--- a/hw/sm501.c
+++ b/hw/sm501.c
@@ -24,9 +24,9 @@
#include <stdio.h>
#include "hw/hw.h"
-#include "hw/serial.h"
+#include "hw/char/serial.h"
#include "ui/console.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#include "hw/sysbus.h"
#include "hw/qdev-addr.h"
#include "qemu/range.h"
diff --git a/hw/smbus.c b/hw/smbus.c
index 9626415bca..25d2d04163 100644
--- a/hw/smbus.c
+++ b/hw/smbus.c
@@ -10,8 +10,8 @@
/* TODO: Implement PEC. */
#include "hw/hw.h"
-#include "hw/i2c.h"
-#include "hw/smbus.h"
+#include "hw/i2c/i2c.h"
+#include "hw/i2c/smbus.h"
//#define DEBUG_SMBUS 1
diff --git a/hw/smbus_eeprom.c b/hw/smbus_eeprom.c
index dff8403d6c..0154283762 100644
--- a/hw/smbus_eeprom.c
+++ b/hw/smbus_eeprom.c
@@ -23,8 +23,8 @@
*/
#include "hw/hw.h"
-#include "hw/i2c.h"
-#include "hw/smbus.h"
+#include "hw/i2c/i2c.h"
+#include "hw/i2c/smbus.h"
//#define DEBUG
diff --git a/hw/smbus_ich9.c b/hw/smbus_ich9.c
index 732ebd3bb0..ca229789f4 100644
--- a/hw/smbus_ich9.c
+++ b/hw/smbus_ich9.c
@@ -25,14 +25,14 @@
*
*/
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/pm_smbus.h"
+#include "hw/i386/pc.h"
+#include "hw/i2c/pm_smbus.h"
#include "hw/pci/pci.h"
#include "sysemu/sysemu.h"
-#include "hw/i2c.h"
-#include "hw/smbus.h"
+#include "hw/i2c/i2c.h"
+#include "hw/i2c/smbus.h"
-#include "hw/ich9.h"
+#include "hw/i386/ich9.h"
#define TYPE_ICH9_SMB_DEVICE "ICH9 SMB"
#define ICH9_SMB_DEVICE(obj) \
diff --git a/hw/smc91c111.c b/hw/smc91c111.c
index c2feae6eb8..f659256d6e 100644
--- a/hw/smc91c111.c
+++ b/hw/smc91c111.c
@@ -9,7 +9,7 @@
#include "hw/sysbus.h"
#include "net/net.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
/* For crc32 */
#include <zlib.h>
diff --git a/hw/soc_dma.c b/hw/soc_dma.c
index db5d609388..5e3491d373 100644
--- a/hw/soc_dma.c
+++ b/hw/soc_dma.c
@@ -19,7 +19,7 @@
*/
#include "qemu-common.h"
#include "qemu/timer.h"
-#include "hw/soc_dma.h"
+#include "hw/arm/soc_dma.h"
static void transfer_mem2mem(struct soc_dma_ch_s *ch)
{
diff --git a/hw/spapr_llan.c b/hw/spapr_llan.c
index 19701e7e40..34332f2452 100644
--- a/hw/spapr_llan.c
+++ b/hw/spapr_llan.c
@@ -27,8 +27,8 @@
#include "hw/hw.h"
#include "net/net.h"
#include "hw/qdev.h"
-#include "hw/spapr.h"
-#include "hw/spapr_vio.h"
+#include "hw/ppc/spapr.h"
+#include "hw/ppc/spapr_vio.h"
#include <libfdt.h>
diff --git a/hw/spapr_nvram.c b/hw/spapr_nvram.c
index 680cdba928..0cc6cba0e3 100644
--- a/hw/spapr_nvram.c
+++ b/hw/spapr_nvram.c
@@ -26,8 +26,8 @@
#include "sysemu/device_tree.h"
#include "hw/sysbus.h"
-#include "hw/spapr.h"
-#include "hw/spapr_vio.h"
+#include "hw/ppc/spapr.h"
+#include "hw/ppc/spapr_vio.h"
typedef struct sPAPRNVRAM {
VIOsPAPRDevice sdev;
diff --git a/hw/spapr_pci.c b/hw/spapr_pci.c
index 3e0d8d12fb..62ff323f73 100644
--- a/hw/spapr_pci.c
+++ b/hw/spapr_pci.c
@@ -27,8 +27,8 @@
#include "hw/pci/msi.h"
#include "hw/pci/msix.h"
#include "hw/pci/pci_host.h"
-#include "hw/spapr.h"
-#include "hw/spapr_pci.h"
+#include "hw/ppc/spapr.h"
+#include "hw/pci-host/spapr.h"
#include "exec/address-spaces.h"
#include <libfdt.h>
#include "trace.h"
diff --git a/hw/spapr_vscsi.c b/hw/spapr_vscsi.c
index 27940949ce..e92b09a522 100644
--- a/hw/spapr_vscsi.c
+++ b/hw/spapr_vscsi.c
@@ -32,12 +32,12 @@
* - Maybe do autosense (PAPR seems to mandate it, linux doesn't care)
*/
#include "hw/hw.h"
-#include "hw/scsi.h"
-#include "hw/scsi-defs.h"
+#include "hw/scsi/scsi.h"
+#include "block/scsi.h"
#include "hw/srp.h"
#include "hw/qdev.h"
-#include "hw/spapr.h"
-#include "hw/spapr_vio.h"
+#include "hw/ppc/spapr.h"
+#include "hw/ppc/spapr_vio.h"
#include "hw/ppc-viosrp.h"
#include <libfdt.h>
diff --git a/hw/spapr_vty.c b/hw/spapr_vty.c
index be08571d23..9df018a230 100644
--- a/hw/spapr_vty.c
+++ b/hw/spapr_vty.c
@@ -1,7 +1,7 @@
#include "hw/qdev.h"
#include "char/char.h"
-#include "hw/spapr.h"
-#include "hw/spapr_vio.h"
+#include "hw/ppc/spapr.h"
+#include "hw/ppc/spapr_vio.h"
#define VTERM_BUFSIZE 16
diff --git a/hw/sparc/leon3.c b/hw/sparc/leon3.c
index bf06bf4b51..3b27d4019a 100644
--- a/hw/sparc/leon3.c
+++ b/hw/sparc/leon3.c
@@ -32,7 +32,7 @@
#include "trace.h"
#include "exec/address-spaces.h"
-#include "hw/grlib.h"
+#include "hw/sparc/grlib.h"
/* Default system clock. */
#define CPU_CLK (40 * 1000 * 1000)
diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
index 9ebda02aa1..31beb32885 100644
--- a/hw/sparc/sun4m.c
+++ b/hw/sparc/sun4m.c
@@ -23,19 +23,19 @@
*/
#include "hw/sysbus.h"
#include "qemu/timer.h"
-#include "hw/sun4m.h"
-#include "hw/nvram.h"
-#include "hw/sparc32_dma.h"
-#include "hw/fdc.h"
+#include "hw/sparc/sun4m.h"
+#include "hw/timer/m48t59.h"
+#include "hw/sparc/sparc32_dma.h"
+#include "hw/block/fdc.h"
#include "sysemu/sysemu.h"
#include "net/net.h"
#include "hw/boards.h"
-#include "hw/firmware_abi.h"
-#include "hw/esp.h"
-#include "hw/pc.h"
-#include "hw/isa.h"
-#include "hw/fw_cfg.h"
-#include "hw/escc.h"
+#include "hw/sparc/firmware_abi.h"
+#include "hw/scsi/esp.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/isa.h"
+#include "hw/nvram/fw_cfg.h"
+#include "hw/char/escc.h"
#include "hw/empty_slot.h"
#include "hw/qdev-addr.h"
#include "hw/loader.h"
diff --git a/hw/sparc32_dma.c b/hw/sparc32_dma.c
index 18e368ec98..fd21533f15 100644
--- a/hw/sparc32_dma.c
+++ b/hw/sparc32_dma.c
@@ -26,8 +26,8 @@
*/
#include "hw/hw.h"
-#include "hw/sparc32_dma.h"
-#include "hw/sun4m.h"
+#include "hw/sparc/sparc32_dma.h"
+#include "hw/sparc/sun4m.h"
#include "hw/sysbus.h"
#include "trace.h"
diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
index 4c39cf6607..0d29620094 100644
--- a/hw/sparc64/sun4u.c
+++ b/hw/sparc64/sun4u.c
@@ -23,17 +23,17 @@
*/
#include "hw/hw.h"
#include "hw/pci/pci.h"
-#include "hw/apb_pci.h"
-#include "hw/pc.h"
-#include "hw/serial.h"
-#include "hw/nvram.h"
-#include "hw/fdc.h"
+#include "hw/pci-host/apb.h"
+#include "hw/i386/pc.h"
+#include "hw/char/serial.h"
+#include "hw/timer/m48t59.h"
+#include "hw/block/fdc.h"
#include "net/net.h"
#include "qemu/timer.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
-#include "hw/firmware_abi.h"
-#include "hw/fw_cfg.h"
+#include "hw/sparc/firmware_abi.h"
+#include "hw/nvram/fw_cfg.h"
#include "hw/sysbus.h"
#include "hw/ide.h"
#include "hw/loader.h"
diff --git a/hw/ssd0303.c b/hw/ssd0303.c
index 68d1f24b06..183a87835c 100644
--- a/hw/ssd0303.c
+++ b/hw/ssd0303.c
@@ -10,7 +10,7 @@
/* The controller can support a variety of different displays, but we only
implement one. Most of the commends relating to brightness and geometry
setup are ignored. */
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
#include "ui/console.h"
//#define DEBUG_SSD0303 1
diff --git a/hw/stellaris_input.c b/hw/stellaris_input.c
index 4e407922a0..f83fc3f288 100644
--- a/hw/stellaris_input.c
+++ b/hw/stellaris_input.c
@@ -7,7 +7,7 @@
* This code is licensed under the GPL.
*/
#include "hw/hw.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#include "ui/console.h"
typedef struct {
diff --git a/hw/strongarm.c b/hw/strongarm.c
index 49f9577e32..0e5262d9f5 100644
--- a/hw/strongarm.c
+++ b/hw/strongarm.c
@@ -29,7 +29,7 @@
#include "hw/sysbus.h"
#include "hw/strongarm.h"
#include "qemu/error-report.h"
-#include "hw/arm-misc.h"
+#include "hw/arm.h"
#include "char/char.h"
#include "sysemu/sysemu.h"
#include "hw/ssi.h"
diff --git a/hw/sun4c_intctl.c b/hw/sun4c_intctl.c
index 9d443d1b10..1096375670 100644
--- a/hw/sun4c_intctl.c
+++ b/hw/sun4c_intctl.c
@@ -23,7 +23,7 @@
*/
#include "hw/hw.h"
-#include "hw/sun4m.h"
+#include "hw/sparc/sun4m.h"
#include "monitor/monitor.h"
#include "hw/sysbus.h"
diff --git a/hw/sun4m_iommu.c b/hw/sun4m_iommu.c
index 33e77b02a3..744b5846b1 100644
--- a/hw/sun4m_iommu.c
+++ b/hw/sun4m_iommu.c
@@ -22,7 +22,7 @@
* THE SOFTWARE.
*/
-#include "hw/sun4m.h"
+#include "hw/sparc/sun4m.h"
#include "hw/sysbus.h"
#include "trace.h"
diff --git a/hw/tc58128.c b/hw/tc58128.c
index f76f96d9e7..a3929d444f 100644
--- a/hw/tc58128.c
+++ b/hw/tc58128.c
@@ -1,5 +1,5 @@
#include "hw/hw.h"
-#include "hw/sh.h"
+#include "hw/sh4/sh.h"
#include "hw/loader.h"
#define CE1 0x0100
diff --git a/hw/tc6393xb.c b/hw/tc6393xb.c
index 79c971b439..2d5fa89e9b 100644
--- a/hw/tc6393xb.c
+++ b/hw/tc6393xb.c
@@ -11,8 +11,8 @@
* GNU GPL, version 2 or (at your option) any later version.
*/
#include "hw/hw.h"
-#include "hw/devices.h"
-#include "hw/flash.h"
+#include "hw/arm/devices.h"
+#include "hw/block/flash.h"
#include "ui/console.h"
#include "ui/pixel_ops.h"
#include "sysemu/blockdev.h"
diff --git a/hw/tmp105.c b/hw/tmp105.c
index 47e5437e0d..21a27a6f44 100644
--- a/hw/tmp105.c
+++ b/hw/tmp105.c
@@ -19,7 +19,7 @@
*/
#include "hw/hw.h"
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
#include "hw/tmp105.h"
#include "qapi/visitor.h"
diff --git a/hw/tmp105.h b/hw/tmp105.h
index 9a9632c54b..9ba05ecc9c 100644
--- a/hw/tmp105.h
+++ b/hw/tmp105.h
@@ -14,8 +14,8 @@
#ifndef QEMU_TMP105_H
#define QEMU_TMP105_H
-#include "hw/i2c.h"
-#include "hw/tmp105_regs.h"
+#include "hw/i2c/i2c.h"
+#include "hw/misc/tmp105_regs.h"
#define TYPE_TMP105 "tmp105"
#define TMP105(obj) OBJECT_CHECK(TMP105State, (obj), TYPE_TMP105)
diff --git a/hw/tsc2005.c b/hw/tsc2005.c
index a771cd5e52..34ee1fb3cf 100644
--- a/hw/tsc2005.c
+++ b/hw/tsc2005.c
@@ -21,7 +21,7 @@
#include "hw/hw.h"
#include "qemu/timer.h"
#include "ui/console.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#define TSC_CUT_RESOLUTION(value, p) ((value) >> (16 - (p ? 12 : 10)))
diff --git a/hw/tsc210x.c b/hw/tsc210x.c
index b93e502e05..e6c217c8db 100644
--- a/hw/tsc210x.c
+++ b/hw/tsc210x.c
@@ -23,8 +23,8 @@
#include "audio/audio.h"
#include "qemu/timer.h"
#include "ui/console.h"
-#include "hw/omap.h" /* For I2SCodec and uWireSlave */
-#include "hw/devices.h"
+#include "hw/arm/omap.h" /* For I2SCodec and uWireSlave */
+#include "hw/arm/devices.h"
#define TSC_DATA_REGISTERS_PAGE 0x0
#define TSC_CONTROL_REGISTERS_PAGE 0x1
diff --git a/hw/tusb6010.c b/hw/tusb6010.c
index a5251a34ac..533938a9b4 100644
--- a/hw/tusb6010.c
+++ b/hw/tusb6010.c
@@ -21,9 +21,9 @@
#include "qemu-common.h"
#include "qemu/timer.h"
#include "hw/usb.h"
-#include "hw/omap.h"
+#include "hw/arm/omap.h"
#include "hw/irq.h"
-#include "hw/devices.h"
+#include "hw/arm/devices.h"
#include "hw/sysbus.h"
typedef struct TUSBState {
diff --git a/hw/twl92230.c b/hw/twl92230.c
index 7d020c4cba..b730d853f7 100644
--- a/hw/twl92230.c
+++ b/hw/twl92230.c
@@ -21,7 +21,7 @@
#include "hw/hw.h"
#include "qemu/timer.h"
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
#include "sysemu/sysemu.h"
#include "ui/console.h"
diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c
index 78ab13f9ed..7c8fc364c8 100644
--- a/hw/unicore32/puv3.c
+++ b/hw/unicore32/puv3.c
@@ -16,10 +16,10 @@
#include "hw/sysbus.h"
#include "hw/boards.h"
#include "hw/loader.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#undef DEBUG_PUV3
-#include "hw/puv3.h"
+#include "hw/unicore32/puv3.h"
#define KERNEL_LOAD_ADDR 0x03000000
#define KERNEL_MAX_SIZE 0x00800000 /* Just a guess */
diff --git a/hw/usb/dev-audio.c b/hw/usb/dev-audio.c
index b8c79b85e9..44fc43f4c4 100644
--- a/hw/usb/dev-audio.c
+++ b/hw/usb/dev-audio.c
@@ -33,7 +33,7 @@
#include "hw/usb.h"
#include "hw/usb/desc.h"
#include "hw/hw.h"
-#include "hw/audiodev.h"
+#include "hw/audio/audio.h"
#include "audio/audio.h"
#define USBAUDIO_VENDOR_NUM 0x46f4 /* CRC16() of "QEMU" */
diff --git a/hw/usb/dev-hid.c b/hw/usb/dev-hid.c
index 9701048887..5f3a4b401e 100644
--- a/hw/usb/dev-hid.c
+++ b/hw/usb/dev-hid.c
@@ -27,7 +27,7 @@
#include "hw/usb.h"
#include "hw/usb/desc.h"
#include "qemu/timer.h"
-#include "hw/hid.h"
+#include "hw/input/hid.h"
/* HID interface requests */
#define GET_REPORT 0xa101
diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c
index 21651b3637..06f0171c46 100644
--- a/hw/usb/dev-storage.c
+++ b/hw/usb/dev-storage.c
@@ -12,7 +12,7 @@
#include "qemu/config-file.h"
#include "hw/usb.h"
#include "hw/usb/desc.h"
-#include "hw/scsi.h"
+#include "hw/scsi/scsi.h"
#include "ui/console.h"
#include "monitor/monitor.h"
#include "sysemu/sysemu.h"
diff --git a/hw/usb/dev-uas.c b/hw/usb/dev-uas.c
index 1ac5117ba7..c8c42eefb5 100644
--- a/hw/usb/dev-uas.c
+++ b/hw/usb/dev-uas.c
@@ -16,8 +16,8 @@
#include "hw/usb.h"
#include "hw/usb/desc.h"
-#include "hw/scsi.h"
-#include "hw/scsi-defs.h"
+#include "hw/scsi/scsi.h"
+#include "block/scsi.h"
/* --------------------------------------------------------------------- */
diff --git a/hw/vga-isa-mm.c b/hw/vga-isa-mm.c
index 02356d4d58..3b08720cf4 100644
--- a/hw/vga-isa-mm.c
+++ b/hw/vga-isa-mm.c
@@ -23,7 +23,7 @@
*/
#include "hw/hw.h"
#include "ui/console.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/vga_int.h"
#include "ui/pixel_ops.h"
#include "qemu/timer.h"
diff --git a/hw/vga-isa.c b/hw/vga-isa.c
index 9e293217d0..89d7fa6c3c 100644
--- a/hw/vga-isa.c
+++ b/hw/vga-isa.c
@@ -25,7 +25,7 @@
*/
#include "hw/hw.h"
#include "ui/console.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/vga_int.h"
#include "ui/pixel_ops.h"
#include "qemu/timer.h"
diff --git a/hw/vga.c b/hw/vga.c
index 59bfb220f5..dc31fd574c 100644
--- a/hw/vga.c
+++ b/hw/vga.c
@@ -24,12 +24,12 @@
#include "hw/hw.h"
#include "hw/vga.h"
#include "ui/console.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/pci/pci.h"
#include "hw/vga_int.h"
#include "ui/pixel_ops.h"
#include "qemu/timer.h"
-#include "hw/xen.h"
+#include "hw/xen/xen.h"
#include "trace.h"
//#define DEBUG_VGA
diff --git a/hw/vhost.c b/hw/vhost.c
index 4d6aee3ecd..636fad0f74 100644
--- a/hw/vhost.c
+++ b/hw/vhost.c
@@ -14,7 +14,7 @@
*/
#include <sys/ioctl.h>
-#include "hw/vhost.h"
+#include "hw/virtio/vhost.h"
#include "hw/hw.h"
#include "qemu/range.h"
#include <linux/vhost.h>
diff --git a/hw/vhost_net.c b/hw/vhost_net.c
index d3218a07f4..8c5384cf76 100644
--- a/hw/vhost_net.c
+++ b/hw/vhost_net.c
@@ -16,8 +16,8 @@
#include "net/net.h"
#include "net/tap.h"
-#include "hw/virtio-net.h"
-#include "hw/vhost_net.h"
+#include "hw/virtio/virtio-net.h"
+#include "net/vhost_net.h"
#include "qemu/error-report.h"
#include "config.h"
@@ -36,7 +36,7 @@
#include <stdio.h>
-#include "hw/vhost.h"
+#include "hw/virtio/vhost.h"
struct vhost_net {
struct vhost_dev dev;
diff --git a/hw/virtio-balloon.c b/hw/virtio-balloon.c
index b382bd440d..c2c446eb9b 100644
--- a/hw/virtio-balloon.c
+++ b/hw/virtio-balloon.c
@@ -16,11 +16,11 @@
#include "qemu/iov.h"
#include "qemu/timer.h"
#include "qemu-common.h"
-#include "hw/virtio.h"
-#include "hw/pc.h"
+#include "hw/virtio/virtio.h"
+#include "hw/i386/pc.h"
#include "cpu.h"
#include "sysemu/balloon.h"
-#include "hw/virtio-balloon.h"
+#include "hw/virtio/virtio-balloon.h"
#include "sysemu/kvm.h"
#include "exec/address-spaces.h"
#include "qapi/visitor.h"
@@ -29,7 +29,7 @@
#include <sys/mman.h>
#endif
-#include "hw/virtio-bus.h"
+#include "hw/virtio/virtio-bus.h"
static void balloon_page(void *addr, int deflate)
{
diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c
index f2143fded3..6efb2f063d 100644
--- a/hw/virtio-blk.c
+++ b/hw/virtio-blk.c
@@ -14,14 +14,17 @@
#include "qemu-common.h"
#include "qemu/error-report.h"
#include "trace.h"
-#include "hw/block-common.h"
+#include "hw/block/block.h"
#include "sysemu/blockdev.h"
-#include "hw/virtio-blk.h"
-#include "hw/scsi-defs.h"
+#include "hw/virtio/virtio-blk.h"
+#ifdef CONFIG_VIRTIO_BLK_DATA_PLANE
+# include "dataplane/virtio-blk.h"
+#endif
+#include "block/scsi.h"
#ifdef __linux__
# include <scsi/sg.h>
#endif
-#include "hw/virtio-bus.h"
+#include "hw/virtio/virtio-bus.h"
typedef struct VirtIOBlockReq
{
diff --git a/hw/virtio-bus.c b/hw/virtio-bus.c
index 6c2aab00eb..1596a1c92f 100644
--- a/hw/virtio-bus.c
+++ b/hw/virtio-bus.c
@@ -25,8 +25,8 @@
#include "hw/hw.h"
#include "qemu/error-report.h"
#include "hw/qdev.h"
-#include "hw/virtio-bus.h"
-#include "hw/virtio.h"
+#include "hw/virtio/virtio-bus.h"
+#include "hw/virtio/virtio.h"
/* #define DEBUG_VIRTIO_BUS */
diff --git a/hw/virtio-console.c b/hw/virtio-console.c
index 284180f4e1..31f672c9a3 100644
--- a/hw/virtio-console.c
+++ b/hw/virtio-console.c
@@ -13,7 +13,7 @@
#include "char/char.h"
#include "qemu/error-report.h"
#include "trace.h"
-#include "hw/virtio-serial.h"
+#include "hw/virtio/virtio-serial.h"
typedef struct VirtConsole {
VirtIOSerialPort port;
diff --git a/hw/virtio-net.c b/hw/virtio-net.c
index 5917740d9d..bc8fd43b4b 100644
--- a/hw/virtio-net.c
+++ b/hw/virtio-net.c
@@ -12,14 +12,14 @@
*/
#include "qemu/iov.h"
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "net/net.h"
#include "net/checksum.h"
#include "net/tap.h"
#include "qemu/error-report.h"
#include "qemu/timer.h"
-#include "hw/virtio-net.h"
-#include "hw/vhost_net.h"
+#include "hw/virtio/virtio-net.h"
+#include "net/vhost_net.h"
#define VIRTIO_NET_VM_VERSION 11
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
index fb20722eaa..943b429d94 100644
--- a/hw/virtio-pci.c
+++ b/hw/virtio-pci.c
@@ -17,12 +17,12 @@
#include <inttypes.h>
-#include "hw/virtio.h"
-#include "hw/virtio-blk.h"
-#include "hw/virtio-net.h"
-#include "hw/virtio-serial.h"
-#include "hw/virtio-scsi.h"
-#include "hw/virtio-balloon.h"
+#include "hw/virtio/virtio.h"
+#include "hw/virtio/virtio-blk.h"
+#include "hw/virtio/virtio-net.h"
+#include "hw/virtio/virtio-serial.h"
+#include "hw/virtio/virtio-scsi.h"
+#include "hw/virtio/virtio-balloon.h"
#include "hw/pci/pci.h"
#include "qemu/error-report.h"
#include "hw/pci/msi.h"
@@ -32,7 +32,7 @@
#include "sysemu/blockdev.h"
#include "hw/virtio-pci.h"
#include "qemu/range.h"
-#include "hw/virtio-bus.h"
+#include "hw/virtio/virtio-bus.h"
/* from Linux's linux/virtio_pci.h */
diff --git a/hw/virtio-pci.h b/hw/virtio-pci.h
index f99f2eb80e..fb83155016 100644
--- a/hw/virtio-pci.h
+++ b/hw/virtio-pci.h
@@ -16,14 +16,14 @@
#define QEMU_VIRTIO_PCI_H
#include "hw/pci/msi.h"
-#include "hw/virtio-blk.h"
-#include "hw/virtio-net.h"
-#include "hw/virtio-rng.h"
-#include "hw/virtio-serial.h"
-#include "hw/virtio-scsi.h"
-#include "hw/virtio-balloon.h"
-#include "hw/virtio-bus.h"
-#include "hw/9pfs/virtio-9p-device.h"
+#include "hw/virtio/virtio-blk.h"
+#include "hw/virtio/virtio-net.h"
+#include "hw/virtio/virtio-rng.h"
+#include "hw/virtio/virtio-serial.h"
+#include "hw/virtio/virtio-scsi.h"
+#include "hw/virtio/virtio-balloon.h"
+#include "hw/virtio/virtio-bus.h"
+#include "hw/virtio/virtio-9p.h"
typedef struct VirtIOPCIProxy VirtIOPCIProxy;
typedef struct VirtIOBlkPCI VirtIOBlkPCI;
diff --git a/hw/virtio-rng.c b/hw/virtio-rng.c
index fa8e8f3f9a..6079b2a3a9 100644
--- a/hw/virtio-rng.c
+++ b/hw/virtio-rng.c
@@ -12,8 +12,8 @@
#include "qemu/iov.h"
#include "hw/qdev.h"
#include "qapi/qmp/qerror.h"
-#include "hw/virtio.h"
-#include "hw/virtio-rng.h"
+#include "hw/virtio/virtio.h"
+#include "hw/virtio/virtio-rng.h"
#include "qemu/rng.h"
static bool is_guest_ready(VirtIORNG *vrng)
diff --git a/hw/virtio-scsi.c b/hw/virtio-scsi.c
index 06a58a6a63..ead7cda13d 100644
--- a/hw/virtio-scsi.c
+++ b/hw/virtio-scsi.c
@@ -13,11 +13,11 @@
*
*/
-#include "hw/virtio-scsi.h"
+#include "hw/virtio/virtio-scsi.h"
#include "qemu/error-report.h"
-#include <hw/scsi.h>
-#include <hw/scsi-defs.h>
-#include "hw/virtio-bus.h"
+#include <hw/scsi/scsi.h>
+#include <block/scsi.h>
+#include <hw/virtio/virtio-bus.h>
#define VIRTIO_SCSI_VQ_SIZE 128
#define VIRTIO_SCSI_CDB_SIZE 32
diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c
index a9cb114649..1dba8ab2c6 100644
--- a/hw/virtio-serial-bus.c
+++ b/hw/virtio-serial-bus.c
@@ -23,7 +23,7 @@
#include "qemu/queue.h"
#include "hw/sysbus.h"
#include "trace.h"
-#include "hw/virtio-serial.h"
+#include "hw/virtio/virtio-serial.h"
static VirtIOSerialPort *find_port_by_id(VirtIOSerial *vser, uint32_t id)
{
diff --git a/hw/virtio.c b/hw/virtio.c
index 26fbc790ec..1c2282c54f 100644
--- a/hw/virtio.c
+++ b/hw/virtio.c
@@ -15,9 +15,9 @@
#include "trace.h"
#include "qemu/error-report.h"
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "qemu/atomic.h"
-#include "hw/virtio-bus.h"
+#include "hw/virtio/virtio-bus.h"
/* The alignment to use between consumer and producer parts of vring.
* x86 pagesize again. */
diff --git a/hw/vmmouse.c b/hw/vmmouse.c
index a9d227e17d..f4f9c9373d 100644
--- a/hw/vmmouse.c
+++ b/hw/vmmouse.c
@@ -23,8 +23,8 @@
*/
#include "hw/hw.h"
#include "ui/console.h"
-#include "hw/ps2.h"
-#include "hw/pc.h"
+#include "hw/input/ps2.h"
+#include "hw/i386/pc.h"
#include "hw/qdev.h"
/* debug only vmmouse */
diff --git a/hw/vmport.c b/hw/vmport.c
index cc1466ae96..0d07ea1fc5 100644
--- a/hw/vmport.c
+++ b/hw/vmport.c
@@ -22,8 +22,8 @@
* THE SOFTWARE.
*/
#include "hw/hw.h"
-#include "hw/isa.h"
-#include "hw/pc.h"
+#include "hw/isa/isa.h"
+#include "hw/i386/pc.h"
#include "sysemu/kvm.h"
#include "hw/qdev.h"
diff --git a/hw/vmxnet3.c b/hw/vmxnet3.c
index bdd256e9d5..5916624371 100644
--- a/hw/vmxnet3.c
+++ b/hw/vmxnet3.c
@@ -15,17 +15,16 @@
*
*/
-#include "hw.h"
-#include "pci/pci.h"
+#include "hw/hw.h"
+#include "hw/pci/pci.h"
#include "net/net.h"
-#include "virtio-net.h"
#include "net/tap.h"
#include "net/checksum.h"
#include "sysemu/sysemu.h"
#include "qemu-common.h"
#include "qemu/bswap.h"
-#include "pci/msix.h"
-#include "pci/msi.h"
+#include "hw/pci/msix.h"
+#include "hw/pci/msi.h"
#include "vmxnet3.h"
#include "vmxnet_debug.h"
diff --git a/hw/vt82c686.c b/hw/vt82c686.c
index 9d9b64eedd..52619276bd 100644
--- a/hw/vt82c686.c
+++ b/hw/vt82c686.c
@@ -11,17 +11,17 @@
*/
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/vt82c686.h"
-#include "hw/i2c.h"
-#include "hw/smbus.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/vt82c686.h"
+#include "hw/i2c/i2c.h"
+#include "hw/i2c/smbus.h"
#include "hw/pci/pci.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "hw/sysbus.h"
-#include "hw/mips.h"
-#include "hw/apm.h"
-#include "hw/acpi.h"
-#include "hw/pm_smbus.h"
+#include "hw/mips/mips.h"
+#include "hw/isa/apm.h"
+#include "hw/acpi/acpi.h"
+#include "hw/i2c/pm_smbus.h"
#include "sysemu/sysemu.h"
#include "qemu/timer.h"
#include "exec/address-spaces.h"
diff --git a/hw/watchdog.c b/hw/watchdog.c
index 072d256882..cb4e1f9e47 100644
--- a/hw/watchdog.c
+++ b/hw/watchdog.c
@@ -26,7 +26,7 @@
#include "qapi/qmp/types.h"
#include "monitor/monitor.h"
#include "sysemu/sysemu.h"
-#include "hw/watchdog.h"
+#include "sysemu/watchdog.h"
/* Possible values for action parameter. */
#define WDT_RESET 1 /* Hard reset. */
diff --git a/hw/wdt_i6300esb.c b/hw/wdt_i6300esb.c
index f13e507fcf..1407fbadb2 100644
--- a/hw/wdt_i6300esb.c
+++ b/hw/wdt_i6300esb.c
@@ -23,7 +23,7 @@
#include "qemu-common.h"
#include "qemu/timer.h"
-#include "hw/watchdog.h"
+#include "sysemu/watchdog.h"
#include "hw/hw.h"
#include "hw/pci/pci.h"
diff --git a/hw/wdt_ib700.c b/hw/wdt_ib700.c
index 6c52808ac0..b8c4be85ff 100644
--- a/hw/wdt_ib700.c
+++ b/hw/wdt_ib700.c
@@ -21,10 +21,10 @@
#include "qemu-common.h"
#include "qemu/timer.h"
-#include "hw/watchdog.h"
+#include "sysemu/watchdog.h"
#include "hw/hw.h"
-#include "hw/isa.h"
-#include "hw/pc.h"
+#include "hw/isa/isa.h"
+#include "hw/i386/pc.h"
/*#define IB700_DEBUG 1*/
diff --git a/hw/wm8750.c b/hw/wm8750.c
index 0904cf496d..6b5a3499bb 100644
--- a/hw/wm8750.c
+++ b/hw/wm8750.c
@@ -8,7 +8,7 @@
*/
#include "hw/hw.h"
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
#include "audio/audio.h"
#define IN_PORT_N 3
diff --git a/hw/xen_apic.c b/hw/xen_apic.c
index 8f387b6403..a2eb8a159a 100644
--- a/hw/xen_apic.c
+++ b/hw/xen_apic.c
@@ -9,9 +9,9 @@
* This work is licensed under the terms of the GNU GPL version 2 or
* later. See the COPYING file in the top-level directory.
*/
-#include "hw/apic_internal.h"
+#include "hw/i386/apic_internal.h"
#include "hw/pci/msi.h"
-#include "hw/xen.h"
+#include "hw/xen/xen.h"
static uint64_t xen_apic_mem_read(void *opaque, hwaddr addr,
unsigned size)
diff --git a/hw/xen_backend.c b/hw/xen_backend.c
index 02693d7565..2a8c9f5d1a 100644
--- a/hw/xen_backend.c
+++ b/hw/xen_backend.c
@@ -37,7 +37,7 @@
#include "hw/hw.h"
#include "char/char.h"
#include "qemu/log.h"
-#include "hw/xen_backend.h"
+#include "hw/xen/xen_backend.h"
#include <xen/grant_table.h>
diff --git a/hw/xen_console.c b/hw/xen_console.c
index c56ef4737f..efc32320fa 100644
--- a/hw/xen_console.c
+++ b/hw/xen_console.c
@@ -31,7 +31,7 @@
#include "hw/hw.h"
#include "char/char.h"
-#include "hw/xen_backend.h"
+#include "hw/xen/xen_backend.h"
#include <xen/io/console.h>
diff --git a/hw/xen_devconfig.c b/hw/xen_devconfig.c
index cdcaf62f26..fa998eff04 100644
--- a/hw/xen_devconfig.c
+++ b/hw/xen_devconfig.c
@@ -1,4 +1,4 @@
-#include "hw/xen_backend.h"
+#include "hw/xen/xen_backend.h"
#include "sysemu/blockdev.h"
/* ------------------------------------------------------------- */
diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index 47a51cf014..532347bf94 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -36,7 +36,7 @@
#include <sys/uio.h>
#include "hw/hw.h"
-#include "hw/xen_backend.h"
+#include "hw/xen/xen_backend.h"
#include "hw/xen_blkif.h"
#include "sysemu/blockdev.h"
diff --git a/hw/xen_domainbuild.h b/hw/xen_domainbuild.h
index 681cbe5fd8..29a91ea7b1 100644
--- a/hw/xen_domainbuild.h
+++ b/hw/xen_domainbuild.h
@@ -1,7 +1,7 @@
#ifndef QEMU_HW_XEN_DOMAINBUILD_H
#define QEMU_HW_XEN_DOMAINBUILD_H 1
-#include "hw/xen_common.h"
+#include "hw/xen/xen_common.h"
int xenstore_domain_init1(const char *kernel, const char *ramdisk,
const char *cmdline);
diff --git a/hw/xen_nic.c b/hw/xen_nic.c
index b6d36793b3..63918ae1a0 100644
--- a/hw/xen_nic.c
+++ b/hw/xen_nic.c
@@ -39,7 +39,7 @@
#include "net/net.h"
#include "net/checksum.h"
#include "net/util.h"
-#include "hw/xen_backend.h"
+#include "hw/xen/xen_backend.h"
#include <xen/io/netif.h>
diff --git a/hw/xen_platform.c b/hw/xen_platform.c
index 5e11c950ab..b6c6793e1e 100644
--- a/hw/xen_platform.c
+++ b/hw/xen_platform.c
@@ -26,11 +26,11 @@
#include <assert.h>
#include "hw/hw.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/pci/pci.h"
#include "hw/irq.h"
-#include "hw/xen_common.h"
-#include "hw/xen_backend.h"
+#include "hw/xen/xen_common.h"
+#include "hw/xen/xen_backend.h"
#include "trace.h"
#include "exec/address-spaces.h"
diff --git a/hw/xen_pt.c b/hw/xen_pt.c
index ce695d0e64..0cc45387ba 100644
--- a/hw/xen_pt.c
+++ b/hw/xen_pt.c
@@ -55,8 +55,8 @@
#include <sys/ioctl.h>
#include "hw/pci/pci.h"
-#include "hw/xen.h"
-#include "hw/xen_backend.h"
+#include "hw/xen/xen.h"
+#include "hw/xen/xen_backend.h"
#include "hw/xen_pt.h"
#include "qemu/range.h"
#include "exec/address-spaces.h"
diff --git a/hw/xen_pt.h b/hw/xen_pt.h
index 1cd9f44704..d2cac18604 100644
--- a/hw/xen_pt.h
+++ b/hw/xen_pt.h
@@ -2,7 +2,7 @@
#define XEN_PT_H
#include "qemu-common.h"
-#include "hw/xen_common.h"
+#include "hw/xen/xen_common.h"
#include "hw/pci/pci.h"
#include "hw/xen-host-pci-device.h"
diff --git a/hw/xen_pt_config_init.c b/hw/xen_pt_config_init.c
index 55838216d9..3ee2adfb9e 100644
--- a/hw/xen_pt_config_init.c
+++ b/hw/xen_pt_config_init.c
@@ -13,7 +13,7 @@
*/
#include "qemu/timer.h"
-#include "hw/xen_backend.h"
+#include "hw/xen/xen_backend.h"
#include "hw/xen_pt.h"
#define XEN_PT_MERGE_VALUE(value, data, val_mask) \
diff --git a/hw/xen_pt_msi.c b/hw/xen_pt_msi.c
index a54ee2bfd9..dcdfc5c64d 100644
--- a/hw/xen_pt_msi.c
+++ b/hw/xen_pt_msi.c
@@ -11,9 +11,9 @@
#include <sys/mman.h>
-#include "hw/xen_backend.h"
+#include "hw/xen/xen_backend.h"
#include "hw/xen_pt.h"
-#include "hw/apic-msidef.h"
+#include "hw/i386/apic-msidef.h"
#define XEN_PT_AUTO_ASSIGN -1
diff --git a/hw/xenfb.c b/hw/xenfb.c
index 7c46a2fa1e..8e4266142d 100644
--- a/hw/xenfb.c
+++ b/hw/xenfb.c
@@ -38,7 +38,7 @@
#include "hw/hw.h"
#include "ui/console.h"
#include "char/char.h"
-#include "hw/xen_backend.h"
+#include "hw/xen/xen_backend.h"
#include <xen/event_channel.h>
#include <xen/io/fbif.h>
diff --git a/hw/xtensa/xtensa_lx60.c b/hw/xtensa/xtensa_lx60.c
index f2a63d82da..5695897b23 100644
--- a/hw/xtensa/xtensa_lx60.c
+++ b/hw/xtensa/xtensa_lx60.c
@@ -31,10 +31,10 @@
#include "elf.h"
#include "exec/memory.h"
#include "exec/address-spaces.h"
-#include "hw/serial.h"
+#include "hw/char/serial.h"
#include "net/net.h"
#include "hw/sysbus.h"
-#include "hw/flash.h"
+#include "hw/block/flash.h"
#include "sysemu/blockdev.h"
#include "char/char.h"
#include "hw/xtensa_bootparam.h"
diff --git a/hw/zaurus.c b/hw/zaurus.c
index 7d3258cc66..d853ea1310 100644
--- a/hw/zaurus.c
+++ b/hw/zaurus.c
@@ -16,7 +16,7 @@
* with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#include "hw/hw.h"
-#include "hw/sharpsl.h"
+#include "hw/arm/sharpsl.h"
#include "hw/sysbus.h"
#undef REG_FMT
diff --git a/hw/scsi-defs.h b/include/block/scsi.h
index 9ab045b613..9ab045b613 100644
--- a/hw/scsi-defs.h
+++ b/include/block/scsi.h
diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index 1da240039d..977467bb57 100644
--- a/include/exec/memory-internal.h
+++ b/include/exec/memory-internal.h
@@ -20,7 +20,7 @@
#define MEMORY_INTERNAL_H
#ifndef CONFIG_USER_ONLY
-#include "hw/xen.h"
+#include "hw/xen/xen.h"
typedef struct PhysPageEntry PhysPageEntry;
diff --git a/hw/acpi.h b/include/hw/acpi/acpi.h
index e18ef28fd3..e18ef28fd3 100644
--- a/hw/acpi.h
+++ b/include/hw/acpi/acpi.h
diff --git a/hw/acpi_ich9.h b/include/hw/acpi/ich9.h
index 91c3aeb7ea..85b82ee50c 100644
--- a/hw/acpi_ich9.h
+++ b/include/hw/acpi/ich9.h
@@ -21,7 +21,7 @@
#ifndef HW_ACPI_ICH9_H
#define HW_ACPI_ICH9_H
-#include "hw/acpi.h"
+#include "hw/acpi/acpi.h"
typedef struct ICH9LPCPMRegs {
/*
diff --git a/hw/arm-misc.h b/include/hw/arm.h
index 7b2b02daaf..7b2b02daaf 100644
--- a/hw/arm-misc.h
+++ b/include/hw/arm.h
diff --git a/hw/devices.h b/include/hw/arm/devices.h
index c60bcabae3..c60bcabae3 100644
--- a/hw/devices.h
+++ b/include/hw/arm/devices.h
diff --git a/hw/exynos4210.h b/include/hw/arm/exynos4210.h
index bb9a1dddc8..bb9a1dddc8 100644
--- a/hw/exynos4210.h
+++ b/include/hw/arm/exynos4210.h
diff --git a/hw/imx.h b/include/hw/arm/imx.h
index ea9e093277..ea9e093277 100644
--- a/hw/imx.h
+++ b/include/hw/arm/imx.h
diff --git a/hw/omap.h b/include/hw/arm/omap.h
index 188cda8771..188cda8771 100644
--- a/hw/omap.h
+++ b/include/hw/arm/omap.h
diff --git a/hw/primecell.h b/include/hw/arm/primecell.h
index 7337c3b3ca..7337c3b3ca 100644
--- a/hw/primecell.h
+++ b/include/hw/arm/primecell.h
diff --git a/hw/pxa.h b/include/hw/arm/pxa.h
index 668232cead..668232cead 100644
--- a/hw/pxa.h
+++ b/include/hw/arm/pxa.h
diff --git a/hw/sharpsl.h b/include/hw/arm/sharpsl.h
index 13981a6d03..13981a6d03 100644
--- a/hw/sharpsl.h
+++ b/include/hw/arm/sharpsl.h
diff --git a/hw/soc_dma.h b/include/hw/arm/soc_dma.h
index 7379731afd..7379731afd 100644
--- a/hw/soc_dma.h
+++ b/include/hw/arm/soc_dma.h
diff --git a/hw/audiodev.h b/include/hw/audio/audio.h
index 428274f929..428274f929 100644
--- a/hw/audiodev.h
+++ b/include/hw/audio/audio.h
diff --git a/hw/pcspk.h b/include/hw/audio/pcspk.h
index f448d221da..ce8ef4f9ea 100644
--- a/hw/pcspk.h
+++ b/include/hw/audio/pcspk.h
@@ -26,7 +26,7 @@
#define HW_PCSPK_H
#include "hw/hw.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
static inline ISADevice *pcspk_init(ISABus *bus, ISADevice *pit)
{
diff --git a/hw/block-common.h b/include/hw/block/block.h
index dd115320c9..dd115320c9 100644
--- a/hw/block-common.h
+++ b/include/hw/block/block.h
diff --git a/hw/fdc.h b/include/hw/block/fdc.h
index a8f6f7c850..a8f6f7c850 100644
--- a/hw/fdc.h
+++ b/include/hw/block/fdc.h
diff --git a/hw/flash.h b/include/hw/block/flash.h
index 920d7596e3..920d7596e3 100644
--- a/hw/flash.h
+++ b/include/hw/block/flash.h
diff --git a/hw/boards.h b/include/hw/boards.h
index 425bdc74a8..425bdc74a8 100644
--- a/hw/boards.h
+++ b/include/hw/boards.h
diff --git a/hw/bt.h b/include/hw/bt.h
index 830af94735..830af94735 100644
--- a/hw/bt.h
+++ b/include/hw/bt.h
diff --git a/hw/escc.h b/include/hw/char/escc.h
index bda3213317..bda3213317 100644
--- a/hw/escc.h
+++ b/include/hw/char/escc.h
diff --git a/hw/serial.h b/include/hw/char/serial.h
index e884499607..e884499607 100644
--- a/hw/serial.h
+++ b/include/hw/char/serial.h
diff --git a/hw/etraxfs.h b/include/hw/cris/etraxfs.h
index 0df4fdd2e9..ab30559c79 100644
--- a/hw/etraxfs.h
+++ b/include/hw/cris/etraxfs.h
@@ -26,7 +26,7 @@
#define HW_EXTRAXFS_H 1
#include "net/net.h"
-#include "hw/etraxfs_dma.h"
+#include "hw/cris/etraxfs_dma.h"
qemu_irq *cris_pic_init_cpu(CPUCRISState *env);
diff --git a/hw/etraxfs_dma.h b/include/hw/cris/etraxfs_dma.h
index 38104a67b5..38104a67b5 100644
--- a/hw/etraxfs_dma.h
+++ b/include/hw/cris/etraxfs_dma.h
diff --git a/hw/elf_ops.h b/include/hw/elf_ops.h
index acc701e3a4..acc701e3a4 100644
--- a/hw/elf_ops.h
+++ b/include/hw/elf_ops.h
diff --git a/hw/empty_slot.h b/include/hw/empty_slot.h
index 6079602cdf..6079602cdf 100644
--- a/hw/empty_slot.h
+++ b/include/hw/empty_slot.h
diff --git a/hw/hw.h b/include/hw/hw.h
index 1fb9afa322..1fb9afa322 100644
--- a/hw/hw.h
+++ b/include/hw/hw.h
diff --git a/hw/i2c.h b/include/hw/i2c/i2c.h
index 461392f374..461392f374 100644
--- a/hw/i2c.h
+++ b/include/hw/i2c/i2c.h
diff --git a/hw/pm_smbus.h b/include/hw/i2c/pm_smbus.h
index e3069bf7d4..e3069bf7d4 100644
--- a/hw/pm_smbus.h
+++ b/include/hw/i2c/pm_smbus.h
diff --git a/hw/smbus.h b/include/hw/i2c/smbus.h
index c3db620e00..d764d759c4 100644
--- a/hw/smbus.h
+++ b/include/hw/i2c/smbus.h
@@ -25,7 +25,7 @@
* THE SOFTWARE.
*/
-#include "hw/i2c.h"
+#include "hw/i2c/i2c.h"
#define TYPE_SMBUS_DEVICE "smbus-device"
#define SMBUS_DEVICE(obj) \
diff --git a/hw/apic-msidef.h b/include/hw/i386/apic-msidef.h
index 6e2eb71f2f..6e2eb71f2f 100644
--- a/hw/apic-msidef.h
+++ b/include/hw/i386/apic-msidef.h
diff --git a/hw/apic.h b/include/hw/i386/apic.h
index 1d48e027c3..1d48e027c3 100644
--- a/hw/apic.h
+++ b/include/hw/i386/apic.h
diff --git a/hw/apic_internal.h b/include/hw/i386/apic_internal.h
index 578241f861..578241f861 100644
--- a/hw/apic_internal.h
+++ b/include/hw/i386/apic_internal.h
diff --git a/hw/ich9.h b/include/hw/i386/ich9.h
index e7d2df7280..51d59819ab 100644
--- a/hw/ich9.h
+++ b/include/hw/i386/ich9.h
@@ -3,17 +3,16 @@
#include "hw/hw.h"
#include "qemu/range.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "hw/sysbus.h"
-#include "hw/pc.h"
-#include "hw/apm.h"
-#include "hw/ioapic.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/apm.h"
+#include "hw/i386/ioapic.h"
#include "hw/pci/pci.h"
#include "hw/pci/pcie_host.h"
#include "hw/pci/pci_bridge.h"
-#include "hw/acpi.h"
-#include "hw/acpi_ich9.h"
-#include "hw/pam.h"
+#include "hw/acpi/acpi.h"
+#include "hw/acpi/ich9.h"
#include "hw/pci/pci_bus.h"
void ich9_lpc_set_irq(void *opaque, int irq_num, int level);
diff --git a/hw/ioapic.h b/include/hw/i386/ioapic.h
index 86e63dac74..86e63dac74 100644
--- a/hw/ioapic.h
+++ b/include/hw/i386/ioapic.h
diff --git a/hw/ioapic_internal.h b/include/hw/i386/ioapic_internal.h
index 25576c819e..25576c819e 100644
--- a/hw/ioapic_internal.h
+++ b/include/hw/i386/ioapic_internal.h
diff --git a/hw/pc.h b/include/hw/i386/pc.h
index 55964ced93..5d40914f49 100644
--- a/hw/pc.h
+++ b/include/hw/i386/pc.h
@@ -4,11 +4,11 @@
#include "qemu-common.h"
#include "exec/memory.h"
#include "exec/ioport.h"
-#include "hw/isa.h"
-#include "hw/fdc.h"
+#include "hw/isa/isa.h"
+#include "hw/block/fdc.h"
#include "net/net.h"
#include "exec/memory.h"
-#include "hw/ioapic.h"
+#include "hw/i386/ioapic.h"
/* PC-style peripherals (also used by other machines). */
diff --git a/hw/smbios.h b/include/hw/i386/smbios.h
index 94e3641f9a..94e3641f9a 100644
--- a/hw/smbios.h
+++ b/include/hw/i386/smbios.h
diff --git a/hw/ide.h b/include/hw/ide.h
index 35444a39f9..507e6d33cb 100644
--- a/hw/ide.h
+++ b/include/hw/ide.h
@@ -1,7 +1,7 @@
#ifndef HW_IDE_H
#define HW_IDE_H
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "hw/pci/pci.h"
#include "exec/memory.h"
diff --git a/hw/adb.h b/include/hw/input/adb.h
index bdfccd4041..bdfccd4041 100644
--- a/hw/adb.h
+++ b/include/hw/input/adb.h
diff --git a/hw/hid.h b/include/hw/input/hid.h
index 56c71ed5ae..56c71ed5ae 100644
--- a/hw/hid.h
+++ b/include/hw/input/hid.h
diff --git a/hw/ps2.h b/include/hw/input/ps2.h
index 7c45ce7ced..7c45ce7ced 100644
--- a/hw/ps2.h
+++ b/include/hw/input/ps2.h
diff --git a/hw/irq.h b/include/hw/irq.h
index 610e6b7623..610e6b7623 100644
--- a/hw/irq.h
+++ b/include/hw/irq.h
diff --git a/hw/apm.h b/include/hw/isa/apm.h
index 3edea5f623..3edea5f623 100644
--- a/hw/apm.h
+++ b/include/hw/isa/apm.h
diff --git a/hw/i8259_internal.h b/include/hw/isa/i8259_internal.h
index 2813ec1baa..d3ddb27f4f 100644
--- a/hw/i8259_internal.h
+++ b/include/hw/isa/i8259_internal.h
@@ -26,8 +26,8 @@
#define QEMU_I8259_INTERNAL_H
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/isa.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/isa.h"
typedef struct PICCommonState PICCommonState;
diff --git a/hw/isa.h b/include/hw/isa/isa.h
index 82da37c11d..82da37c11d 100644
--- a/hw/isa.h
+++ b/include/hw/isa/isa.h
diff --git a/hw/pc87312.h b/include/hw/isa/pc87312.h
index ad087c73e5..befc8bdc62 100644
--- a/hw/pc87312.h
+++ b/include/hw/isa/pc87312.h
@@ -25,7 +25,7 @@
#ifndef QEMU_PC87312_H
#define QEMU_PC87312_H
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#define TYPE_PC87312 "pc87312"
diff --git a/hw/vt82c686.h b/include/hw/isa/vt82c686.h
index 6ef876d260..6ef876d260 100644
--- a/hw/vt82c686.h
+++ b/include/hw/isa/vt82c686.h
diff --git a/hw/kvm/clock.h b/include/hw/kvm/clock.h
index 252ea13461..252ea13461 100644
--- a/hw/kvm/clock.h
+++ b/include/hw/kvm/clock.h
diff --git a/hw/lm32_juart.h b/include/hw/lm32/lm32_juart.h
index 67fc5866ea..67fc5866ea 100644
--- a/hw/lm32_juart.h
+++ b/include/hw/lm32/lm32_juart.h
diff --git a/hw/lm32_pic.h b/include/hw/lm32/lm32_pic.h
index 555680304e..555680304e 100644
--- a/hw/lm32_pic.h
+++ b/include/hw/lm32/lm32_pic.h
diff --git a/hw/loader.h b/include/hw/loader.h
index 0958f06934..0958f06934 100644
--- a/hw/loader.h
+++ b/include/hw/loader.h
diff --git a/hw/mcf.h b/include/hw/m68k/mcf.h
index fbc8dc26df..fbc8dc26df 100644
--- a/hw/mcf.h
+++ b/include/hw/m68k/mcf.h
diff --git a/hw/mips-bios.h b/include/hw/mips/bios.h
index b4b88ac43d..b4b88ac43d 100644
--- a/hw/mips-bios.h
+++ b/include/hw/mips/bios.h
diff --git a/hw/mips_cpudevs.h b/include/hw/mips/cpudevs.h
index 6bea24bf10..6bea24bf10 100644
--- a/hw/mips_cpudevs.h
+++ b/include/hw/mips/cpudevs.h
diff --git a/hw/mips.h b/include/hw/mips/mips.h
index 291e85f6b9..291e85f6b9 100644
--- a/hw/mips.h
+++ b/include/hw/mips/mips.h
diff --git a/hw/tmp105_regs.h b/include/hw/misc/tmp105_regs.h
index 9b55abaf90..9b55abaf90 100644
--- a/hw/tmp105_regs.h
+++ b/include/hw/misc/tmp105_regs.h
diff --git a/hw/eeprom93xx.h b/include/hw/nvram/eeprom93xx.h
index 8ba0e287f2..8ba0e287f2 100644
--- a/hw/eeprom93xx.h
+++ b/include/hw/nvram/eeprom93xx.h
diff --git a/hw/fw_cfg.h b/include/hw/nvram/fw_cfg.h
index 05c8df186f..05c8df186f 100644
--- a/hw/fw_cfg.h
+++ b/include/hw/nvram/fw_cfg.h
diff --git a/hw/apb_pci.h b/include/hw/pci-host/apb.h
index 736db6118e..736db6118e 100644
--- a/hw/apb_pci.h
+++ b/include/hw/pci-host/apb.h
diff --git a/hw/pam.h b/include/hw/pci-host/pam.h
index 8e9e349b1d..8e9e349b1d 100644
--- a/hw/pam.h
+++ b/include/hw/pci-host/pam.h
diff --git a/hw/ppce500_pci.h b/include/hw/pci-host/ppce500.h
index 61f773ef30..61f773ef30 100644
--- a/hw/ppce500_pci.h
+++ b/include/hw/pci-host/ppce500.h
diff --git a/hw/q35.h b/include/hw/pci-host/q35.h
index d766bb7b02..6b50b5f34a 100644
--- a/hw/q35.h
+++ b/include/hw/pci-host/q35.h
@@ -24,16 +24,16 @@
#include "hw/hw.h"
#include "qemu/range.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "hw/sysbus.h"
-#include "hw/pc.h"
-#include "hw/apm.h"
-#include "hw/apic.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/apm.h"
+#include "hw/i386/apic.h"
#include "hw/pci/pci.h"
#include "hw/pci/pcie_host.h"
-#include "hw/acpi.h"
-#include "hw/acpi_ich9.h"
-#include "hw/pam.h"
+#include "hw/acpi/acpi.h"
+#include "hw/acpi/ich9.h"
+#include "hw/pci-host/pam.h"
#define TYPE_Q35_HOST_DEVICE "q35-pcihost"
#define Q35_HOST_DEVICE(obj) \
diff --git a/hw/spapr_pci.h b/include/hw/pci-host/spapr.h
index 8bd8a663c5..b21080cd58 100644
--- a/hw/spapr_pci.h
+++ b/include/hw/pci-host/spapr.h
@@ -25,7 +25,7 @@
#include "hw/pci/pci.h"
#include "hw/pci/pci_host.h"
-#include "hw/xics.h"
+#include "hw/ppc/xics.h"
#define SPAPR_MSIX_MAX_DEVS 32
diff --git a/hw/pci/msi.h b/include/hw/pci/msi.h
index 81a3848a31..81a3848a31 100644
--- a/hw/pci/msi.h
+++ b/include/hw/pci/msi.h
diff --git a/hw/pci/msix.h b/include/hw/pci/msix.h
index e648410535..e648410535 100644
--- a/hw/pci/msix.h
+++ b/include/hw/pci/msix.h
diff --git a/hw/pci/pci.h b/include/hw/pci/pci.h
index 9ea67a3832..05315c0475 100644
--- a/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -8,7 +8,7 @@
#include "sysemu/dma.h"
/* PCI includes legacy ISA access. */
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "hw/pci/pcie.h"
diff --git a/hw/pci/pci_bridge.h b/include/hw/pci/pci_bridge.h
index 1868f7aea8..1868f7aea8 100644
--- a/hw/pci/pci_bridge.h
+++ b/include/hw/pci/pci_bridge.h
diff --git a/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
index 6ee443cf88..6ee443cf88 100644
--- a/hw/pci/pci_bus.h
+++ b/include/hw/pci/pci_bus.h
diff --git a/hw/pci/pci_host.h b/include/hw/pci/pci_host.h
index 236cd0f75c..236cd0f75c 100644
--- a/hw/pci/pci_host.h
+++ b/include/hw/pci/pci_host.h
diff --git a/hw/pci/pci_ids.h b/include/hw/pci/pci_ids.h
index d8dc2f1bf7..d8dc2f1bf7 100644
--- a/hw/pci/pci_ids.h
+++ b/include/hw/pci/pci_ids.h
diff --git a/hw/pci/pci_regs.h b/include/hw/pci/pci_regs.h
index 56a404be6e..56a404be6e 100644
--- a/hw/pci/pci_regs.h
+++ b/include/hw/pci/pci_regs.h
diff --git a/hw/pci/pcie.h b/include/hw/pci/pcie.h
index c010007c5e..c010007c5e 100644
--- a/hw/pci/pcie.h
+++ b/include/hw/pci/pcie.h
diff --git a/hw/pci/pcie_aer.h b/include/hw/pci/pcie_aer.h
index bcac80a7b0..bcac80a7b0 100644
--- a/hw/pci/pcie_aer.h
+++ b/include/hw/pci/pcie_aer.h
diff --git a/hw/pci/pcie_host.h b/include/hw/pci/pcie_host.h
index 1228e36cb2..1228e36cb2 100644
--- a/hw/pci/pcie_host.h
+++ b/include/hw/pci/pcie_host.h
diff --git a/hw/pci/pcie_port.h b/include/hw/pci/pcie_port.h
index d89aa615c5..d89aa615c5 100644
--- a/hw/pci/pcie_port.h
+++ b/include/hw/pci/pcie_port.h
diff --git a/hw/pci/pcie_regs.h b/include/hw/pci/pcie_regs.h
index 4d123d9fcc..4d123d9fcc 100644
--- a/hw/pci/pcie_regs.h
+++ b/include/hw/pci/pcie_regs.h
diff --git a/hw/pci/shpc.h b/include/hw/pci/shpc.h
index 467911a558..467911a558 100644
--- a/hw/pci/shpc.h
+++ b/include/hw/pci/shpc.h
diff --git a/hw/pci/slotid_cap.h b/include/hw/pci/slotid_cap.h
index 70db0470b0..70db0470b0 100644
--- a/hw/pci/slotid_cap.h
+++ b/include/hw/pci/slotid_cap.h
diff --git a/hw/pcmcia.h b/include/hw/pcmcia.h
index f91669305e..f91669305e 100644
--- a/hw/pcmcia.h
+++ b/include/hw/pcmcia.h
diff --git a/hw/mac_dbdma.h b/include/hw/ppc/mac_dbdma.h
index 691263eede..691263eede 100644
--- a/hw/mac_dbdma.h
+++ b/include/hw/ppc/mac_dbdma.h
diff --git a/hw/openpic.h b/include/hw/ppc/openpic.h
index 9dcaf0e7cd..9dcaf0e7cd 100644
--- a/hw/openpic.h
+++ b/include/hw/ppc/openpic.h
diff --git a/hw/ppc.h b/include/hw/ppc/ppc.h
index acaf0d6580..acaf0d6580 100644
--- a/hw/ppc.h
+++ b/include/hw/ppc/ppc.h
diff --git a/hw/ppc4xx.h b/include/hw/ppc/ppc4xx.h
index 91d84bad63..91d84bad63 100644
--- a/hw/ppc4xx.h
+++ b/include/hw/ppc/ppc4xx.h
diff --git a/hw/spapr.h b/include/hw/ppc/spapr.h
index 3a1f69f2a9..864bee9d00 100644
--- a/hw/spapr.h
+++ b/include/hw/ppc/spapr.h
@@ -2,7 +2,7 @@
#define __HW_SPAPR_H__
#include "sysemu/dma.h"
-#include "hw/xics.h"
+#include "hw/ppc/xics.h"
struct VIOsPAPRBus;
struct sPAPRPHBState;
diff --git a/hw/spapr_vio.h b/include/hw/ppc/spapr_vio.h
index f98ec0a2e5..f98ec0a2e5 100644
--- a/hw/spapr_vio.h
+++ b/include/hw/ppc/spapr_vio.h
diff --git a/hw/xics.h b/include/hw/ppc/xics.h
index 6bce0424df..6bce0424df 100644
--- a/hw/xics.h
+++ b/include/hw/ppc/xics.h
diff --git a/hw/ptimer.h b/include/hw/ptimer.h
index 28fcaf17f8..28fcaf17f8 100644
--- a/hw/ptimer.h
+++ b/include/hw/ptimer.h
diff --git a/hw/qdev-addr.h b/include/hw/qdev-addr.h
index 79708e6751..79708e6751 100644
--- a/hw/qdev-addr.h
+++ b/include/hw/qdev-addr.h
diff --git a/hw/qdev-core.h b/include/hw/qdev-core.h
index 547fbc7e0d..547fbc7e0d 100644
--- a/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
diff --git a/hw/qdev-dma.h b/include/hw/qdev-dma.h
index 6812735e3d..6812735e3d 100644
--- a/hw/qdev-dma.h
+++ b/include/hw/qdev-dma.h
diff --git a/hw/qdev-properties.h b/include/hw/qdev-properties.h
index a37933998a..a37933998a 100644
--- a/hw/qdev-properties.h
+++ b/include/hw/qdev-properties.h
diff --git a/hw/qdev.h b/include/hw/qdev.h
index 5cb8b080a6..5cb8b080a6 100644
--- a/hw/qdev.h
+++ b/include/hw/qdev.h
diff --git a/hw/s390x/event-facility.h b/include/hw/s390x/event-facility.h
index 791ab2a6de..791ab2a6de 100644
--- a/hw/s390x/event-facility.h
+++ b/include/hw/s390x/event-facility.h
diff --git a/hw/s390x/sclp.h b/include/hw/s390x/sclp.h
index 231a38aa09..231a38aa09 100644
--- a/hw/s390x/sclp.h
+++ b/include/hw/s390x/sclp.h
diff --git a/hw/esp.h b/include/hw/scsi/esp.h
index 830673be8f..e079fb8d16 100644
--- a/hw/esp.h
+++ b/include/hw/scsi/esp.h
@@ -1,7 +1,7 @@
#ifndef QEMU_HW_ESP_H
#define QEMU_HW_ESP_H
-#include "hw/scsi.h"
+#include "hw/scsi/scsi.h"
/* esp.c */
#define ESP_MAX_DEVS 7
diff --git a/hw/scsi.h b/include/hw/scsi/scsi.h
index 02a1497d7a..3bda1c42c1 100644
--- a/hw/scsi.h
+++ b/include/hw/scsi/scsi.h
@@ -3,7 +3,7 @@
#include "hw/qdev.h"
#include "block/block.h"
-#include "hw/block-common.h"
+#include "hw/block/block.h"
#include "sysemu/sysemu.h"
#define MAX_SCSI_DEVS 255
diff --git a/hw/sd.h b/include/hw/sd.h
index d9b97e4466..d9b97e4466 100644
--- a/hw/sd.h
+++ b/include/hw/sd.h
diff --git a/hw/sh.h b/include/hw/sh4/sh.h
index 6230954eac..87c378f1eb 100644
--- a/hw/sh.h
+++ b/include/hw/sh4/sh.h
@@ -2,7 +2,7 @@
#define QEMU_SH_H
/* Definitions for SH board emulation. */
-#include "hw/sh_intc.h"
+#include "hw/sh4/sh_intc.h"
#define A7ADDR(x) ((x) & 0x1fffffff)
#define P4ADDR(x) ((x) | 0xe0000000)
diff --git a/hw/sh_intc.h b/include/hw/sh4/sh_intc.h
index b7ddcb096a..b7ddcb096a 100644
--- a/hw/sh_intc.h
+++ b/include/hw/sh4/sh_intc.h
diff --git a/hw/firmware_abi.h b/include/hw/sparc/firmware_abi.h
index 5e6e5d4d34..5e6e5d4d34 100644
--- a/hw/firmware_abi.h
+++ b/include/hw/sparc/firmware_abi.h
diff --git a/hw/grlib.h b/include/hw/sparc/grlib.h
index 470ce72250..470ce72250 100644
--- a/hw/grlib.h
+++ b/include/hw/sparc/grlib.h
diff --git a/hw/sparc32_dma.h b/include/hw/sparc/sparc32_dma.h
index 9497b13d34..9497b13d34 100644
--- a/hw/sparc32_dma.h
+++ b/include/hw/sparc/sparc32_dma.h
diff --git a/hw/sun4m.h b/include/hw/sparc/sun4m.h
index 0d2cfb807b..e984671129 100644
--- a/hw/sun4m.h
+++ b/include/hw/sparc/sun4m.h
@@ -31,6 +31,6 @@ void sun4m_pic_info(Monitor *mon, const QDict *qdict);
void sun4m_irq_info(Monitor *mon, const QDict *qdict);
/* sparc32_dma.c */
-#include "hw/sparc32_dma.h"
+#include "hw/sparc/sparc32_dma.h"
#endif
diff --git a/hw/ssi.h b/include/hw/ssi.h
index fdae317295..fdae317295 100644
--- a/hw/ssi.h
+++ b/include/hw/ssi.h
diff --git a/hw/stream.h b/include/hw/stream.h
index f6137d6e25..f6137d6e25 100644
--- a/hw/stream.h
+++ b/include/hw/stream.h
diff --git a/hw/sysbus.h b/include/hw/sysbus.h
index 7c2e3163fb..7c2e3163fb 100644
--- a/hw/sysbus.h
+++ b/include/hw/sysbus.h
diff --git a/hw/hpet_emul.h b/include/hw/timer/hpet.h
index 757f79fdd2..757f79fdd2 100644
--- a/hw/hpet_emul.h
+++ b/include/hw/timer/hpet.h
diff --git a/hw/i8254.h b/include/hw/timer/i8254.h
index 7d4432e722..75bb530ad9 100644
--- a/hw/i8254.h
+++ b/include/hw/timer/i8254.h
@@ -26,7 +26,7 @@
#define HW_I8254_H
#include "hw/hw.h"
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#define PIT_FREQ 1193182
diff --git a/hw/i8254_internal.h b/include/hw/timer/i8254_internal.h
index 30d5b1b950..e0cff0cf5a 100644
--- a/hw/i8254_internal.h
+++ b/include/hw/timer/i8254_internal.h
@@ -26,8 +26,8 @@
#define QEMU_I8254_INTERNAL_H
#include "hw/hw.h"
-#include "hw/pc.h"
-#include "hw/isa.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/isa.h"
typedef struct PITChannelState {
int count; /* can be 65536 */
diff --git a/hw/nvram.h b/include/hw/timer/m48t59.h
index 59337faaad..59337faaad 100644
--- a/hw/nvram.h
+++ b/include/hw/timer/m48t59.h
diff --git a/hw/mc146818rtc.h b/include/hw/timer/mc146818rtc.h
index 967403edb5..854ea3f5b5 100644
--- a/hw/mc146818rtc.h
+++ b/include/hw/timer/mc146818rtc.h
@@ -1,8 +1,8 @@
#ifndef MC146818RTC_H
#define MC146818RTC_H
-#include "hw/isa.h"
-#include "hw/mc146818rtc_regs.h"
+#include "hw/isa/isa.h"
+#include "hw/timer/mc146818rtc_regs.h"
ISADevice *rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq);
void rtc_set_memory(ISADevice *dev, int addr, int val);
diff --git a/hw/mc146818rtc_regs.h b/include/hw/timer/mc146818rtc_regs.h
index ccdee42b3c..ccdee42b3c 100644
--- a/hw/mc146818rtc_regs.h
+++ b/include/hw/timer/mc146818rtc_regs.h
diff --git a/hw/puv3.h b/include/hw/unicore32/puv3.h
index f37adcb665..f37adcb665 100644
--- a/hw/puv3.h
+++ b/include/hw/unicore32/puv3.h
diff --git a/hw/usb.h b/include/hw/usb.h
index 1b10684dde..1b10684dde 100644
--- a/hw/usb.h
+++ b/include/hw/usb.h
diff --git a/hw/dataplane/hostmem.h b/include/hw/virtio/dataplane/hostmem.h
index b2cf09333f..b2cf09333f 100644
--- a/hw/dataplane/hostmem.h
+++ b/include/hw/virtio/dataplane/hostmem.h
diff --git a/hw/dataplane/vring.h b/include/hw/virtio/dataplane/vring.h
index defb1efcda..9380cb5413 100644
--- a/hw/dataplane/vring.h
+++ b/include/hw/virtio/dataplane/vring.h
@@ -20,7 +20,7 @@
#include <linux/virtio_ring.h>
#include "qemu-common.h"
#include "hostmem.h"
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
typedef struct {
HostMem hostmem; /* guest memory mapper */
diff --git a/hw/vhost.h b/include/hw/virtio/vhost.h
index f062d48807..b373be0387 100644
--- a/hw/vhost.h
+++ b/include/hw/virtio/vhost.h
@@ -2,7 +2,7 @@
#define VHOST_H
#include "hw/hw.h"
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "exec/memory.h"
/* Generic structures common for any vhost based device. */
diff --git a/hw/9pfs/virtio-9p-device.h b/include/hw/virtio/virtio-9p.h
index 65789db131..65789db131 100644
--- a/hw/9pfs/virtio-9p-device.h
+++ b/include/hw/virtio/virtio-9p.h
diff --git a/hw/virtio-balloon.h b/include/hw/virtio/virtio-balloon.h
index d898315414..3b459bbdd7 100644
--- a/hw/virtio-balloon.h
+++ b/include/hw/virtio/virtio-balloon.h
@@ -15,7 +15,7 @@
#ifndef _QEMU_VIRTIO_BALLOON_H
#define _QEMU_VIRTIO_BALLOON_H
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "hw/pci/pci.h"
#define TYPE_VIRTIO_BALLOON "virtio-balloon"
diff --git a/hw/virtio-blk.h b/include/hw/virtio/virtio-blk.h
index 8c6c78b191..c10d069b25 100644
--- a/hw/virtio-blk.h
+++ b/include/hw/virtio/virtio-blk.h
@@ -14,11 +14,8 @@
#ifndef _QEMU_VIRTIO_BLK_H
#define _QEMU_VIRTIO_BLK_H
-#include "hw/virtio.h"
-#include "hw/block-common.h"
-#ifdef CONFIG_VIRTIO_BLK_DATA_PLANE
-#include "dataplane/virtio-blk.h"
-#endif
+#include "hw/virtio/virtio.h"
+#include "hw/block/block.h"
#define TYPE_VIRTIO_BLK "virtio-blk"
#define VIRTIO_BLK(obj) \
@@ -115,6 +112,8 @@ struct VirtIOBlkConf
uint32_t data_plane;
};
+struct VirtIOBlockDataPlane;
+
typedef struct VirtIOBlock {
VirtIODevice parent_obj;
BlockDriverState *bs;
@@ -126,7 +125,7 @@ typedef struct VirtIOBlock {
unsigned short sector_mask;
VMChangeStateEntry *change;
#ifdef CONFIG_VIRTIO_BLK_DATA_PLANE
- VirtIOBlockDataPlane *dataplane;
+ struct VirtIOBlockDataPlane *dataplane;
#endif
} VirtIOBlock;
diff --git a/hw/virtio-bus.h b/include/hw/virtio/virtio-bus.h
index ae0f7078b4..311e8c78bd 100644
--- a/hw/virtio-bus.h
+++ b/include/hw/virtio/virtio-bus.h
@@ -27,7 +27,7 @@
#include "hw/qdev.h"
#include "sysemu/sysemu.h"
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#define TYPE_VIRTIO_BUS "virtio-bus"
#define VIRTIO_BUS_GET_CLASS(obj) \
diff --git a/hw/virtio-net.h b/include/hw/virtio/virtio-net.h
index 4d1a8cdca0..d2cc996872 100644
--- a/hw/virtio-net.h
+++ b/include/hw/virtio/virtio-net.h
@@ -14,7 +14,7 @@
#ifndef _QEMU_VIRTIO_NET_H
#define _QEMU_VIRTIO_NET_H
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "hw/pci/pci.h"
#define ETH_ALEN 6
diff --git a/hw/virtio-rng.h b/include/hw/virtio/virtio-rng.h
index 3711c97a70..3711c97a70 100644
--- a/hw/virtio-rng.h
+++ b/include/hw/virtio/virtio-rng.h
diff --git a/hw/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
index 31e97bbe38..c9d92ca2e8 100644
--- a/hw/virtio-scsi.h
+++ b/include/hw/virtio/virtio-scsi.h
@@ -14,9 +14,9 @@
#ifndef _QEMU_VIRTIO_SCSI_H
#define _QEMU_VIRTIO_SCSI_H
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
#include "hw/pci/pci.h"
-#include "hw/scsi.h"
+#include "hw/scsi/scsi.h"
#define TYPE_VIRTIO_SCSI "virtio-scsi"
#define VIRTIO_SCSI(obj) \
diff --git a/hw/virtio-serial.h b/include/hw/virtio/virtio-serial.h
index 516400f22d..098deeac4a 100644
--- a/hw/virtio-serial.h
+++ b/include/hw/virtio/virtio-serial.h
@@ -16,7 +16,7 @@
#define _QEMU_VIRTIO_SERIAL_H
#include "hw/qdev.h"
-#include "hw/virtio.h"
+#include "hw/virtio/virtio.h"
/* == Interface shared between the guest kernel and qemu == */
diff --git a/hw/virtio.h b/include/hw/virtio/virtio.h
index fdbe9313a0..7e24b2b69a 100644
--- a/hw/virtio.h
+++ b/include/hw/virtio/virtio.h
@@ -20,7 +20,7 @@
#include "sysemu/sysemu.h"
#include "qemu/event_notifier.h"
#ifdef CONFIG_VIRTFS
-#include "hw/9pfs/virtio-9p-device.h"
+#include "hw/virtio/virtio-9p.h"
#endif
/* from Linux's linux/virtio_config.h */
diff --git a/hw/xen.h b/include/hw/xen/xen.h
index 6235f91fe0..6235f91fe0 100644
--- a/hw/xen.h
+++ b/include/hw/xen/xen.h
diff --git a/hw/xen_backend.h b/include/hw/xen/xen_backend.h
index d04b985d10..3b7d96d7a5 100644
--- a/hw/xen_backend.h
+++ b/include/hw/xen/xen_backend.h
@@ -1,7 +1,7 @@
#ifndef QEMU_HW_XEN_BACKEND_H
#define QEMU_HW_XEN_BACKEND_H 1
-#include "hw/xen_common.h"
+#include "hw/xen/xen_common.h"
#include "sysemu/sysemu.h"
#include "net/net.h"
diff --git a/hw/xen_common.h b/include/hw/xen/xen_common.h
index c37bde3f7e..2d5a25bf40 100644
--- a/hw/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -15,7 +15,7 @@
#include <xen/io/xenbus.h>
#include "hw/hw.h"
-#include "hw/xen.h"
+#include "hw/xen/xen.h"
#include "qemu/queue.h"
/*
diff --git a/hw/xilinx.h b/include/hw/xilinx.h
index 6c1ee21c54..6c1ee21c54 100644
--- a/hw/xilinx.h
+++ b/include/hw/xilinx.h
diff --git a/hw/vhost_net.h b/include/net/vhost_net.h
index 2d936bb5f5..2d936bb5f5 100644
--- a/hw/vhost_net.h
+++ b/include/net/vhost_net.h
diff --git a/hw/watchdog.h b/include/sysemu/watchdog.h
index 3e9a970686..3e9a970686 100644
--- a/hw/watchdog.h
+++ b/include/sysemu/watchdog.h
diff --git a/monitor.c b/monitor.c
index b4bda7777e..c897e8033f 100644
--- a/monitor.c
+++ b/monitor.c
@@ -26,9 +26,9 @@
#include "monitor/qdev.h"
#include "hw/usb.h"
#include "hw/pcmcia.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/pci/pci.h"
-#include "hw/watchdog.h"
+#include "sysemu/watchdog.h"
#include "hw/loader.h"
#include "exec/gdbstub.h"
#include "net/net.h"
@@ -71,9 +71,9 @@
/* for pic/irq_info */
#if defined(TARGET_SPARC)
-#include "hw/sun4m.h"
+#include "hw/sparc/sun4m.h"
#endif
-#include "hw/lm32_pic.h"
+#include "hw/lm32/lm32_pic.h"
//#define DEBUG
//#define DEBUG_COMPLETION
diff --git a/net/tap.c b/net/tap.c
index e7c84811ac..17bdf014a9 100644
--- a/net/tap.c
+++ b/net/tap.c
@@ -42,7 +42,7 @@
#include "net/tap.h"
-#include "hw/vhost_net.h"
+#include "net/vhost_net.h"
typedef struct TAPState {
NetClientState nc;
diff --git a/pc-bios/optionrom/optionrom.h b/pc-bios/optionrom/optionrom.h
index 3daf7da495..ce436085d9 100644
--- a/pc-bios/optionrom/optionrom.h
+++ b/pc-bios/optionrom/optionrom.h
@@ -20,7 +20,7 @@
#define NO_QEMU_PROTOS
-#include "../../hw/fw_cfg.h"
+#include "../../include/hw/nvram/fw_cfg.h"
#define BIOS_CFG_IOPORT_CFG 0x510
#define BIOS_CFG_IOPORT_DATA 0x511
diff --git a/target-arm/arm-semi.c b/target-arm/arm-semi.c
index 847318d1f4..77718c4caa 100644
--- a/target-arm/arm-semi.c
+++ b/target-arm/arm-semi.c
@@ -34,7 +34,7 @@
#else
#include "qemu-common.h"
#include "exec/gdbstub.h"
-#include "hw/arm-misc.h"
+#include "hw/arm.h"
#endif
#define TARGET_SYS_OPEN 0x01
diff --git a/target-arm/kvm.c b/target-arm/kvm.c
index 82e2e084c3..6bfb10350b 100644
--- a/target-arm/kvm.c
+++ b/target-arm/kvm.c
@@ -21,7 +21,7 @@
#include "sysemu/kvm.h"
#include "kvm_arm.h"
#include "cpu.h"
-#include "hw/arm-misc.h"
+#include "hw/arm.h"
const KVMCapabilityInfo kvm_arch_required_capabilities[] = {
KVM_CAP_LAST_INFO
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 69c3570a15..356378c110 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -42,9 +42,9 @@
#include "sysemu/sysemu.h"
#ifndef CONFIG_USER_ONLY
-#include "hw/xen.h"
+#include "hw/xen/xen.h"
#include "hw/sysbus.h"
-#include "hw/apic_internal.h"
+#include "hw/i386/apic_internal.h"
#endif
static void x86_cpu_vendor_words2str(char *dst, uint32_t vendor1,
diff --git a/target-i386/cpu.h b/target-i386/cpu.h
index 069a2e2cf9..2b4e3193f3 100644
--- a/target-i386/cpu.h
+++ b/target-i386/cpu.h
@@ -1164,7 +1164,7 @@ static inline void cpu_clone_regs(CPUX86State *env, target_ulong newsp)
#include "svm.h"
#if !defined(CONFIG_USER_ONLY)
-#include "hw/apic.h"
+#include "hw/i386/apic.h"
#endif
static inline bool cpu_has_work(CPUState *cs)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index df30fa6ed6..397afebecb 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -28,8 +28,8 @@
#include "exec/gdbstub.h"
#include "qemu/host-utils.h"
#include "qemu/config-file.h"
-#include "hw/pc.h"
-#include "hw/apic.h"
+#include "hw/i386/pc.h"
+#include "hw/i386/apic.h"
#include "exec/ioport.h"
#include "hyperv.h"
#include "hw/pci/pci.h"
diff --git a/target-i386/machine.c b/target-i386/machine.c
index b80a5f4470..ee85e57435 100644
--- a/target-i386/machine.c
+++ b/target-i386/machine.c
@@ -1,7 +1,7 @@
#include "hw/hw.h"
#include "hw/boards.h"
-#include "hw/pc.h"
-#include "hw/isa.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/isa.h"
#include "cpu.h"
#include "sysemu/kvm.h"
diff --git a/target-lm32/op_helper.c b/target-lm32/op_helper.c
index 7ff991e28e..f106873ad8 100644
--- a/target-lm32/op_helper.c
+++ b/target-lm32/op_helper.c
@@ -3,8 +3,8 @@
#include "helper.h"
#include "qemu/host-utils.h"
-#include "hw/lm32_pic.h"
-#include "hw/lm32_juart.h"
+#include "hw/lm32/lm32_pic.h"
+#include "hw/lm32/lm32_juart.h"
#if !defined(CONFIG_USER_ONLY)
#define MMUSUFFIX _mmu
diff --git a/target-lm32/translate.c b/target-lm32/translate.c
index e885bb3aeb..af9ce8c337 100644
--- a/target-lm32/translate.c
+++ b/target-lm32/translate.c
@@ -22,7 +22,7 @@
#include "helper.h"
#include "tcg-op.h"
-#include "hw/lm32_pic.h"
+#include "hw/lm32/lm32_pic.h"
#define GEN_HELPER 1
#include "helper.h"
diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
index 597066f5a0..5e9dddbb54 100644
--- a/target-ppc/kvm.c
+++ b/target-ppc/kvm.c
@@ -31,12 +31,12 @@
#include "sysemu/cpus.h"
#include "sysemu/device_tree.h"
#include "hw/sysbus.h"
-#include "hw/spapr.h"
+#include "hw/ppc/spapr.h"
#include "mmu-hash64.h"
#include "hw/sysbus.h"
-#include "hw/spapr.h"
-#include "hw/spapr_vio.h"
+#include "hw/ppc/spapr.h"
+#include "hw/ppc/spapr_vio.h"
//#define DEBUG_KVM
diff --git a/target-sh4/helper.c b/target-sh4/helper.c
index 0a9cb3ac98..ce10ca84ee 100644
--- a/target-sh4/helper.c
+++ b/target-sh4/helper.c
@@ -26,7 +26,7 @@
#include "cpu.h"
#if !defined(CONFIG_USER_ONLY)
-#include "hw/sh_intc.h"
+#include "hw/sh4/sh_intc.h"
#endif
#if defined(CONFIG_USER_ONLY)
diff --git a/tests/rtc-test.c b/tests/rtc-test.c
index 9ab583b860..3395d7f50b 100644
--- a/tests/rtc-test.c
+++ b/tests/rtc-test.c
@@ -11,7 +11,7 @@
*
*/
#include "libqtest.h"
-#include "hw/mc146818rtc_regs.h"
+#include "hw/timer/mc146818rtc_regs.h"
#include <glib.h>
#include <stdio.h>
diff --git a/tests/tmp105-test.c b/tests/tmp105-test.c
index a6ad213de8..2869129df3 100644
--- a/tests/tmp105-test.c
+++ b/tests/tmp105-test.c
@@ -8,7 +8,7 @@
*/
#include "libqtest.h"
#include "libi2c.h"
-#include "hw/tmp105_regs.h"
+#include "hw/misc/tmp105_regs.h"
#include <glib.h>
diff --git a/tpm/tpm_passthrough.c b/tpm/tpm_passthrough.c
index 80a48d68cd..1fdd66d356 100644
--- a/tpm/tpm_passthrough.c
+++ b/tpm/tpm_passthrough.c
@@ -30,7 +30,7 @@
#include "backends/tpm.h"
#include "tpm_int.h"
#include "hw/hw.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "tpm_tis.h"
#include "tpm_backend.h"
diff --git a/tpm/tpm_tis.c b/tpm/tpm_tis.c
index 367f734dc4..f0a4584607 100644
--- a/tpm/tpm_tis.c
+++ b/tpm/tpm_tis.c
@@ -24,7 +24,7 @@
#include "block/block.h"
#include "exec/address-spaces.h"
#include "hw/hw.h"
-#include "hw/pc.h"
+#include "hw/i386/pc.h"
#include "hw/pci/pci_ids.h"
#include "tpm/tpm_tis.h"
#include "qemu-common.h"
diff --git a/tpm/tpm_tis.h b/tpm/tpm_tis.h
index 7f216e56b2..1be4ddc8a1 100644
--- a/tpm/tpm_tis.h
+++ b/tpm/tpm_tis.h
@@ -17,7 +17,7 @@
#ifndef TPM_TPM_TIS_H
#define TPM_TPM_TIS_H
-#include "hw/isa.h"
+#include "hw/isa/isa.h"
#include "qemu-common.h"
#define TPM_TIS_ADDR_BASE 0xFED40000
diff --git a/vl.c b/vl.c
index a8bba043a2..d694a9039b 100644
--- a/vl.c
+++ b/vl.c
@@ -117,12 +117,12 @@ int main(int argc, char **argv)
#include "hw/boards.h"
#include "hw/usb.h"
#include "hw/pcmcia.h"
-#include "hw/pc.h"
-#include "hw/isa.h"
+#include "hw/i386/pc.h"
+#include "hw/isa/isa.h"
#include "hw/bt.h"
-#include "hw/watchdog.h"
-#include "hw/smbios.h"
-#include "hw/xen.h"
+#include "sysemu/watchdog.h"
+#include "hw/i386/smbios.h"
+#include "hw/xen/xen.h"
#include "hw/qdev.h"
#include "hw/loader.h"
#include "monitor/qdev.h"
@@ -137,7 +137,7 @@ int main(int argc, char **argv)
#include "char/char.h"
#include "qemu/cache-utils.h"
#include "sysemu/blockdev.h"
-#include "hw/block-common.h"
+#include "hw/block/block.h"
#include "migration/block.h"
#include "tpm/tpm.h"
#include "sysemu/dma.h"
diff --git a/xen-all.c b/xen-all.c
index 8c05843faf..31f28fc1ae 100644
--- a/xen-all.c
+++ b/xen-all.c
@@ -11,9 +11,9 @@
#include <sys/mman.h>
#include "hw/pci/pci.h"
-#include "hw/pc.h"
-#include "hw/xen_common.h"
-#include "hw/xen_backend.h"
+#include "hw/i386/pc.h"
+#include "hw/xen/xen_common.h"
+#include "hw/xen/xen_backend.h"
#include "qmp-commands.h"
#include "char/char.h"
diff --git a/xen-mapcache.c b/xen-mapcache.c
index 5a626cdf84..eda914a75c 100644
--- a/xen-mapcache.c
+++ b/xen-mapcache.c
@@ -12,7 +12,7 @@
#include <sys/resource.h>
-#include "hw/xen_backend.h"
+#include "hw/xen/xen_backend.h"
#include "sysemu/blockdev.h"
#include "qemu/bitmap.h"
diff --git a/xen-stub.c b/xen-stub.c
index 1ee841137e..6f0516aa3e 100644
--- a/xen-stub.c
+++ b/xen-stub.c
@@ -9,7 +9,7 @@
*/
#include "qemu-common.h"
-#include "hw/xen.h"
+#include "hw/xen/xen.h"
#include "exec/memory.h"
#include "qmp-commands.h"