All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2
@ 2013-04-04 19:22 Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 01/35] build: enable using $(CONFIG_FOO) on the rhs of config files Paolo Bonzini
                   ` (34 more replies)
  0 siblings, 35 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

This time including the requests from mst, slighly simpler
Makefile conditionals (enabled by patch 1), and making files
compile once only when possible.

The following changes since commit c707582b78d01d81fe4e470fd812334be145882d:

  VMXNET3: initialize rx_ridx to eliminate compile warning (2013-04-02 08:15:40 -0500)

are available in the git repository at:

  git://github.com/bonzini/qemu.git hw-dirs

for you to fetch changes up to a08870f8cc7a54f5c7615ff17aaa4092013a3eaa:

  hw: move private headers to hw/ subdirectories. (2013-04-04 21:02:58 +0200)

Paolo

Paolo Bonzini (35):
  build: enable using $(CONFIG_FOO) on the rhs of config files
  hw: move headers to include/
  hw: make subdirectories for devices
  moxie: configure with default-configs file
  hw: move target-independent files to subdirectories
  hw: move virtio devices to hw/ subdirectories
  hw: make all of hw/ide/ configurable via default-configs/
  hw: make all of hw/usb/ configurable via default-configs/
  hw: make all of hw/pci/ configurable via default-configs/
  hw: move watchdogs to hw/watchdog, configure via default-configs/
  hw: move MC146818RTC to hw/timer/, configure via default-configs/
  hw: move NICs to hw/net/, configure via default-configs/
  hw: move block devices to hw/block/, configure via default-configs/
  hw: move audio devices to hw/audio/, configure via default-configs/
  hw: move display devices to hw/display/, configure via
    default-configs/
  hw: move I2C controllers to hw/i2c/, configure via default-configs/
  hw: move SSI controllers to hw/ssi/, configure via default-configs/
  hw: move SCSI controllers to hw/scsi/, configure via default-configs/
  hw: move more files to hw/xen/
  hw: move char devices to hw/char/, configure via default-configs/
  hw: move ISA bridges and devices to hw/isa/, configure with
    default-configs/
  hw: move timer devices to hw/timer/, configure with default-configs/
  hw: move SD/MMC devices to hw/sd/, configure with default-configs/
  hw: move PCI bridges to hw/pci-* or hw/ARCH
  hw: move VFIO and ivshmem to hw/misc/
  hw: move DMA controllers to hw/dma/, configure with default-configs/
  hw: move interrupt controllers to hw/intc/, configure with
    default-configs/
  hw: move GPIO interfaces to hw/gpio/, configure with default-configs/
  hw: move NVRAM interfaces to hw/nvram/, configure with
    default-configs/
  hw: move other devices to hw/misc/, configure with default-configs/
  hw: move ARM CPU cores to hw/cpu/, configure with default-configs/
  hw: move hw/kvm/ to hw/i386/kvm
  hw: move last file to hw/arm/
  MAINTAINERS: update for source code movement
  hw: move private headers to hw/ subdirectories.

 MAINTAINERS                                        | 174 +++++++-------
 Makefile                                           |   5 +-
 arch_init.c                                        |   8 +-
 block/iscsi.c                                      |   4 +-
 blockdev-nbd.c                                     |   2 +-
 blockdev.c                                         |   2 +-
 configure                                          |   2 +-
 default-configs/alpha-softmmu.mak                  |   1 +
 default-configs/arm-softmmu.mak                    |  30 +++
 default-configs/cris-softmmu.mak                   |   1 +
 default-configs/i386-softmmu.mak                   |  19 +-
 default-configs/lm32-softmmu.mak                   |   3 +
 default-configs/m68k-softmmu.mak                   |   1 +
 default-configs/microblaze-softmmu.mak             |   2 +
 default-configs/microblazeel-softmmu.mak           |   2 +
 default-configs/mips-softmmu.mak                   |   4 +-
 default-configs/mips64-softmmu.mak                 |   4 +-
 default-configs/mips64el-softmmu.mak               |   4 +-
 default-configs/mipsel-softmmu.mak                 |   4 +-
 default-configs/moxie-softmmu.mak                  |   4 +
 default-configs/pci.mak                            |   1 +
 default-configs/ppc-softmmu.mak                    |   6 +-
 default-configs/ppc64-softmmu.mak                  |   8 +-
 default-configs/ppcemb-softmmu.mak                 |   6 +-
 default-configs/s390x-softmmu.mak                  |   1 +
 default-configs/sh4-softmmu.mak                    |   3 +
 default-configs/sh4eb-softmmu.mak                  |   3 +
 default-configs/sparc-softmmu.mak                  |   8 +
 default-configs/sparc64-softmmu.mak                |   2 +
 default-configs/x86_64-softmmu.mak                 |  19 +-
 exec.c                                             |   2 +-
 gdbstub.c                                          |   2 +-
 hw/9pfs/virtio-9p-device.c                         |   4 +-
 hw/9pfs/virtio-9p-handle.c                         |   2 +-
 hw/9pfs/virtio-9p-local.c                          |   2 +-
 hw/9pfs/virtio-9p-posix-acl.c                      |   2 +-
 hw/9pfs/virtio-9p-proxy.c                          |   2 +-
 hw/9pfs/virtio-9p-synth.c                          |   2 +-
 hw/9pfs/virtio-9p-xattr-user.c                     |   2 +-
 hw/9pfs/virtio-9p-xattr.c                          |   2 +-
 hw/9pfs/virtio-9p.c                                |   4 +-
 hw/9pfs/virtio-9p.h                                |   2 +-
 hw/Makefile.objs                                   | 250 +++------------------
 hw/acpi/Makefile.objs                              |   2 +
 hw/{acpi.c => acpi/core.c}                         |   4 +-
 hw/{acpi_ich9.c => acpi/ich9.c}                    |   6 +-
 hw/{acpi_piix4.c => acpi/piix4.c}                  |  10 +-
 hw/alpha/Makefile.objs                             |   7 +-
 hw/{ => alpha}/alpha_sys.h                         |   2 +-
 hw/alpha/dp264.c                                   |   8 +-
 hw/alpha/pci.c                                     |   2 +-
 hw/{alpha_typhoon.c => alpha/typhoon.c}            |   4 +-
 hw/arm/Makefile.objs                               |  31 +--
 hw/arm/armv7m.c                                    |   2 +-
 hw/arm/boot.c                                      |   2 +-
 hw/arm/collie.c                                    |   8 +-
 hw/arm/exynos4210.c                                |   4 +-
 hw/arm/exynos4_boards.c                            |   4 +-
 hw/arm/gumstix.c                                   |   6 +-
 hw/arm/highbank.c                                  |   4 +-
 hw/arm/integratorcp.c                              |   4 +-
 hw/arm/kzm.c                                       |   8 +-
 hw/arm/mainstone.c                                 |   8 +-
 hw/arm/musicpal.c                                  |  10 +-
 hw/arm/nseries.c                                   |  10 +-
 hw/arm/omap1.c                                     |   6 +-
 hw/arm/omap2.c                                     |   8 +-
 hw/arm/omap_sx1.c                                  |   6 +-
 hw/arm/palm.c                                      |   6 +-
 hw/arm/pic_cpu.c                                   |   2 +-
 hw/arm/pxa2xx.c                                    |   6 +-
 hw/arm/pxa2xx_gpio.c                               |   2 +-
 hw/arm/pxa2xx_pic.c                                |   2 +-
 hw/arm/realview.c                                  |   8 +-
 hw/arm/spitz.c                                     |  12 +-
 hw/arm/stellaris.c                                 |   6 +-
 hw/{ => arm}/strongarm.c                           |   4 +-
 hw/{ => arm}/strongarm.h                           |   0
 hw/arm/tosa.c                                      |  10 +-
 hw/arm/versatilepb.c                               |   8 +-
 hw/arm/vexpress.c                                  |   8 +-
 hw/arm/xilinx_zynq.c                               |   4 +-
 hw/arm/z2.c                                        |  10 +-
 hw/audio/Makefile.objs                             |  20 ++
 hw/{ => audio}/ac97.c                              |   2 +-
 hw/{ => audio}/adlib.c                             |   6 +-
 hw/{ => audio}/cs4231.c                            |   0
 hw/{ => audio}/cs4231a.c                           |   4 +-
 hw/{ => audio}/es1370.c                            |   2 +-
 hw/{ => audio}/fmopl.c                             |   2 +-
 hw/{ => audio}/fmopl.h                             |   0
 hw/{ => audio}/gus.c                               |   8 +-
 hw/{ => audio}/gusemu.h                            |   0
 hw/{ => audio}/gusemu_hal.c                        |   4 +-
 hw/{ => audio}/gusemu_mixer.c                      |   4 +-
 hw/{ => audio}/gustate.h                           |   0
 hw/{hda-audio.c => audio/hda-codec.c}              |   4 +-
 hw/{ => audio}/intel-hda-defs.h                    |   0
 hw/{ => audio}/intel-hda.c                         |   6 +-
 hw/{ => audio}/intel-hda.h                         |   0
 hw/{ => audio}/lm4549.c                            |   2 +-
 hw/{ => audio}/lm4549.h                            |   0
 .../marvell_88w8618.c}                             |   2 +-
 hw/{ => audio}/milkymist-ac97.c                    |   0
 hw/{ => audio}/pcspk.c                             |   8 +-
 hw/{ => audio}/pl041.c                             |   4 +-
 hw/{ => audio}/pl041.h                             |   0
 hw/{ => audio}/pl041.hx                            |   0
 hw/{ => audio}/sb16.c                              |   4 +-
 hw/{ => audio}/wm8750.c                            |   2 +-
 hw/block/Makefile.objs                             |  15 ++
 hw/{block-common.c => block/block.c}               |   2 +-
 hw/{ => block}/cdrom.c                             |   2 +-
 hw/block/dataplane/Makefile.objs                   |   1 +
 hw/{ => block}/dataplane/ioq.c                     |   0
 hw/{ => block}/dataplane/ioq.h                     |   0
 hw/{ => block}/dataplane/virtio-blk.c              |   6 +-
 hw/{ => block}/dataplane/virtio-blk.h              |   2 +-
 hw/{ => block}/ecc.c                               |   2 +-
 hw/{ => block}/fdc.c                               |   4 +-
 hw/{ => block}/hd-geometry.c                       |   2 +-
 hw/{ => block}/m25p80.c                            |   2 +-
 hw/{ => block}/nand.c                              |   2 +-
 hw/{ => block}/onenand.c                           |   2 +-
 hw/{ => block}/pc_sysfw.c                          |   4 +-
 hw/{ => block}/pflash_cfi01.c                      |   2 +-
 hw/{ => block}/pflash_cfi02.c                      |   2 +-
 hw/{ => block}/tc58128.c                           |   2 +-
 hw/{ => block}/virtio-blk.c                        |  11 +-
 hw/{ => block}/xen_blkif.h                         |   0
 hw/{ => block}/xen_disk.c                          |   4 +-
 hw/bt/Makefile.objs                                |   3 +
 hw/{bt.c => bt/core.c}                             |   0
 hw/{bt-hci-csr.c => bt/hci-csr.c}                  |   0
 hw/{bt-hci.c => bt/hci.c}                          |   0
 hw/{bt-hid.c => bt/hid.c}                          |   2 +-
 hw/{bt-l2cap.c => bt/l2cap.c}                      |   0
 hw/{bt-sdp.c => bt/sdp.c}                          |   0
 hw/char/Makefile.objs                              |  27 +++
 hw/{ => char}/cadence_uart.c                       |   0
 hw/{ => char}/debugcon.c                           |   4 +-
 hw/{ => char}/escc.c                               |   2 +-
 hw/{ => char}/etraxfs_ser.c                        |   2 -
 hw/{ => char}/exynos4210_uart.c                    |   2 +-
 hw/{ => char}/grlib_apbuart.c                      |   0
 hw/{ => char}/imx_serial.c                         |   2 +-
 hw/{ => char}/ipack.c                              |   2 +-
 hw/{ => char}/ipack.h                              |   0
 hw/{ => char}/ipoctal232.c                         |   2 +-
 hw/{ => char}/lm32_juart.c                         |   2 +-
 hw/{ => char}/lm32_uart.c                          |   0
 hw/{ => char}/mcf_uart.c                           |   2 +-
 hw/{ => char}/milkymist-uart.c                     |   0
 hw/{ => char}/omap_uart.c                          |   4 +-
 hw/{ => char}/parallel.c                           |   4 +-
 hw/{ => char}/pl011.c                              |   0
 hw/{s390x => char}/sclpconsole.c                   |   2 +-
 hw/{ => char}/serial-isa.c                         |   4 +-
 hw/{ => char}/serial-pci.c                         |   2 +-
 hw/{ => char}/serial.c                             |   2 +-
 hw/{ => char}/sh_serial.c                          |   2 +-
 hw/{ => char}/spapr_vty.c                          |   4 +-
 hw/{ => char}/tpci200.c                            |   2 +-
 hw/{ => char}/virtio-console.c                     |   2 +-
 hw/{ => char}/virtio-serial-bus.c                  |   2 +-
 hw/{ => char}/xen_console.c                        |   2 +-
 hw/{ => char}/xilinx_uartlite.c                    |   0
 hw/core/Makefile.objs                              |  14 ++
 hw/{ => core}/empty_slot.c                         |   0
 hw/{ => core}/irq.c                                |   0
 hw/{ => core}/loader.c                             |   4 +-
 hw/{ => core}/null-machine.c                       |   0
 hw/{ => core}/ptimer.c                             |   0
 hw/{ => core}/qdev-addr.c                          |   0
 hw/{ => core}/qdev-properties-system.c             |   2 +-
 hw/{ => core}/qdev-properties.c                    |   2 +-
 hw/{ => core}/qdev.c                               |   0
 hw/{ => core}/stream.c                             |   0
 hw/{ => core}/sysbus.c                             |   0
 hw/{ => core}/uboot_image.h                        |   0
 hw/cpu/Makefile.objs                               |   4 +
 hw/{ => cpu}/a15mpcore.c                           |   0
 hw/{ => cpu}/a9mpcore.c                            |   0
 hw/{ => cpu}/arm11mpcore.c                         |   0
 hw/cris/Makefile.objs                              |  10 -
 hw/cris/axis_dev88.c                               |   6 +-
 hw/cris/boot.c                                     |   2 +-
 hw/{cris-boot.h => cris/boot.h}                    |   0
 hw/cris/pic_cpu.c                                  |   2 +-
 hw/dataplane/Makefile.objs                         |   1 -
 hw/display/Makefile.objs                           |  34 +++
 hw/{ => display}/ads7846.c                         |   0
 hw/{ => display}/blizzard.c                        |  14 +-
 hw/{ => display}/blizzard_template.h               |   2 +-
 hw/{ => display}/cirrus_vga.c                      |  38 ++--
 hw/{ => display}/cirrus_vga_rop.h                  |   8 +-
 hw/{ => display}/cirrus_vga_rop2.h                 |   0
 hw/{ => display}/cirrus_vga_template.h             |   0
 hw/{ => display}/exynos4210_fimd.c                 |   5 +-
 hw/{ => display}/framebuffer.c                     |   2 +-
 hw/{ => display}/framebuffer.h                     |   0
 hw/{ => display}/g364fb.c                          |   0
 hw/{ => display}/jazz_led.c                        |   0
 hw/{ => display}/milkymist-tmu2.c                  |   0
 hw/{ => display}/milkymist-vgafb.c                 |  12 +-
 hw/{ => display}/milkymist-vgafb_template.h        |   2 +-
 hw/{ => display}/omap_dss.c                        |   2 +-
 hw/{ => display}/omap_lcd_template.h               |   0
 hw/{ => display}/omap_lcdc.c                       |  12 +-
 hw/{ => display}/pl110.c                           |  12 +-
 hw/{ => display}/pl110_template.h                  |  12 +-
 hw/{ => display}/pxa2xx_lcd.c                      |  14 +-
 hw/{ => display}/pxa2xx_template.h                 |   0
 hw/{ => display}/qxl-logger.c                      |   2 +-
 hw/{ => display}/qxl-render.c                      |   2 +-
 hw/{ => display}/qxl.c                             |   2 +-
 hw/{ => display}/qxl.h                             |   2 +-
 hw/{ => display}/sm501.c                           |  18 +-
 hw/{ => display}/sm501_template.h                  |   0
 hw/{ => display}/ssd0303.c                         |   2 +-
 hw/{ => display}/ssd0323.c                         |   0
 hw/{ => display}/tc6393xb.c                        |  14 +-
 hw/{ => display}/tc6393xb_template.h               |   0
 hw/{ => display}/tcx.c                             |   0
 hw/{ => display}/vga-isa-mm.c                      |   4 +-
 hw/{ => display}/vga-isa.c                         |   4 +-
 hw/{ => display}/vga-pci.c                         |   2 +-
 hw/{ => display}/vga.c                             |  22 +-
 hw/{ => display}/vga.h                             |   0
 hw/{ => display}/vga_int.h                         |   0
 hw/{ => display}/vga_template.h                    |   0
 hw/{ => display}/vmware_vga.c                      |   2 +-
 hw/{ => display}/xenfb.c                           |   2 +-
 hw/dma/Makefile.objs                               |  13 ++
 hw/{ => dma}/etraxfs_dma.c                         |   2 +-
 hw/{ => dma}/i82374.c                              |   2 +-
 hw/{dma.c => dma/i8257.c}                          |   2 +-
 hw/{ => dma}/omap_dma.c                            |   4 +-
 hw/{ => dma}/pl080.c                               |   0
 hw/{ => dma}/pl330.c                               |   2 +-
 hw/{ => dma}/puv3_dma.c                            |   2 +-
 hw/{ => dma}/pxa2xx_dma.c                          |   2 +-
 hw/{ => dma}/rc4030.c                              |   2 +-
 hw/{ => dma}/soc_dma.c                             |   2 +-
 hw/{ => dma}/sparc32_dma.c                         |   4 +-
 hw/{ => dma}/sun4m_iommu.c                         |   5 +-
 hw/{ => dma}/xilinx_axidma.c                       |   0
 hw/gpio/Makefile.objs                              |   6 +
 hw/{ => gpio}/max7310.c                            |   2 +-
 hw/{ => gpio}/omap_gpio.c                          |   2 +-
 hw/{ => gpio}/pl061.c                              |   0
 hw/{ => gpio}/puv3_gpio.c                          |   2 +-
 hw/{ => gpio}/zaurus.c                             |   2 +-
 hw/i2c/Makefile.objs                               |   7 +
 hw/{ => i2c}/bitbang_i2c.c                         |   2 +-
 hw/{ => i2c}/bitbang_i2c.h                         |   2 +-
 hw/{i2c.c => i2c/core.c}                           |   2 +-
 hw/{ => i2c}/exynos4210_i2c.c                      |   2 +-
 hw/{ => i2c}/omap_i2c.c                            |   4 +-
 hw/{ => i2c}/pm_smbus.c                            |   6 +-
 hw/{ => i2c}/smbus.c                               |   4 +-
 hw/{ => i2c}/smbus_eeprom.c                        |   4 +-
 hw/{ => i2c}/smbus_ich9.c                          |  10 +-
 hw/{ => i2c}/versatile_i2c.c                       |   2 +-
 hw/i386/Makefile.objs                              |  18 +-
 hw/i386/kvm/Makefile.objs                          |   1 +
 hw/{ => i386}/kvm/apic.c                           |   2 +-
 hw/{ => i386}/kvm/clock.c                          |   0
 hw/{ => i386}/kvm/i8254.c                          |   4 +-
 hw/{ => i386}/kvm/i8259.c                          |   4 +-
 hw/{ => i386}/kvm/ioapic.c                         |   6 +-
 hw/{ => i386}/kvm/pci-assign.c                     |   2 +-
 hw/i386/kvmvapic.c                                 |   2 +-
 hw/i386/multiboot.c                                |   4 +-
 hw/{ => i386}/multiboot.h                          |   0
 hw/i386/pc.c                                       |  26 +--
 hw/i386/pc_piix.c                                  |   8 +-
 hw/i386/pc_q35.c                                   |  10 +-
 hw/i386/smbios.c                                   |   2 +-
 hw/i386/xen_domainbuild.c                          |   4 +-
 hw/{ => i386}/xen_domainbuild.h                    |   2 +-
 hw/i386/xen_machine_pv.c                           |   6 +-
 hw/ide/Makefile.objs                               |   2 +
 hw/ide/ahci.c                                      |   2 +-
 hw/ide/atapi.c                                     |   2 +-
 hw/ide/cmd646.c                                    |   4 +-
 hw/ide/core.c                                      |   6 +-
 hw/ide/ich.c                                       |   4 +-
 hw/ide/internal.h                                  |   6 +-
 hw/ide/isa.c                                       |   4 +-
 hw/ide/macio.c                                     |   2 +-
 hw/ide/microdrive.c                                |   2 +-
 hw/ide/pci.c                                       |   4 +-
 hw/ide/piix.c                                      |   4 +-
 hw/ide/qdev.c                                      |   2 +-
 hw/ide/via.c                                       |   4 +-
 hw/input/Makefile.objs                             |  13 ++
 hw/{ => input}/adb.c                               |   2 +-
 hw/{ => input}/hid.c                               |   2 +-
 hw/{ => input}/lm832x.c                            |   2 +-
 hw/{ => input}/milkymist-softusb.c                 |   2 +-
 hw/{ => input}/pckbd.c                             |   6 +-
 hw/{ => input}/pl050.c                             |   2 +-
 hw/{ => input}/ps2.c                               |   2 +-
 hw/{ => input}/pxa2xx_keypad.c                     |   2 +-
 hw/{ => input}/stellaris_input.c                   |   2 +-
 hw/{ => input}/tsc2005.c                           |   2 +-
 hw/{ => input}/tsc210x.c                           |   4 +-
 hw/{ => input}/vmmouse.c                           |   4 +-
 hw/intc/Makefile.objs                              |  23 ++
 hw/{ => intc}/apic.c                               |  10 +-
 hw/{ => intc}/apic_common.c                        |   4 +-
 hw/{ => intc}/arm_gic.c                            |   2 +-
 hw/{ => intc}/arm_gic_common.c                     |   2 +-
 hw/{kvm/arm_gic.c => intc/arm_gic_kvm.c}           |   2 +-
 hw/{ => intc}/armv7m_nvic.c                        |   4 +-
 hw/{ => intc}/etraxfs_pic.c                        |   0
 hw/{ => intc}/exynos4210_combiner.c                |   2 +-
 hw/{ => intc}/exynos4210_gic.c                     |   2 +-
 hw/{arm_gic_internal.h => intc/gic_internal.h}     |   0
 hw/{ => intc}/grlib_irqmp.c                        |   2 +-
 hw/{ => intc}/heathrow_pic.c                       |   0
 hw/{ => intc}/i8259.c                              |   6 +-
 hw/{ => intc}/i8259_common.c                       |   4 +-
 hw/{ => intc}/imx_avic.c                           |   0
 hw/{ => intc}/ioapic.c                             |   7 +-
 hw/{ => intc}/ioapic_common.c                      |   4 +-
 hw/{ => intc}/lm32_pic.c                           |   4 +-
 hw/{ => intc}/omap_intc.c                          |   2 +-
 hw/{ => intc}/openpic.c                            |   4 +-
 hw/{ => intc}/pl190.c                              |   0
 hw/{ => intc}/puv3_intc.c                          |   2 +-
 hw/{ => intc}/realview_gic.c                       |   0
 hw/{ => intc}/sbi.c                                |   0
 hw/{ => intc}/sh_intc.c                            |   4 +-
 hw/{ => intc}/slavio_intctl.c                      |   2 +-
 hw/{ => intc}/sun4c_intctl.c                       |   2 +-
 hw/{ => intc}/xilinx_intc.c                        |   0
 hw/isa/Makefile.objs                               |   9 +
 hw/{ => isa}/apm.c                                 |   2 +-
 hw/{ => isa}/i82378.c                              |   6 +-
 hw/{ => isa}/isa-bus.c                             |   2 +-
 hw/{ => isa}/isa_mmio.c                            |   2 +-
 hw/{ => isa}/lpc_ich9.c                            |  15 +-
 hw/{ => isa}/pc87312.c                             |   2 +-
 hw/{ => isa}/piix4.c                               |   4 +-
 hw/{ => isa}/vt82c686.c                            |  18 +-
 hw/kvm/Makefile.objs                               |   1 -
 hw/lm32/Makefile.objs                              |  20 --
 hw/{ => lm32}/lm32.h                               |   0
 hw/lm32/lm32_boards.c                              |   8 +-
 hw/{ => lm32}/lm32_hwsetup.h                       |   0
 hw/{ => lm32}/milkymist-hw.h                       |   0
 hw/lm32/milkymist.c                                |   8 +-
 hw/m68k/Makefile.objs                              |   4 -
 hw/m68k/an5206.c                                   |   2 +-
 hw/m68k/mcf5206.c                                  |   2 +-
 hw/m68k/mcf5208.c                                  |   2 +-
 hw/m68k/mcf_intc.c                                 |   2 +-
 hw/microblaze/Makefile.objs                        |   5 -
 hw/microblaze/boot.c                               |   2 +-
 hw/{microblaze_boot.h => microblaze/boot.h}        |   0
 hw/microblaze/petalogix_ml605_mmu.c                |  10 +-
 hw/microblaze/petalogix_s3adsp1800_mmu.c           |   8 +-
 hw/microblaze/pic_cpu.c                            |   2 +-
 hw/{microblaze_pic_cpu.h => microblaze/pic_cpu.h}  |   0
 hw/mips/Makefile.objs                              |   6 +-
 hw/mips/addr.c                                     |   2 +-
 hw/mips/cputimer.c                                 |   2 +-
 hw/{gt64xxx.c => mips/gt64xxx_pci.c}               |   4 +-
 hw/mips/mips_fulong2e.c                            |  22 +-
 hw/mips/mips_int.c                                 |   2 +-
 hw/mips/mips_jazz.c                                |  22 +-
 hw/mips/mips_malta.c                               |  20 +-
 hw/mips/mips_mipssim.c                             |  10 +-
 hw/mips/mips_r4k.c                                 |  18 +-
 hw/misc/Makefile.objs                              |  40 ++++
 hw/{ => misc}/a9scu.c                              |   0
 hw/{ => misc}/applesmc.c                           |   2 +-
 hw/{ => misc}/arm_l2x0.c                           |   0
 hw/{ => misc}/arm_sysctl.c                         |   2 +-
 hw/{ => misc}/cbus.c                               |   2 +-
 hw/{ => misc}/debugexit.c                          |   2 +-
 hw/{ => misc}/eccmemctl.c                          |   0
 hw/{ => misc}/exynos4210_pmu.c                     |   0
 hw/{ => misc}/imx_ccm.c                            |   2 +-
 hw/{ => misc}/ivshmem.c                            |   2 +-
 hw/{ => misc}/lm32_sys.c                           |   0
 hw/misc/macio/Makefile.objs                        |   3 +
 hw/{ => misc/macio}/cuda.c                         |   2 +-
 hw/{ => misc/macio}/mac_dbdma.c                    |   4 +-
 hw/{ => misc/macio}/macio.c                        |   4 +-
 hw/{ => misc}/max111x.c                            |   0
 hw/{ => misc}/milkymist-hpdmc.c                    |   0
 hw/{ => misc}/milkymist-pfpu.c                     |   0
 hw/{ => misc}/mst_fpga.c                           |   0
 hw/{ => misc}/omap_clk.c                           |   2 +-
 hw/{ => misc}/omap_gpmc.c                          |   4 +-
 hw/{ => misc}/omap_l4.c                            |   2 +-
 hw/{ => misc}/omap_sdrc.c                          |   2 +-
 hw/{ => misc}/omap_tap.c                           |   2 +-
 hw/{ => misc}/pc-testdev.c                         |   2 +-
 hw/{ => misc}/puv3_pm.c                            |   2 +-
 hw/{ => misc}/pxa2xx_pcmcia.c                      |   2 +-
 hw/{ => misc}/sga.c                                |   2 +-
 hw/{ => misc}/slavio_misc.c                        |   0
 hw/{ => misc}/tmp105.c                             |   4 +-
 hw/{ => misc}/tmp105.h                             |   4 +-
 hw/{vfio_pci.c => misc/vfio.c}                     |   0
 hw/{ => misc}/vmport.c                             |   4 +-
 hw/{ => misc}/zynq_slcr.c                          |   0
 hw/moxie/Makefile.objs                             |   3 -
 hw/moxie/moxiesim.c                                |   6 +-
 hw/net/Makefile.objs                               |  33 +++
 hw/{ => net}/cadence_gem.c                         |   0
 hw/{ => net}/dp8393x.c                             |   2 +-
 hw/{ => net}/e1000.c                               |   2 +-
 hw/{e1000_hw.h => net/e1000_regs.h}                |   0
 hw/{ => net}/eepro100.c                            |   2 +-
 hw/{ => net}/etraxfs_eth.c                         |   2 +-
 hw/{ => net}/lan9118.c                             |   2 +-
 hw/{ => net}/lance.c                               |   4 +-
 hw/{ => net}/mcf_fec.c                             |   2 +-
 hw/{ => net}/milkymist-minimac2.c                  |   0
 hw/{ => net}/mipsnet.c                             |   0
 hw/{ => net}/ne2000-isa.c                          |   6 +-
 hw/{ => net}/ne2000.c                              |   2 +-
 hw/{ => net}/ne2000.h                              |   0
 hw/{ => net}/opencores_eth.c                       |   0
 hw/{ => net}/pcnet-pci.c                           |   2 +-
 hw/{ => net}/pcnet.c                               |   2 +-
 hw/{ => net}/pcnet.h                               |   0
 hw/{ => net}/rtl8139.c                             |   0
 hw/{ => net}/smc91c111.c                           |   2 +-
 hw/{ => net}/spapr_llan.c                          |   4 +-
 hw/{ => net}/stellaris_enet.c                      |   0
 hw/{ => net}/vhost_net.c                           |   6 +-
 hw/{ => net}/virtio-net.c                          |   6 +-
 hw/{ => net}/vmware_utils.h                        |   0
 hw/{ => net}/vmxnet3.c                             |   9 +-
 hw/{ => net}/vmxnet3.h                             |   0
 hw/{ => net}/vmxnet_debug.h                        |   0
 hw/{ => net}/vmxnet_rx_pkt.c                       |   0
 hw/{ => net}/vmxnet_rx_pkt.h                       |   0
 hw/{ => net}/vmxnet_tx_pkt.c                       |   0
 hw/{ => net}/vmxnet_tx_pkt.h                       |   0
 hw/{ => net}/xen_nic.c                             |   2 +-
 hw/{ => net}/xgmac.c                               |   0
 hw/{ => net}/xilinx_axienet.c                      |   0
 hw/{ => net}/xilinx_ethlite.c                      |   0
 hw/nvram/Makefile.objs                             |   5 +
 hw/{ => nvram}/ds1225y.c                           |   0
 hw/{ => nvram}/eeprom93xx.c                        |   2 +-
 hw/{ => nvram}/fw_cfg.c                            |   4 +-
 hw/{ => nvram}/mac_nvram.c                         |   2 +-
 hw/{ => nvram}/spapr_nvram.c                       |   4 +-
 hw/openrisc/openrisc_sim.c                         |   2 +-
 hw/pci-bridge/Makefile.objs                        |   3 +
 hw/{ => pci-bridge}/i82801b11.c                    |   2 +-
 hw/{ => pci-bridge}/ioh3420.c                      |   2 +-
 hw/{ => pci-bridge}/ioh3420.h                      |   0
 hw/{ => pci-bridge}/pci_bridge_dev.c               |   0
 hw/{ => pci-bridge}/xio3130_downstream.c           |   2 +-
 hw/{ => pci-bridge}/xio3130_downstream.h           |   0
 hw/{ => pci-bridge}/xio3130_upstream.c             |   2 +-
 hw/{ => pci-bridge}/xio3130_upstream.h             |   0
 hw/pci-host/Makefile.objs                          |  18 ++
 hw/{apb_pci.c => pci-host/apb.c}                   |  10 +-
 hw/{ => pci-host}/bonito.c                         |   4 +-
 hw/{dec_pci.c => pci-host/dec.c}                   |   2 +-
 hw/{dec_pci.h => pci-host/dec.h}                   |   0
 hw/{grackle_pci.c => pci-host/grackle.c}           |   0
 hw/{ => pci-host}/pam.c                            |   2 +-
 hw/{piix_pci.c => pci-host/piix.c}                 |   8 +-
 hw/{ppce500_pci.c => pci-host/ppce500.c}           |   2 +-
 hw/{prep_pci.c => pci-host/prep.c}                 |   2 +-
 hw/{ => pci-host}/q35.c                            |   2 +-
 hw/{unin_pci.c => pci-host/uninorth.c}             |   0
 hw/{versatile_pci.c => pci-host/versatile.c}       |   0
 hw/pci/Makefile.objs                               |   4 +-
 hw/pci/pci-hotplug.c                               |   6 +-
 hw/ppc/Makefile.objs                               |  18 +-
 hw/ppc/e500.c                                      |   8 +-
 hw/ppc/e500plat.c                                  |   2 +-
 hw/ppc/mac.h                                       |   2 +-
 hw/ppc/mac_newworld.c                              |  14 +-
 hw/ppc/mac_oldworld.c                              |  12 +-
 hw/ppc/mpc8544ds.c                                 |   2 +-
 hw/ppc/ppc.c                                       |   4 +-
 hw/{ => ppc}/ppc405.h                              |   2 +-
 hw/ppc/ppc405_boards.c                             |   8 +-
 hw/ppc/ppc405_uc.c                                 |   6 +-
 hw/ppc/ppc440_bamboo.c                             |   6 +-
 hw/ppc/ppc4xx_devs.c                               |   4 +-
 hw/{ => ppc}/ppc4xx_pci.c                          |   4 +-
 hw/ppc/ppc_booke.c                                 |   4 +-
 hw/ppc/prep.c                                      |  16 +-
 hw/ppc/spapr.c                                     |  10 +-
 hw/ppc/spapr_events.c                              |   4 +-
 hw/ppc/spapr_hcall.c                               |   2 +-
 hw/ppc/spapr_iommu.c                               |   2 +-
 hw/{ => ppc}/spapr_pci.c                           |   4 +-
 hw/ppc/spapr_rtas.c                                |   4 +-
 hw/ppc/spapr_vio.c                                 |   6 +-
 hw/ppc/virtex_ml507.c                              |  12 +-
 hw/ppc/xics.c                                      |   4 +-
 hw/s390x/Makefile.objs                             |   2 +-
 hw/s390x/s390-virtio-bus.c                         |  10 +-
 hw/s390x/s390-virtio-bus.h                         |  12 +-
 hw/s390x/s390-virtio.c                             |   2 +-
 hw/s390x/virtio-ccw.c                              |   8 +-
 hw/s390x/virtio-ccw.h                              |  14 +-
 hw/scsi/Makefile.objs                              |   8 +
 hw/{ => scsi}/esp-pci.c                            |   4 +-
 hw/{ => scsi}/esp.c                                |   2 +-
 hw/{ => scsi}/lsi53c895a.c                         |   2 +-
 hw/{ => scsi}/megasas.c                            |   6 +-
 hw/{ => scsi}/mfi.h                                |   0
 hw/{ => scsi}/scsi-bus.c                           |   4 +-
 hw/{ => scsi}/scsi-disk.c                          |   6 +-
 hw/{ => scsi}/scsi-generic.c                       |   4 +-
 hw/{ => scsi}/spapr_vscsi.c                        |  12 +-
 hw/{ => scsi}/srp.h                                |   0
 hw/{ppc-viosrp.h => scsi/viosrp.h}                 |   0
 hw/{ => scsi}/virtio-scsi.c                        |   8 +-
 hw/sd/Makefile.objs                                |   8 +
 hw/{ => sd}/milkymist-memcard.c                    |   0
 hw/{ => sd}/omap_mmc.c                             |   2 +-
 hw/{ => sd}/pl181.c                                |   0
 hw/{ => sd}/pxa2xx_mmci.c                          |   2 +-
 hw/{ => sd}/sd.c                                   |   0
 hw/{ => sd}/sdhci.c                                |   2 +-
 hw/{ => sd}/sdhci.h                                |   0
 hw/{ => sd}/ssi-sd.c                               |   0
 hw/sh4/Makefile.objs                               |   7 +-
 hw/sh4/r2d.c                                       |   8 +-
 hw/sh4/sh7750.c                                    |   8 +-
 hw/sh4/sh7750_regnames.c                           |   6 +-
 hw/{ => sh4}/sh7750_regnames.h                     |   0
 hw/{ => sh4}/sh7750_regs.h                         |   0
 hw/{ => sh4}/sh_pci.c                              |   2 +-
 hw/sh4/shix.c                                      |   2 +-
 hw/sparc/Makefile.objs                             |   9 -
 hw/sparc/leon3.c                                   |   2 +-
 hw/sparc/sun4m.c                                   |  20 +-
 hw/sparc64/Makefile.objs                           |   5 -
 hw/sparc64/sun4u.c                                 |  14 +-
 hw/ssi/Makefile.objs                               |   6 +
 hw/{ => ssi}/omap_spi.c                            |   2 +-
 hw/{ => ssi}/pl022.c                               |   0
 hw/{ => ssi}/ssi.c                                 |   0
 hw/{ => ssi}/xilinx_spi.c                          |   0
 hw/{ => ssi}/xilinx_spips.c                        |   0
 hw/timer/Makefile.objs                             |  28 +++
 hw/{ => timer}/arm_mptimer.c                       |   0
 hw/{ => timer}/arm_timer.c                         |   0
 hw/{ => timer}/cadence_ttc.c                       |   0
 hw/{ => timer}/ds1338.c                            |   2 +-
 hw/{ => timer}/etraxfs_timer.c                     |   0
 hw/{ => timer}/exynos4210_mct.c                    |   2 +-
 hw/{ => timer}/exynos4210_pwm.c                    |   2 +-
 hw/{ => timer}/exynos4210_rtc.c                    |   2 +-
 hw/{ => timer}/grlib_gptimer.c                     |   0
 hw/{ => timer}/hpet.c                              |   8 +-
 hw/{ => timer}/i8254.c                             |   8 +-
 hw/{ => timer}/i8254_common.c                      |   8 +-
 hw/{ => timer}/imx_timer.c                         |   2 +-
 hw/{ => timer}/lm32_timer.c                        |   0
 hw/{ => timer}/m48t59.c                            |   4 +-
 hw/{ => timer}/mc146818rtc.c                       |   4 +-
 hw/{ => timer}/milkymist-sysctl.c                  |   0
 hw/{ => timer}/omap_gptimer.c                      |   2 +-
 hw/{ => timer}/omap_synctimer.c                    |   2 +-
 hw/{ => timer}/pl031.c                             |   0
 hw/{ => timer}/puv3_ost.c                          |   2 +-
 hw/{ => timer}/pxa2xx_timer.c                      |   2 +-
 hw/{ => timer}/sh_timer.c                          |   2 +-
 hw/{ => timer}/slavio_timer.c                      |   2 +-
 hw/{ => timer}/tusb6010.c                          |   4 +-
 hw/{ => timer}/twl92230.c                          |   2 +-
 hw/{ => timer}/xilinx_timer.c                      |   0
 hw/unicore32/puv3.c                                |   4 +-
 hw/usb/Makefile.objs                               |   8 +-
 hw/{ => usb}/ccid-card-emulated.c                  |   2 +-
 hw/{ => usb}/ccid-card-passthru.c                  |   2 +-
 hw/{ => usb}/ccid.h                                |   0
 hw/usb/dev-audio.c                                 |   2 +-
 hw/usb/dev-hid.c                                   |   2 +-
 hw/usb/dev-smartcard-reader.c                      |   2 +-
 hw/usb/dev-storage.c                               |   2 +-
 hw/usb/dev-uas.c                                   |   4 +-
 hw/virtio/Makefile.objs                            |   7 +
 hw/virtio/dataplane/Makefile.objs                  |   1 +
 hw/{ => virtio}/dataplane/hostmem.c                |   2 +-
 hw/{ => virtio}/dataplane/vring.c                  |   2 +-
 hw/{ => virtio}/vhost.c                            |   2 +-
 hw/{ => virtio}/virtio-balloon.c                   |   8 +-
 hw/{ => virtio}/virtio-bus.c                       |   4 +-
 hw/{ => virtio}/virtio-pci.c                       |  16 +-
 hw/{ => virtio}/virtio-pci.h                       |  16 +-
 hw/{ => virtio}/virtio-rng.c                       |   4 +-
 hw/{ => virtio}/virtio.c                           |   4 +-
 hw/watchdog/Makefile.objs                          |   3 +
 hw/{ => watchdog}/watchdog.c                       |   2 +-
 hw/{ => watchdog}/wdt_i6300esb.c                   |   2 +-
 hw/{ => watchdog}/wdt_ib700.c                      |   6 +-
 hw/xen/Makefile.objs                               |   6 +
 hw/{ => xen}/xen-host-pci-device.c                 |   2 +-
 hw/{ => xen}/xen-host-pci-device.h                 |   0
 hw/{ => xen}/xen_apic.c                            |   4 +-
 hw/{ => xen}/xen_backend.c                         |   2 +-
 hw/{ => xen}/xen_devconfig.c                       |   2 +-
 hw/{ => xen}/xen_platform.c                        |   6 +-
 hw/{ => xen}/xen_pt.c                              |   6 +-
 hw/{ => xen}/xen_pt.h                              |   4 +-
 hw/{ => xen}/xen_pt_config_init.c                  |   4 +-
 hw/{ => xen}/xen_pt_msi.c                          |   6 +-
 hw/{ => xtensa}/xtensa_bootparam.h                 |   0
 hw/xtensa/xtensa_lx60.c                            |   6 +-
 hw/scsi-defs.h => include/block/scsi.h             |   0
 include/exec/memory-internal.h                     |   2 +-
 {hw => include/hw/acpi}/acpi.h                     |   0
 hw/acpi_ich9.h => include/hw/acpi/ich9.h           |   2 +-
 hw/arm-misc.h => include/hw/arm.h                  |   0
 {hw => include/hw/arm}/devices.h                   |   0
 {hw => include/hw/arm}/exynos4210.h                |   0
 {hw => include/hw/arm}/imx.h                       |   0
 {hw => include/hw/arm}/omap.h                      |   0
 {hw => include/hw/arm}/primecell.h                 |   0
 {hw => include/hw/arm}/pxa.h                       |   0
 {hw => include/hw/arm}/sharpsl.h                   |   0
 {hw => include/hw/arm}/soc_dma.h                   |   0
 hw/audiodev.h => include/hw/audio/audio.h          |   0
 {hw => include/hw/audio}/pcspk.h                   |   2 +-
 hw/block-common.h => include/hw/block/block.h      |   0
 {hw => include/hw/block}/fdc.h                     |   0
 {hw => include/hw/block}/flash.h                   |   0
 {hw => include/hw}/boards.h                        |   0
 {hw => include/hw}/bt.h                            |   0
 {hw => include/hw/char}/escc.h                     |   0
 {hw => include/hw/char}/serial.h                   |   0
 {hw => include/hw/cris}/etraxfs.h                  |   2 +-
 {hw => include/hw/cris}/etraxfs_dma.h              |   0
 {hw => include/hw}/elf_ops.h                       |   0
 {hw => include/hw}/empty_slot.h                    |   0
 {hw => include/hw}/hw.h                            |   0
 {hw => include/hw/i2c}/i2c.h                       |   0
 {hw => include/hw/i2c}/pm_smbus.h                  |   0
 {hw => include/hw/i2c}/smbus.h                     |   2 +-
 {hw => include/hw/i386}/apic-msidef.h              |   0
 {hw => include/hw/i386}/apic.h                     |   0
 {hw => include/hw/i386}/apic_internal.h            |   0
 {hw => include/hw/i386}/ich9.h                     |  13 +-
 {hw => include/hw/i386}/ioapic.h                   |   0
 {hw => include/hw/i386}/ioapic_internal.h          |   0
 {hw => include/hw/i386}/pc.h                       |   6 +-
 {hw => include/hw/i386}/smbios.h                   |   0
 {hw => include/hw}/ide.h                           |   2 +-
 {hw => include/hw/input}/adb.h                     |   0
 {hw => include/hw/input}/hid.h                     |   0
 {hw => include/hw/input}/ps2.h                     |   0
 {hw => include/hw}/irq.h                           |   0
 {hw => include/hw/isa}/apm.h                       |   0
 {hw => include/hw/isa}/i8259_internal.h            |   4 +-
 {hw => include/hw/isa}/isa.h                       |   0
 {hw => include/hw/isa}/pc87312.h                   |   2 +-
 {hw => include/hw/isa}/vt82c686.h                  |   0
 {hw => include/hw}/kvm/clock.h                     |   0
 {hw => include/hw/lm32}/lm32_juart.h               |   0
 {hw => include/hw/lm32}/lm32_pic.h                 |   0
 {hw => include/hw}/loader.h                        |   0
 {hw => include/hw/m68k}/mcf.h                      |   0
 hw/mips-bios.h => include/hw/mips/bios.h           |   0
 hw/mips_cpudevs.h => include/hw/mips/cpudevs.h     |   0
 {hw => include/hw/mips}/mips.h                     |   0
 {hw => include/hw/misc}/tmp105_regs.h              |   0
 {hw => include/hw/nvram}/eeprom93xx.h              |   0
 {hw => include/hw/nvram}/fw_cfg.h                  |   0
 hw/apb_pci.h => include/hw/pci-host/apb.h          |   0
 {hw => include/hw/pci-host}/pam.h                  |   0
 hw/ppce500_pci.h => include/hw/pci-host/ppce500.h  |   0
 {hw => include/hw/pci-host}/q35.h                  |  13 +-
 hw/spapr_pci.h => include/hw/pci-host/spapr.h      |   2 +-
 {hw => include/hw}/pci/msi.h                       |   0
 {hw => include/hw}/pci/msix.h                      |   0
 {hw => include/hw}/pci/pci.h                       |   2 +-
 {hw => include/hw}/pci/pci_bridge.h                |   0
 {hw => include/hw}/pci/pci_bus.h                   |   0
 {hw => include/hw}/pci/pci_host.h                  |   0
 {hw => include/hw}/pci/pci_ids.h                   |   0
 {hw => include/hw}/pci/pci_regs.h                  |   0
 {hw => include/hw}/pci/pcie.h                      |   0
 {hw => include/hw}/pci/pcie_aer.h                  |   0
 {hw => include/hw}/pci/pcie_host.h                 |   0
 {hw => include/hw}/pci/pcie_port.h                 |   0
 {hw => include/hw}/pci/pcie_regs.h                 |   0
 {hw => include/hw}/pci/shpc.h                      |   0
 {hw => include/hw}/pci/slotid_cap.h                |   0
 {hw => include/hw}/pcmcia.h                        |   0
 {hw => include/hw/ppc}/mac_dbdma.h                 |   0
 {hw => include/hw/ppc}/openpic.h                   |   0
 {hw => include/hw/ppc}/ppc.h                       |   0
 {hw => include/hw/ppc}/ppc4xx.h                    |   0
 {hw => include/hw/ppc}/spapr.h                     |   2 +-
 {hw => include/hw/ppc}/spapr_vio.h                 |   0
 {hw => include/hw/ppc}/xics.h                      |   0
 {hw => include/hw}/ptimer.h                        |   0
 {hw => include/hw}/qdev-addr.h                     |   0
 {hw => include/hw}/qdev-core.h                     |   0
 {hw => include/hw}/qdev-dma.h                      |   0
 {hw => include/hw}/qdev-properties.h               |   0
 {hw => include/hw}/qdev.h                          |   0
 {hw => include/hw}/s390x/event-facility.h          |   0
 {hw => include/hw}/s390x/sclp.h                    |   0
 {hw => include/hw/scsi}/esp.h                      |   2 +-
 {hw => include/hw/scsi}/scsi.h                     |   2 +-
 {hw => include/hw}/sd.h                            |   0
 {hw => include/hw/sh4}/sh.h                        |   2 +-
 {hw => include/hw/sh4}/sh_intc.h                   |   0
 {hw => include/hw/sparc}/firmware_abi.h            |   0
 {hw => include/hw/sparc}/grlib.h                   |   0
 {hw => include/hw/sparc}/sparc32_dma.h             |   0
 {hw => include/hw/sparc}/sun4m.h                   |   4 +-
 {hw => include/hw}/ssi.h                           |   0
 {hw => include/hw}/stream.h                        |   0
 {hw => include/hw}/sysbus.h                        |   0
 hw/hpet_emul.h => include/hw/timer/hpet.h          |   0
 {hw => include/hw/timer}/i8254.h                   |   2 +-
 {hw => include/hw/timer}/i8254_internal.h          |   4 +-
 hw/nvram.h => include/hw/timer/m48t59.h            |   0
 {hw => include/hw/timer}/mc146818rtc.h             |   4 +-
 {hw => include/hw/timer}/mc146818rtc_regs.h        |   0
 {hw => include/hw/unicore32}/puv3.h                |   0
 {hw => include/hw}/usb.h                           |   0
 {hw => include/hw/virtio}/dataplane/hostmem.h      |   0
 {hw => include/hw/virtio}/dataplane/vring.h        |   2 +-
 {hw => include/hw/virtio}/vhost.h                  |   2 +-
 .../hw/virtio/virtio-9p.h                          |   0
 {hw => include/hw/virtio}/virtio-balloon.h         |   2 +-
 {hw => include/hw/virtio}/virtio-blk.h             |  11 +-
 {hw => include/hw/virtio}/virtio-bus.h             |   2 +-
 {hw => include/hw/virtio}/virtio-net.h             |   2 +-
 {hw => include/hw/virtio}/virtio-rng.h             |   0
 {hw => include/hw/virtio}/virtio-scsi.h            |   4 +-
 {hw => include/hw/virtio}/virtio-serial.h          |   2 +-
 {hw => include/hw/virtio}/virtio.h                 |   2 +-
 {hw => include/hw/xen}/xen.h                       |   0
 {hw => include/hw/xen}/xen_backend.h               |   2 +-
 {hw => include/hw/xen}/xen_common.h                |   2 +-
 {hw => include/hw}/xilinx.h                        |   0
 {hw => include/net}/vhost_net.h                    |   0
 {hw => include/sysemu}/watchdog.h                  |   0
 monitor.c                                          |   8 +-
 net/tap.c                                          |   2 +-
 pc-bios/optionrom/optionrom.h                      |   2 +-
 target-arm/arm-semi.c                              |   2 +-
 target-arm/kvm.c                                   |   2 +-
 target-i386/cpu.c                                  |   4 +-
 target-i386/cpu.h                                  |   2 +-
 target-i386/kvm.c                                  |   4 +-
 target-i386/machine.c                              |   4 +-
 target-lm32/op_helper.c                            |   4 +-
 target-lm32/translate.c                            |   2 +-
 target-ppc/kvm.c                                   |   6 +-
 target-sh4/helper.c                                |   2 +-
 tests/rtc-test.c                                   |   2 +-
 tests/tmp105-test.c                                |   2 +-
 tpm/tpm_passthrough.c                              |   2 +-
 tpm/tpm_tis.c                                      |   2 +-
 tpm/tpm_tis.h                                      |   2 +-
 vl.c                                               |  12 +-
 xen-all.c                                          |   6 +-
 xen-mapcache.c                                     |   2 +-
 xen-stub.c                                         |   2 +-
 774 files changed, 1647 insertions(+), 1463 deletions(-)
 create mode 100644 hw/acpi/Makefile.objs
 rename hw/{acpi.c => acpi/core.c} (99%)
 rename hw/{acpi_ich9.c => acpi/ich9.c} (98%)
 rename hw/{acpi_piix4.c => acpi/piix4.c} (99%)
 rename hw/{ => alpha}/alpha_sys.h (95%)
 rename hw/{alpha_typhoon.c => alpha/typhoon.c} (99%)
 rename hw/{ => arm}/strongarm.c (99%)
 rename hw/{ => arm}/strongarm.h (100%)
 create mode 100644 hw/audio/Makefile.objs
 rename hw/{ => audio}/ac97.c (99%)
 rename hw/{ => audio}/adlib.c (99%)
 rename hw/{ => audio}/cs4231.c (100%)
 rename hw/{ => audio}/cs4231a.c (99%)
 rename hw/{ => audio}/es1370.c (99%)
 rename hw/{ => audio}/fmopl.c (99%)
 rename hw/{ => audio}/fmopl.h (100%)
 rename hw/{ => audio}/gus.c (98%)
 rename hw/{ => audio}/gusemu.h (100%)
 rename hw/{ => audio}/gusemu_hal.c (99%)
 rename hw/{ => audio}/gusemu_mixer.c (99%)
 rename hw/{ => audio}/gustate.h (100%)
 rename hw/{hda-audio.c => audio/hda-codec.c} (99%)
 rename hw/{ => audio}/intel-hda-defs.h (100%)
 rename hw/{ => audio}/intel-hda.c (99%)
 rename hw/{ => audio}/intel-hda.h (100%)
 rename hw/{ => audio}/lm4549.c (99%)
 rename hw/{ => audio}/lm4549.h (100%)
 rename hw/{marvell_88w8618_audio.c => audio/marvell_88w8618.c} (99%)
 rename hw/{ => audio}/milkymist-ac97.c (100%)
 rename hw/{ => audio}/pcspk.c (98%)
 rename hw/{ => audio}/pl041.c (99%)
 rename hw/{ => audio}/pl041.h (100%)
 rename hw/{ => audio}/pl041.hx (100%)
 rename hw/{ => audio}/sb16.c (99%)
 rename hw/{ => audio}/wm8750.c (99%)
 create mode 100644 hw/block/Makefile.objs
 rename hw/{block-common.c => block/block.c} (98%)
 rename hw/{ => block}/cdrom.c (99%)
 create mode 100644 hw/block/dataplane/Makefile.objs
 rename hw/{ => block}/dataplane/ioq.c (100%)
 rename hw/{ => block}/dataplane/ioq.h (100%)
 rename hw/{ => block}/dataplane/virtio-blk.c (99%)
 rename hw/{ => block}/dataplane/virtio-blk.h (96%)
 rename hw/{ => block}/ecc.c (99%)
 rename hw/{ => block}/fdc.c (99%)
 rename hw/{ => block}/hd-geometry.c (99%)
 rename hw/{ => block}/m25p80.c (99%)
 rename hw/{ => block}/nand.c (99%)
 rename hw/{ => block}/onenand.c (99%)
 rename hw/{ => block}/pc_sysfw.c (99%)
 rename hw/{ => block}/pflash_cfi01.c (99%)
 rename hw/{ => block}/pflash_cfi02.c (99%)
 rename hw/{ => block}/tc58128.c (99%)
 rename hw/{ => block}/virtio-blk.c (99%)
 rename hw/{ => block}/xen_blkif.h (100%)
 rename hw/{ => block}/xen_disk.c (99%)
 create mode 100644 hw/bt/Makefile.objs
 rename hw/{bt.c => bt/core.c} (100%)
 rename hw/{bt-hci-csr.c => bt/hci-csr.c} (100%)
 rename hw/{bt-hci.c => bt/hci.c} (100%)
 rename hw/{bt-hid.c => bt/hid.c} (99%)
 rename hw/{bt-l2cap.c => bt/l2cap.c} (100%)
 rename hw/{bt-sdp.c => bt/sdp.c} (100%)
 create mode 100644 hw/char/Makefile.objs
 rename hw/{ => char}/cadence_uart.c (100%)
 rename hw/{ => char}/debugcon.c (98%)
 rename hw/{ => char}/escc.c (99%)
 rename hw/{ => char}/etraxfs_ser.c (98%)
 rename hw/{ => char}/exynos4210_uart.c (99%)
 rename hw/{ => char}/grlib_apbuart.c (100%)
 rename hw/{ => char}/imx_serial.c (99%)
 rename hw/{ => char}/ipack.c (99%)
 rename hw/{ => char}/ipack.h (100%)
 rename hw/{ => char}/ipoctal232.c (99%)
 rename hw/{ => char}/lm32_juart.c (99%)
 rename hw/{ => char}/lm32_uart.c (100%)
 rename hw/{ => char}/mcf_uart.c (99%)
 rename hw/{ => char}/milkymist-uart.c (100%)
 rename hw/{ => char}/omap_uart.c (98%)
 rename hw/{ => char}/parallel.c (99%)
 rename hw/{ => char}/pl011.c (100%)
 rename hw/{s390x => char}/sclpconsole.c (99%)
 rename hw/{ => char}/serial-isa.c (98%)
 rename hw/{ => char}/serial-pci.c (99%)
 rename hw/{ => char}/serial.c (99%)
 rename hw/{ => char}/sh_serial.c (99%)
 rename hw/{ => char}/spapr_vty.c (99%)
 rename hw/{ => char}/tpci200.c (99%)
 rename hw/{ => char}/virtio-console.c (99%)
 rename hw/{ => char}/virtio-serial-bus.c (99%)
 rename hw/{ => char}/xen_console.c (99%)
 rename hw/{ => char}/xilinx_uartlite.c (100%)
 create mode 100644 hw/core/Makefile.objs
 rename hw/{ => core}/empty_slot.c (100%)
 rename hw/{ => core}/irq.c (100%)
 rename hw/{ => core}/loader.c (99%)
 rename hw/{ => core}/null-machine.c (100%)
 rename hw/{ => core}/ptimer.c (100%)
 rename hw/{ => core}/qdev-addr.c (100%)
 rename hw/{ => core}/qdev-properties-system.c (99%)
 rename hw/{ => core}/qdev-properties.c (99%)
 rename hw/{ => core}/qdev.c (100%)
 rename hw/{ => core}/stream.c (100%)
 rename hw/{ => core}/sysbus.c (100%)
 rename hw/{ => core}/uboot_image.h (100%)
 create mode 100644 hw/cpu/Makefile.objs
 rename hw/{ => cpu}/a15mpcore.c (100%)
 rename hw/{ => cpu}/a9mpcore.c (100%)
 rename hw/{ => cpu}/arm11mpcore.c (100%)
 rename hw/{cris-boot.h => cris/boot.h} (100%)
 delete mode 100644 hw/dataplane/Makefile.objs
 create mode 100644 hw/display/Makefile.objs
 rename hw/{ => display}/ads7846.c (100%)
 rename hw/{ => display}/blizzard.c (99%)
 rename hw/{ => display}/blizzard_template.h (99%)
 rename hw/{ => display}/cirrus_vga.c (99%)
 rename hw/{ => display}/cirrus_vga_rop.h (97%)
 rename hw/{ => display}/cirrus_vga_rop2.h (100%)
 rename hw/{ => display}/cirrus_vga_template.h (100%)
 rename hw/{ => display}/exynos4210_fimd.c (99%)
 rename hw/{ => display}/framebuffer.c (99%)
 rename hw/{ => display}/framebuffer.h (100%)
 rename hw/{ => display}/g364fb.c (100%)
 rename hw/{ => display}/jazz_led.c (100%)
 rename hw/{ => display}/milkymist-tmu2.c (100%)
 rename hw/{ => display}/milkymist-vgafb.c (97%)
 rename hw/{ => display}/milkymist-vgafb_template.h (98%)
 rename hw/{ => display}/omap_dss.c (99%)
 rename hw/{ => display}/omap_lcd_template.h (100%)
 rename hw/{ => display}/omap_lcdc.c (98%)
 rename hw/{ => display}/pl110.c (98%)
 rename hw/{ => display}/pl110_template.h (98%)
 rename hw/{ => display}/pxa2xx_lcd.c (99%)
 rename hw/{ => display}/pxa2xx_template.h (100%)
 rename hw/{ => display}/qxl-logger.c (99%)
 rename hw/{ => display}/qxl-render.c (99%)
 rename hw/{ => display}/qxl.c (99%)
 rename hw/{ => display}/qxl.h (99%)
 rename hw/{ => display}/sm501.c (99%)
 rename hw/{ => display}/sm501_template.h (100%)
 rename hw/{ => display}/ssd0303.c (99%)
 rename hw/{ => display}/ssd0323.c (100%)
 rename hw/{ => display}/tc6393xb.c (98%)
 rename hw/{ => display}/tc6393xb_template.h (100%)
 rename hw/{ => display}/tcx.c (100%)
 rename hw/{ => display}/vga-isa-mm.c (98%)
 rename hw/{ => display}/vga-isa.c (98%)
 rename hw/{ => display}/vga-pci.c (99%)
 rename hw/{ => display}/vga.c (99%)
 rename hw/{ => display}/vga.h (100%)
 rename hw/{ => display}/vga_int.h (100%)
 rename hw/{ => display}/vga_template.h (100%)
 rename hw/{ => display}/vmware_vga.c (99%)
 rename hw/{ => display}/xenfb.c (99%)
 create mode 100644 hw/dma/Makefile.objs
 rename hw/{ => dma}/etraxfs_dma.c (99%)
 rename hw/{ => dma}/i82374.c (99%)
 rename hw/{dma.c => dma/i8257.c} (99%)
 rename hw/{ => dma}/omap_dma.c (99%)
 rename hw/{ => dma}/pl080.c (100%)
 rename hw/{ => dma}/pl330.c (99%)
 rename hw/{ => dma}/puv3_dma.c (98%)
 rename hw/{ => dma}/pxa2xx_dma.c (99%)
 rename hw/{ => dma}/rc4030.c (99%)
 rename hw/{ => dma}/soc_dma.c (99%)
 rename hw/{ => dma}/sparc32_dma.c (99%)
 rename hw/{ => dma}/sun4m_iommu.c (99%)
 rename hw/{ => dma}/xilinx_axidma.c (100%)
 create mode 100644 hw/gpio/Makefile.objs
 rename hw/{ => gpio}/max7310.c (99%)
 rename hw/{ => gpio}/omap_gpio.c (99%)
 rename hw/{ => gpio}/pl061.c (100%)
 rename hw/{ => gpio}/puv3_gpio.c (99%)
 rename hw/{ => gpio}/zaurus.c (99%)
 create mode 100644 hw/i2c/Makefile.objs
 rename hw/{ => i2c}/bitbang_i2c.c (99%)
 rename hw/{ => i2c}/bitbang_i2c.h (92%)
 rename hw/{i2c.c => i2c/core.c} (99%)
 rename hw/{ => i2c}/exynos4210_i2c.c (99%)
 rename hw/{ => i2c}/omap_i2c.c (99%)
 rename hw/{ => i2c}/pm_smbus.c (98%)
 rename hw/{ => i2c}/smbus.c (99%)
 rename hw/{ => i2c}/smbus_eeprom.c (98%)
 rename hw/{ => i2c}/smbus_ich9.c (96%)
 rename hw/{ => i2c}/versatile_i2c.c (99%)
 create mode 100644 hw/i386/kvm/Makefile.objs
 rename hw/{ => i386}/kvm/apic.c (99%)
 rename hw/{ => i386}/kvm/clock.c (100%)
 rename hw/{ => i386}/kvm/i8254.c (99%)
 rename hw/{ => i386}/kvm/i8259.c (98%)
 rename hw/{ => i386}/kvm/ioapic.c (97%)
 rename hw/{ => i386}/kvm/pci-assign.c (99%)
 rename hw/{ => i386}/multiboot.h (100%)
 rename hw/{ => i386}/xen_domainbuild.h (93%)
 create mode 100644 hw/input/Makefile.objs
 rename hw/{ => input}/adb.c (99%)
 rename hw/{ => input}/hid.c (99%)
 rename hw/{ => input}/lm832x.c (99%)
 rename hw/{ => input}/milkymist-softusb.c (99%)
 rename hw/{ => input}/pckbd.c (99%)
 rename hw/{ => input}/pl050.c (99%)
 rename hw/{ => input}/ps2.c (99%)
 rename hw/{ => input}/pxa2xx_keypad.c (99%)
 rename hw/{ => input}/stellaris_input.c (98%)
 rename hw/{ => input}/tsc2005.c (99%)
 rename hw/{ => input}/tsc210x.c (99%)
 rename hw/{ => input}/vmmouse.c (99%)
 create mode 100644 hw/intc/Makefile.objs
 rename hw/{ => intc}/apic.c (99%)
 rename hw/{ => intc}/apic_common.c (99%)
 rename hw/{ => intc}/arm_gic.c (99%)
 rename hw/{ => intc}/arm_gic_common.c (99%)
 rename hw/{kvm/arm_gic.c => intc/arm_gic_kvm.c} (99%)
 rename hw/{ => intc}/armv7m_nvic.c (99%)
 rename hw/{ => intc}/etraxfs_pic.c (100%)
 rename hw/{ => intc}/exynos4210_combiner.c (99%)
 rename hw/{ => intc}/exynos4210_gic.c (99%)
 rename hw/{arm_gic_internal.h => intc/gic_internal.h} (100%)
 rename hw/{ => intc}/grlib_irqmp.c (99%)
 rename hw/{ => intc}/heathrow_pic.c (100%)
 rename hw/{ => intc}/i8259.c (99%)
 rename hw/{ => intc}/i8259_common.c (98%)
 rename hw/{ => intc}/imx_avic.c (100%)
 rename hw/{ => intc}/ioapic.c (98%)
 rename hw/{ => intc}/ioapic_common.c (98%)
 rename hw/{ => intc}/lm32_pic.c (98%)
 rename hw/{ => intc}/omap_intc.c (99%)
 rename hw/{ => intc}/openpic.c (99%)
 rename hw/{ => intc}/pl190.c (100%)
 rename hw/{ => intc}/puv3_intc.c (99%)
 rename hw/{ => intc}/realview_gic.c (100%)
 rename hw/{ => intc}/sbi.c (100%)
 rename hw/{ => intc}/sh_intc.c (99%)
 rename hw/{ => intc}/slavio_intctl.c (99%)
 rename hw/{ => intc}/sun4c_intctl.c (99%)
 rename hw/{ => intc}/xilinx_intc.c (100%)
 create mode 100644 hw/isa/Makefile.objs
 rename hw/{ => isa}/apm.c (99%)
 rename hw/{ => isa}/i82378.c (98%)
 rename hw/{ => isa}/isa-bus.c (99%)
 rename hw/{ => isa}/isa_mmio.c (99%)
 rename hw/{ => isa}/lpc_ich9.c (98%)
 rename hw/{ => isa}/pc87312.c (99%)
 rename hw/{ => isa}/piix4.c (98%)
 rename hw/{ => isa}/vt82c686.c (98%)
 delete mode 100644 hw/kvm/Makefile.objs
 rename hw/{ => lm32}/lm32.h (100%)
 rename hw/{ => lm32}/lm32_hwsetup.h (100%)
 rename hw/{ => lm32}/milkymist-hw.h (100%)
 rename hw/{microblaze_boot.h => microblaze/boot.h} (100%)
 rename hw/{microblaze_pic_cpu.h => microblaze/pic_cpu.h} (100%)
 rename hw/{gt64xxx.c => mips/gt64xxx_pci.c} (99%)
 create mode 100644 hw/misc/Makefile.objs
 rename hw/{ => misc}/a9scu.c (100%)
 rename hw/{ => misc}/applesmc.c (99%)
 rename hw/{ => misc}/arm_l2x0.c (100%)
 rename hw/{ => misc}/arm_sysctl.c (99%)
 rename hw/{ => misc}/cbus.c (99%)
 rename hw/{ => misc}/debugexit.c (98%)
 rename hw/{ => misc}/eccmemctl.c (100%)
 rename hw/{ => misc}/exynos4210_pmu.c (100%)
 rename hw/{ => misc}/imx_ccm.c (99%)
 rename hw/{ => misc}/ivshmem.c (99%)
 rename hw/{ => misc}/lm32_sys.c (100%)
 create mode 100644 hw/misc/macio/Makefile.objs
 rename hw/{ => misc/macio}/cuda.c (99%)
 rename hw/{ => misc/macio}/mac_dbdma.c (99%)
 rename hw/{ => misc/macio}/macio.c (99%)
 rename hw/{ => misc}/max111x.c (100%)
 rename hw/{ => misc}/milkymist-hpdmc.c (100%)
 rename hw/{ => misc}/milkymist-pfpu.c (100%)
 rename hw/{ => misc}/mst_fpga.c (100%)
 rename hw/{ => misc}/omap_clk.c (99%)
 rename hw/{ => misc}/omap_gpmc.c (99%)
 rename hw/{ => misc}/omap_l4.c (99%)
 rename hw/{ => misc}/omap_sdrc.c (99%)
 rename hw/{ => misc}/omap_tap.c (99%)
 rename hw/{ => misc}/pc-testdev.c (99%)
 rename hw/{ => misc}/puv3_pm.c (99%)
 rename hw/{ => misc}/pxa2xx_pcmcia.c (99%)
 rename hw/{ => misc}/sga.c (98%)
 rename hw/{ => misc}/slavio_misc.c (100%)
 rename hw/{ => misc}/tmp105.c (99%)
 rename hw/{ => misc}/tmp105.h (94%)
 rename hw/{vfio_pci.c => misc/vfio.c} (100%)
 rename hw/{ => misc}/vmport.c (98%)
 rename hw/{ => misc}/zynq_slcr.c (100%)
 create mode 100644 hw/net/Makefile.objs
 rename hw/{ => net}/cadence_gem.c (100%)
 rename hw/{ => net}/dp8393x.c (99%)
 rename hw/{ => net}/e1000.c (99%)
 rename hw/{e1000_hw.h => net/e1000_regs.h} (100%)
 rename hw/{ => net}/eepro100.c (99%)
 rename hw/{ => net}/etraxfs_eth.c (99%)
 rename hw/{ => net}/lan9118.c (99%)
 rename hw/{ => net}/lance.c (99%)
 rename hw/{ => net}/mcf_fec.c (99%)
 rename hw/{ => net}/milkymist-minimac2.c (100%)
 rename hw/{ => net}/mipsnet.c (100%)
 rename hw/{ => net}/ne2000-isa.c (98%)
 rename hw/{ => net}/ne2000.c (99%)
 rename hw/{ => net}/ne2000.h (100%)
 rename hw/{ => net}/opencores_eth.c (100%)
 rename hw/{ => net}/pcnet-pci.c (99%)
 rename hw/{ => net}/pcnet.c (99%)
 rename hw/{ => net}/pcnet.h (100%)
 rename hw/{ => net}/rtl8139.c (100%)
 rename hw/{ => net}/smc91c111.c (99%)
 rename hw/{ => net}/spapr_llan.c (99%)
 rename hw/{ => net}/stellaris_enet.c (100%)
 rename hw/{ => net}/vhost_net.c (98%)
 rename hw/{ => net}/virtio-net.c (99%)
 rename hw/{ => net}/vmware_utils.h (100%)
 rename hw/{ => net}/vmxnet3.c (99%)
 rename hw/{ => net}/vmxnet3.h (100%)
 rename hw/{ => net}/vmxnet_debug.h (100%)
 rename hw/{ => net}/vmxnet_rx_pkt.c (100%)
 rename hw/{ => net}/vmxnet_rx_pkt.h (100%)
 rename hw/{ => net}/vmxnet_tx_pkt.c (100%)
 rename hw/{ => net}/vmxnet_tx_pkt.h (100%)
 rename hw/{ => net}/xen_nic.c (99%)
 rename hw/{ => net}/xgmac.c (100%)
 rename hw/{ => net}/xilinx_axienet.c (100%)
 rename hw/{ => net}/xilinx_ethlite.c (100%)
 create mode 100644 hw/nvram/Makefile.objs
 rename hw/{ => nvram}/ds1225y.c (100%)
 rename hw/{ => nvram}/eeprom93xx.c (99%)
 rename hw/{ => nvram}/fw_cfg.c (99%)
 rename hw/{ => nvram}/mac_nvram.c (99%)
 rename hw/{ => nvram}/spapr_nvram.c (98%)
 create mode 100644 hw/pci-bridge/Makefile.objs
 rename hw/{ => pci-bridge}/i82801b11.c (99%)
 rename hw/{ => pci-bridge}/ioh3420.c (99%)
 rename hw/{ => pci-bridge}/ioh3420.h (100%)
 rename hw/{ => pci-bridge}/pci_bridge_dev.c (100%)
 rename hw/{ => pci-bridge}/xio3130_downstream.c (99%)
 rename hw/{ => pci-bridge}/xio3130_downstream.h (100%)
 rename hw/{ => pci-bridge}/xio3130_upstream.c (99%)
 rename hw/{ => pci-bridge}/xio3130_upstream.h (100%)
 create mode 100644 hw/pci-host/Makefile.objs
 rename hw/{apb_pci.c => pci-host/apb.c} (97%)
 rename hw/{ => pci-host}/bonito.c (99%)
 rename hw/{dec_pci.c => pci-host/dec.c} (99%)
 rename hw/{dec_pci.h => pci-host/dec.h} (100%)
 rename hw/{grackle_pci.c => pci-host/grackle.c} (100%)
 rename hw/{ => pci-host}/pam.c (99%)
 rename hw/{piix_pci.c => pci-host/piix.c} (99%)
 rename hw/{ppce500_pci.c => pci-host/ppce500.c} (99%)
 rename hw/{prep_pci.c => pci-host/prep.c} (99%)
 rename hw/{ => pci-host}/q35.c (99%)
 rename hw/{unin_pci.c => pci-host/uninorth.c} (100%)
 rename hw/{versatile_pci.c => pci-host/versatile.c} (100%)
 rename hw/{ => ppc}/ppc405.h (99%)
 rename hw/{ => ppc}/ppc4xx_pci.c (99%)
 rename hw/{ => ppc}/spapr_pci.c (99%)
 create mode 100644 hw/scsi/Makefile.objs
 rename hw/{ => scsi}/esp-pci.c (99%)
 rename hw/{ => scsi}/esp.c (99%)
 rename hw/{ => scsi}/lsi53c895a.c (99%)
 rename hw/{ => scsi}/megasas.c (99%)
 rename hw/{ => scsi}/mfi.h (100%)
 rename hw/{ => scsi}/scsi-bus.c (99%)
 rename hw/{ => scsi}/scsi-disk.c (99%)
 rename hw/{ => scsi}/scsi-generic.c (99%)
 rename hw/{ => scsi}/spapr_vscsi.c (99%)
 rename hw/{ => scsi}/srp.h (100%)
 rename hw/{ppc-viosrp.h => scsi/viosrp.h} (100%)
 rename hw/{ => scsi}/virtio-scsi.c (99%)
 create mode 100644 hw/sd/Makefile.objs
 rename hw/{ => sd}/milkymist-memcard.c (100%)
 rename hw/{ => sd}/omap_mmc.c (99%)
 rename hw/{ => sd}/pl181.c (100%)
 rename hw/{ => sd}/pxa2xx_mmci.c (99%)
 rename hw/{ => sd}/sd.c (100%)
 rename hw/{ => sd}/sdhci.c (99%)
 rename hw/{ => sd}/sdhci.h (100%)
 rename hw/{ => sd}/ssi-sd.c (100%)
 rename hw/{ => sh4}/sh7750_regnames.h (100%)
 rename hw/{ => sh4}/sh7750_regs.h (100%)
 rename hw/{ => sh4}/sh_pci.c (99%)
 create mode 100644 hw/ssi/Makefile.objs
 rename hw/{ => ssi}/omap_spi.c (99%)
 rename hw/{ => ssi}/pl022.c (100%)
 rename hw/{ => ssi}/ssi.c (100%)
 rename hw/{ => ssi}/xilinx_spi.c (100%)
 rename hw/{ => ssi}/xilinx_spips.c (100%)
 create mode 100644 hw/timer/Makefile.objs
 rename hw/{ => timer}/arm_mptimer.c (100%)
 rename hw/{ => timer}/arm_timer.c (100%)
 rename hw/{ => timer}/cadence_ttc.c (100%)
 rename hw/{ => timer}/ds1338.c (99%)
 rename hw/{ => timer}/etraxfs_timer.c (100%)
 rename hw/{ => timer}/exynos4210_mct.c (99%)
 rename hw/{ => timer}/exynos4210_pwm.c (99%)
 rename hw/{ => timer}/exynos4210_rtc.c (99%)
 rename hw/{ => timer}/grlib_gptimer.c (100%)
 rename hw/{ => timer}/hpet.c (99%)
 rename hw/{ => timer}/i8254.c (98%)
 rename hw/{ => timer}/i8254_common.c (98%)
 rename hw/{ => timer}/imx_timer.c (99%)
 rename hw/{ => timer}/lm32_timer.c (100%)
 rename hw/{ => timer}/m48t59.c (99%)
 rename hw/{ => timer}/mc146818rtc.c (99%)
 rename hw/{ => timer}/milkymist-sysctl.c (100%)
 rename hw/{ => timer}/omap_gptimer.c (99%)
 rename hw/{ => timer}/omap_synctimer.c (99%)
 rename hw/{ => timer}/pl031.c (100%)
 rename hw/{ => timer}/puv3_ost.c (99%)
 rename hw/{ => timer}/pxa2xx_timer.c (99%)
 rename hw/{ => timer}/sh_timer.c (99%)
 rename hw/{ => timer}/slavio_timer.c (99%)
 rename hw/{ => timer}/tusb6010.c (99%)
 rename hw/{ => timer}/twl92230.c (99%)
 rename hw/{ => timer}/xilinx_timer.c (100%)
 rename hw/{ => usb}/ccid-card-emulated.c (99%)
 rename hw/{ => usb}/ccid-card-passthru.c (99%)
 rename hw/{ => usb}/ccid.h (100%)
 create mode 100644 hw/virtio/Makefile.objs
 create mode 100644 hw/virtio/dataplane/Makefile.objs
 rename hw/{ => virtio}/dataplane/hostmem.c (99%)
 rename hw/{ => virtio}/dataplane/vring.c (99%)
 rename hw/{ => virtio}/vhost.c (99%)
 rename hw/{ => virtio}/virtio-balloon.c (98%)
 rename hw/{ => virtio}/virtio-bus.c (98%)
 rename hw/{ => virtio}/virtio-pci.c (99%)
 rename hw/{ => virtio}/virtio-pci.h (92%)
 rename hw/{ => virtio}/virtio-rng.c (98%)
 rename hw/{ => virtio}/virtio.c (99%)
 create mode 100644 hw/watchdog/Makefile.objs
 rename hw/{ => watchdog}/watchdog.c (99%)
 rename hw/{ => watchdog}/wdt_i6300esb.c (99%)
 rename hw/{ => watchdog}/wdt_ib700.c (98%)
 create mode 100644 hw/xen/Makefile.objs
 rename hw/{ => xen}/xen-host-pci-device.c (99%)
 rename hw/{ => xen}/xen-host-pci-device.h (100%)
 rename hw/{ => xen}/xen_apic.c (97%)
 rename hw/{ => xen}/xen_backend.c (99%)
 rename hw/{ => xen}/xen_devconfig.c (99%)
 rename hw/{ => xen}/xen_platform.c (99%)
 rename hw/{ => xen}/xen_pt.c (99%)
 rename hw/{ => xen}/xen_pt.h (99%)
 rename hw/{ => xen}/xen_pt_config_init.c (99%)
 rename hw/{ => xen}/xen_pt_msi.c (99%)
 rename hw/{ => xtensa}/xtensa_bootparam.h (100%)
 rename hw/scsi-defs.h => include/block/scsi.h (100%)
 rename {hw => include/hw/acpi}/acpi.h (100%)
 rename hw/acpi_ich9.h => include/hw/acpi/ich9.h (98%)
 rename hw/arm-misc.h => include/hw/arm.h (100%)
 rename {hw => include/hw/arm}/devices.h (100%)
 rename {hw => include/hw/arm}/exynos4210.h (100%)
 rename {hw => include/hw/arm}/imx.h (100%)
 rename {hw => include/hw/arm}/omap.h (100%)
 rename {hw => include/hw/arm}/primecell.h (100%)
 rename {hw => include/hw/arm}/pxa.h (100%)
 rename {hw => include/hw/arm}/sharpsl.h (100%)
 rename {hw => include/hw/arm}/soc_dma.h (100%)
 rename hw/audiodev.h => include/hw/audio/audio.h (100%)
 rename {hw => include/hw/audio}/pcspk.h (98%)
 rename hw/block-common.h => include/hw/block/block.h (100%)
 rename {hw => include/hw/block}/fdc.h (100%)
 rename {hw => include/hw/block}/flash.h (100%)
 rename {hw => include/hw}/boards.h (100%)
 rename {hw => include/hw}/bt.h (100%)
 rename {hw => include/hw/char}/escc.h (100%)
 rename {hw => include/hw/char}/serial.h (100%)
 rename {hw => include/hw/cris}/etraxfs.h (98%)
 rename {hw => include/hw/cris}/etraxfs_dma.h (100%)
 rename {hw => include/hw}/elf_ops.h (100%)
 rename {hw => include/hw}/empty_slot.h (100%)
 rename {hw => include/hw}/hw.h (100%)
 rename {hw => include/hw/i2c}/i2c.h (100%)
 rename {hw => include/hw/i2c}/pm_smbus.h (100%)
 rename {hw => include/hw/i2c}/smbus.h (99%)
 rename {hw => include/hw/i386}/apic-msidef.h (100%)
 rename {hw => include/hw/i386}/apic.h (100%)
 rename {hw => include/hw/i386}/apic_internal.h (100%)
 rename {hw => include/hw/i386}/ich9.h (98%)
 rename {hw => include/hw/i386}/ioapic.h (100%)
 rename {hw => include/hw/i386}/ioapic_internal.h (100%)
 rename {hw => include/hw/i386}/pc.h (98%)
 rename {hw => include/hw/i386}/smbios.h (100%)
 rename {hw => include/hw}/ide.h (97%)
 rename {hw => include/hw/input}/adb.h (100%)
 rename {hw => include/hw/input}/hid.h (100%)
 rename {hw => include/hw/input}/ps2.h (100%)
 rename {hw => include/hw}/irq.h (100%)
 rename {hw => include/hw/isa}/apm.h (100%)
 rename {hw => include/hw/isa}/i8259_internal.h (98%)
 rename {hw => include/hw/isa}/isa.h (100%)
 rename {hw => include/hw/isa}/pc87312.h (98%)
 rename {hw => include/hw/isa}/vt82c686.h (100%)
 rename {hw => include/hw}/kvm/clock.h (100%)
 rename {hw => include/hw/lm32}/lm32_juart.h (100%)
 rename {hw => include/hw/lm32}/lm32_pic.h (100%)
 rename {hw => include/hw}/loader.h (100%)
 rename {hw => include/hw/m68k}/mcf.h (100%)
 rename hw/mips-bios.h => include/hw/mips/bios.h (100%)
 rename hw/mips_cpudevs.h => include/hw/mips/cpudevs.h (100%)
 rename {hw => include/hw/mips}/mips.h (100%)
 rename {hw => include/hw/misc}/tmp105_regs.h (100%)
 rename {hw => include/hw/nvram}/eeprom93xx.h (100%)
 rename {hw => include/hw/nvram}/fw_cfg.h (100%)
 rename hw/apb_pci.h => include/hw/pci-host/apb.h (100%)
 rename {hw => include/hw/pci-host}/pam.h (100%)
 rename hw/ppce500_pci.h => include/hw/pci-host/ppce500.h (100%)
 rename {hw => include/hw/pci-host}/q35.h (97%)
 rename hw/spapr_pci.h => include/hw/pci-host/spapr.h (99%)
 rename {hw => include/hw}/pci/msi.h (100%)
 rename {hw => include/hw}/pci/msix.h (100%)
 rename {hw => include/hw}/pci/pci.h (99%)
 rename {hw => include/hw}/pci/pci_bridge.h (100%)
 rename {hw => include/hw}/pci/pci_bus.h (100%)
 rename {hw => include/hw}/pci/pci_host.h (100%)
 rename {hw => include/hw}/pci/pci_ids.h (100%)
 rename {hw => include/hw}/pci/pci_regs.h (100%)
 rename {hw => include/hw}/pci/pcie.h (100%)
 rename {hw => include/hw}/pci/pcie_aer.h (100%)
 rename {hw => include/hw}/pci/pcie_host.h (100%)
 rename {hw => include/hw}/pci/pcie_port.h (100%)
 rename {hw => include/hw}/pci/pcie_regs.h (100%)
 rename {hw => include/hw}/pci/shpc.h (100%)
 rename {hw => include/hw}/pci/slotid_cap.h (100%)
 rename {hw => include/hw}/pcmcia.h (100%)
 rename {hw => include/hw/ppc}/mac_dbdma.h (100%)
 rename {hw => include/hw/ppc}/openpic.h (100%)
 rename {hw => include/hw/ppc}/ppc.h (100%)
 rename {hw => include/hw/ppc}/ppc4xx.h (100%)
 rename {hw => include/hw/ppc}/spapr.h (99%)
 rename {hw => include/hw/ppc}/spapr_vio.h (100%)
 rename {hw => include/hw/ppc}/xics.h (100%)
 rename {hw => include/hw}/ptimer.h (100%)
 rename {hw => include/hw}/qdev-addr.h (100%)
 rename {hw => include/hw}/qdev-core.h (100%)
 rename {hw => include/hw}/qdev-dma.h (100%)
 rename {hw => include/hw}/qdev-properties.h (100%)
 rename {hw => include/hw}/qdev.h (100%)
 rename {hw => include/hw}/s390x/event-facility.h (100%)
 rename {hw => include/hw}/s390x/sclp.h (100%)
 rename {hw => include/hw/scsi}/esp.h (99%)
 rename {hw => include/hw/scsi}/scsi.h (99%)
 rename {hw => include/hw}/sd.h (100%)
 rename {hw => include/hw/sh4}/sh.h (98%)
 rename {hw => include/hw/sh4}/sh_intc.h (100%)
 rename {hw => include/hw/sparc}/firmware_abi.h (100%)
 rename {hw => include/hw/sparc}/grlib.h (100%)
 rename {hw => include/hw/sparc}/sparc32_dma.h (100%)
 rename {hw => include/hw/sparc}/sun4m.h (92%)
 rename {hw => include/hw}/ssi.h (100%)
 rename {hw => include/hw}/stream.h (100%)
 rename {hw => include/hw}/sysbus.h (100%)
 rename hw/hpet_emul.h => include/hw/timer/hpet.h (100%)
 rename {hw => include/hw/timer}/i8254.h (98%)
 rename {hw => include/hw/timer}/i8254_internal.h (98%)
 rename hw/nvram.h => include/hw/timer/m48t59.h (100%)
 rename {hw => include/hw/timer}/mc146818rtc.h (80%)
 rename {hw => include/hw/timer}/mc146818rtc_regs.h (100%)
 rename {hw => include/hw/unicore32}/puv3.h (100%)
 rename {hw => include/hw}/usb.h (100%)
 rename {hw => include/hw/virtio}/dataplane/hostmem.h (100%)
 rename {hw => include/hw/virtio}/dataplane/vring.h (98%)
 rename {hw => include/hw/virtio}/vhost.h (98%)
 rename hw/9pfs/virtio-9p-device.h => include/hw/virtio/virtio-9p.h (100%)
 rename {hw => include/hw/virtio}/virtio-balloon.h (98%)
 rename {hw => include/hw/virtio}/virtio-blk.h (96%)
 rename {hw => include/hw/virtio}/virtio-bus.h (99%)
 rename {hw => include/hw/virtio}/virtio-net.h (99%)
 rename {hw => include/hw/virtio}/virtio-rng.h (100%)
 rename {hw => include/hw/virtio}/virtio-scsi.h (97%)
 rename {hw => include/hw/virtio}/virtio-serial.h (99%)
 rename {hw => include/hw/virtio}/virtio.h (99%)
 rename {hw => include/hw/xen}/xen.h (100%)
 rename {hw => include/hw/xen}/xen_backend.h (99%)
 rename {hw => include/hw/xen}/xen_common.h (99%)
 rename {hw => include/hw}/xilinx.h (100%)
 rename {hw => include/net}/vhost_net.h (100%)
 rename {hw => include/sysemu}/watchdog.h (100%)

-- 
1.8.1.4

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 01/35] build: enable using $(CONFIG_FOO) on the rhs of config files
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 02/35] hw: move headers to include/ Paolo Bonzini
                   ` (33 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 Makefile | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 80344d9..0b6e6a1 100644
--- a/Makefile
+++ b/Makefile
@@ -76,7 +76,10 @@ config-all-devices.mak:
 	$(call quiet-command,echo '# no devices' > $@,"  GEN   $@")
 else
 config-all-devices.mak: $(SUBDIR_DEVICES_MAK)
-	$(call quiet-command,cat $(SUBDIR_DEVICES_MAK) | grep =y | sort -u > $@,"  GEN   $@")
+	$(call quiet-command, sed -n \
+             's|^\([^=]*\)=\(.*\)$$|\1:=$$(findstring y,$$(\1)\2)|p' \
+             $(SUBDIR_DEVICES_MAK) | sort -u > $@, \
+             "  GEN   $@")
 endif
 
 -include $(SUBDIR_DEVICES_MAK_DEP)
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 02/35] hw: move headers to include/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 01/35] build: enable using $(CONFIG_FOO) on the rhs of config files Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-09  8:35   ` Markus Armbruster
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 03/35] hw: make subdirectories for devices Paolo Bonzini
                   ` (32 subsequent siblings)
  34 siblings, 1 reply; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

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>
---
 arch_init.c                                        |  8 ++++----
 block/iscsi.c                                      |  4 ++--
 blockdev-nbd.c                                     |  2 +-
 blockdev.c                                         |  2 +-
 exec.c                                             |  2 +-
 gdbstub.c                                          |  2 +-
 hw/9pfs/virtio-9p-device.c                         |  4 ++--
 hw/9pfs/virtio-9p-handle.c                         |  2 +-
 hw/9pfs/virtio-9p-local.c                          |  2 +-
 hw/9pfs/virtio-9p-posix-acl.c                      |  2 +-
 hw/9pfs/virtio-9p-proxy.c                          |  2 +-
 hw/9pfs/virtio-9p-synth.c                          |  2 +-
 hw/9pfs/virtio-9p-xattr-user.c                     |  2 +-
 hw/9pfs/virtio-9p-xattr.c                          |  2 +-
 hw/9pfs/virtio-9p.c                                |  4 ++--
 hw/9pfs/virtio-9p.h                                |  2 +-
 hw/ac97.c                                          |  2 +-
 hw/acpi.c                                          |  4 ++--
 hw/acpi_ich9.c                                     |  6 +++---
 hw/acpi_piix4.c                                    | 10 ++++-----
 hw/adb.c                                           |  2 +-
 hw/adlib.c                                         |  4 ++--
 hw/alpha/dp264.c                                   |  6 +++---
 hw/alpha_sys.h                                     |  2 +-
 hw/alpha_typhoon.c                                 |  2 +-
 hw/apb_pci.c                                       |  2 +-
 hw/apic.c                                          | 10 ++++-----
 hw/apic_common.c                                   |  4 ++--
 hw/apm.c                                           |  2 +-
 hw/applesmc.c                                      |  2 +-
 hw/arm/armv7m.c                                    |  2 +-
 hw/arm/boot.c                                      |  2 +-
 hw/arm/collie.c                                    |  6 +++---
 hw/arm/exynos4210.c                                |  4 ++--
 hw/arm/exynos4_boards.c                            |  4 ++--
 hw/arm/gumstix.c                                   |  6 +++---
 hw/arm/highbank.c                                  |  4 ++--
 hw/arm/integratorcp.c                              |  4 ++--
 hw/arm/kzm.c                                       |  8 ++++----
 hw/arm/mainstone.c                                 |  8 ++++----
 hw/arm/musicpal.c                                  | 10 ++++-----
 hw/arm/nseries.c                                   | 10 ++++-----
 hw/arm/omap1.c                                     |  6 +++---
 hw/arm/omap2.c                                     |  8 ++++----
 hw/arm/omap_sx1.c                                  |  6 +++---
 hw/arm/palm.c                                      |  6 +++---
 hw/arm/pic_cpu.c                                   |  2 +-
 hw/arm/pxa2xx.c                                    |  6 +++---
 hw/arm/pxa2xx_gpio.c                               |  2 +-
 hw/arm/pxa2xx_pic.c                                |  2 +-
 hw/arm/realview.c                                  |  8 ++++----
 hw/arm/spitz.c                                     | 12 +++++------
 hw/arm/stellaris.c                                 |  6 +++---
 hw/arm/tosa.c                                      | 10 ++++-----
 hw/arm/versatilepb.c                               |  8 ++++----
 hw/arm/vexpress.c                                  |  8 ++++----
 hw/arm/xilinx_zynq.c                               |  4 ++--
 hw/arm/z2.c                                        | 10 ++++-----
 hw/arm_sysctl.c                                    |  2 +-
 hw/armv7m_nvic.c                                   |  2 +-
 hw/bitbang_i2c.h                                   |  2 +-
 hw/blizzard.c                                      |  2 +-
 hw/block-common.c                                  |  2 +-
 hw/bonito.c                                        |  4 ++--
 hw/bt-hid.c                                        |  2 +-
 hw/cbus.c                                          |  2 +-
 hw/cdrom.c                                         |  2 +-
 hw/cris/axis_dev88.c                               |  4 ++--
 hw/cris/pic_cpu.c                                  |  2 +-
 hw/cs4231a.c                                       |  4 ++--
 hw/cuda.c                                          |  2 +-
 hw/dataplane/hostmem.c                             |  2 +-
 hw/dataplane/virtio-blk.c                          |  6 +++---
 hw/dataplane/virtio-blk.h                          |  2 +-
 hw/dataplane/vring.c                               |  2 +-
 hw/debugcon.c                                      |  4 ++--
 hw/debugexit.c                                     |  2 +-
 hw/dma.c                                           |  2 +-
 hw/dp8393x.c                                       |  2 +-
 hw/ds1338.c                                        |  2 +-
 hw/ecc.c                                           |  2 +-
 hw/eepro100.c                                      |  2 +-
 hw/eeprom93xx.c                                    |  2 +-
 hw/es1370.c                                        |  2 +-
 hw/escc.c                                          |  2 +-
 hw/esp-pci.c                                       |  4 ++--
 hw/esp.c                                           |  2 +-
 hw/etraxfs_dma.c                                   |  2 +-
 hw/etraxfs_eth.c                                   |  2 +-
 hw/exynos4210_combiner.c                           |  2 +-
 hw/exynos4210_gic.c                                |  2 +-
 hw/exynos4210_i2c.c                                |  2 +-
 hw/exynos4210_mct.c                                |  2 +-
 hw/exynos4210_pwm.c                                |  2 +-
 hw/exynos4210_rtc.c                                |  2 +-
 hw/exynos4210_uart.c                               |  2 +-
 hw/fdc.c                                           |  4 ++--
 hw/fw_cfg.c                                        |  4 ++--
 hw/grlib_irqmp.c                                   |  2 +-
 hw/gt64xxx.c                                       |  4 ++--
 hw/gus.c                                           |  4 ++--
 hw/hd-geometry.c                                   |  2 +-
 hw/hid.c                                           |  2 +-
 hw/hpet.c                                          |  8 ++++----
 hw/i2c.c                                           |  2 +-
 hw/i386/kvmvapic.c                                 |  2 +-
 hw/i386/multiboot.c                                |  2 +-
 hw/i386/pc.c                                       | 24 +++++++++++-----------
 hw/i386/pc_piix.c                                  |  8 ++++----
 hw/i386/pc_q35.c                                   | 10 ++++-----
 hw/i386/smbios.c                                   |  2 +-
 hw/i386/xen_domainbuild.c                          |  2 +-
 hw/i386/xen_machine_pv.c                           |  4 ++--
 hw/i82374.c                                        |  2 +-
 hw/i82378.c                                        |  6 +++---
 hw/i8254.c                                         |  8 ++++----
 hw/i8254_common.c                                  |  8 ++++----
 hw/i8259.c                                         |  6 +++---
 hw/i8259_common.c                                  |  4 ++--
 hw/i82801b11.c                                     |  2 +-
 hw/ide/ahci.c                                      |  2 +-
 hw/ide/atapi.c                                     |  2 +-
 hw/ide/cmd646.c                                    |  4 ++--
 hw/ide/core.c                                      |  6 +++---
 hw/ide/ich.c                                       |  4 ++--
 hw/ide/internal.h                                  |  6 +++---
 hw/ide/isa.c                                       |  4 ++--
 hw/ide/macio.c                                     |  2 +-
 hw/ide/microdrive.c                                |  2 +-
 hw/ide/pci.c                                       |  4 ++--
 hw/ide/piix.c                                      |  4 ++--
 hw/ide/qdev.c                                      |  2 +-
 hw/ide/via.c                                       |  4 ++--
 hw/imx_ccm.c                                       |  2 +-
 hw/imx_serial.c                                    |  2 +-
 hw/imx_timer.c                                     |  2 +-
 hw/intel-hda.c                                     |  2 +-
 hw/ioapic.c                                        |  8 ++++----
 hw/ioapic_common.c                                 |  4 ++--
 hw/isa-bus.c                                       |  2 +-
 hw/isa_mmio.c                                      |  2 +-
 hw/ivshmem.c                                       |  2 +-
 hw/kvm/apic.c                                      |  2 +-
 hw/kvm/i8254.c                                     |  4 ++--
 hw/kvm/i8259.c                                     |  4 ++--
 hw/kvm/ioapic.c                                    |  6 +++---
 hw/kvm/pci-assign.c                                |  2 +-
 hw/lan9118.c                                       |  2 +-
 hw/lance.c                                         |  2 +-
 hw/lm32/lm32_boards.c                              |  4 ++--
 hw/lm32/milkymist.c                                |  4 ++--
 hw/lm32_juart.c                                    |  2 +-
 hw/lm32_pic.c                                      |  4 ++--
 hw/lm832x.c                                        |  2 +-
 hw/loader.c                                        |  2 +-
 hw/lpc_ich9.c                                      | 15 +++++++-------
 hw/lsi53c895a.c                                    |  2 +-
 hw/m25p80.c                                        |  2 +-
 hw/m48t59.c                                        |  4 ++--
 hw/m68k/an5206.c                                   |  2 +-
 hw/m68k/mcf5206.c                                  |  2 +-
 hw/m68k/mcf5208.c                                  |  2 +-
 hw/m68k/mcf_intc.c                                 |  2 +-
 hw/mac_dbdma.c                                     |  4 ++--
 hw/mac_nvram.c                                     |  2 +-
 hw/macio.c                                         |  4 ++--
 hw/marvell_88w8618_audio.c                         |  2 +-
 hw/max7310.c                                       |  2 +-
 hw/mc146818rtc.c                                   |  4 ++--
 hw/mcf_fec.c                                       |  2 +-
 hw/mcf_uart.c                                      |  2 +-
 hw/megasas.c                                       |  4 ++--
 hw/microblaze/petalogix_ml605_mmu.c                |  6 +++---
 hw/microblaze/petalogix_s3adsp1800_mmu.c           |  4 ++--
 hw/milkymist-softusb.c                             |  2 +-
 hw/mips/addr.c                                     |  2 +-
 hw/mips/cputimer.c                                 |  2 +-
 hw/mips/mips_fulong2e.c                            | 22 ++++++++++----------
 hw/mips/mips_int.c                                 |  2 +-
 hw/mips/mips_jazz.c                                | 22 ++++++++++----------
 hw/mips/mips_malta.c                               | 20 +++++++++---------
 hw/mips/mips_mipssim.c                             | 10 ++++-----
 hw/mips/mips_r4k.c                                 | 18 ++++++++--------
 hw/moxie/moxiesim.c                                |  6 +++---
 hw/nand.c                                          |  2 +-
 hw/ne2000-isa.c                                    |  4 ++--
 hw/omap_clk.c                                      |  2 +-
 hw/omap_dma.c                                      |  4 ++--
 hw/omap_dss.c                                      |  2 +-
 hw/omap_gpio.c                                     |  2 +-
 hw/omap_gpmc.c                                     |  4 ++--
 hw/omap_gptimer.c                                  |  2 +-
 hw/omap_i2c.c                                      |  4 ++--
 hw/omap_intc.c                                     |  2 +-
 hw/omap_l4.c                                       |  2 +-
 hw/omap_lcdc.c                                     |  2 +-
 hw/omap_mmc.c                                      |  2 +-
 hw/omap_sdrc.c                                     |  2 +-
 hw/omap_spi.c                                      |  2 +-
 hw/omap_synctimer.c                                |  2 +-
 hw/omap_tap.c                                      |  2 +-
 hw/omap_uart.c                                     |  4 ++--
 hw/onenand.c                                       |  2 +-
 hw/openpic.c                                       |  4 ++--
 hw/openrisc/openrisc_sim.c                         |  2 +-
 hw/pam.c                                           |  2 +-
 hw/parallel.c                                      |  4 ++--
 hw/pc-testdev.c                                    |  2 +-
 hw/pc87312.c                                       |  2 +-
 hw/pc_sysfw.c                                      |  4 ++--
 hw/pci/pci-hotplug.c                               |  6 +++---
 hw/pckbd.c                                         |  6 +++---
 hw/pcspk.c                                         |  8 ++++----
 hw/pflash_cfi01.c                                  |  2 +-
 hw/pflash_cfi02.c                                  |  2 +-
 hw/piix4.c                                         |  4 ++--
 hw/piix_pci.c                                      |  8 ++++----
 hw/pl050.c                                         |  2 +-
 hw/pl330.c                                         |  2 +-
 hw/pm_smbus.c                                      |  6 +++---
 hw/ppc/e500.c                                      |  8 ++++----
 hw/ppc/e500plat.c                                  |  2 +-
 hw/ppc/mac.h                                       |  2 +-
 hw/ppc/mac_newworld.c                              | 14 ++++++-------
 hw/ppc/mac_oldworld.c                              | 12 +++++------
 hw/ppc/mpc8544ds.c                                 |  2 +-
 hw/ppc/ppc.c                                       |  4 ++--
 hw/ppc/ppc405_boards.c                             |  6 +++---
 hw/ppc/ppc405_uc.c                                 |  4 ++--
 hw/ppc/ppc440_bamboo.c                             |  4 ++--
 hw/ppc/ppc4xx_devs.c                               |  4 ++--
 hw/ppc/ppc_booke.c                                 |  4 ++--
 hw/ppc/prep.c                                      | 16 +++++++--------
 hw/ppc/spapr.c                                     | 10 ++++-----
 hw/ppc/spapr_events.c                              |  4 ++--
 hw/ppc/spapr_hcall.c                               |  2 +-
 hw/ppc/spapr_iommu.c                               |  2 +-
 hw/ppc/spapr_rtas.c                                |  4 ++--
 hw/ppc/spapr_vio.c                                 |  6 +++---
 hw/ppc/virtex_ml507.c                              | 10 ++++-----
 hw/ppc/xics.c                                      |  4 ++--
 hw/ppc405.h                                        |  2 +-
 hw/ppc4xx_pci.c                                    |  4 ++--
 hw/ppce500_pci.c                                   |  2 +-
 hw/prep_pci.c                                      |  2 +-
 hw/ps2.c                                           |  2 +-
 hw/puv3_dma.c                                      |  2 +-
 hw/puv3_gpio.c                                     |  2 +-
 hw/puv3_intc.c                                     |  2 +-
 hw/puv3_ost.c                                      |  2 +-
 hw/puv3_pm.c                                       |  2 +-
 hw/pxa2xx_dma.c                                    |  2 +-
 hw/pxa2xx_keypad.c                                 |  2 +-
 hw/pxa2xx_lcd.c                                    |  2 +-
 hw/pxa2xx_mmci.c                                   |  2 +-
 hw/pxa2xx_pcmcia.c                                 |  2 +-
 hw/pxa2xx_timer.c                                  |  2 +-
 hw/q35.c                                           |  2 +-
 hw/qdev-properties-system.c                        |  2 +-
 hw/qdev-properties.c                               |  2 +-
 hw/rc4030.c                                        |  2 +-
 hw/s390x/s390-virtio-bus.c                         | 10 ++++-----
 hw/s390x/s390-virtio-bus.h                         | 12 +++++------
 hw/s390x/s390-virtio.c                             |  2 +-
 hw/s390x/virtio-ccw.c                              |  8 ++++----
 hw/s390x/virtio-ccw.h                              | 14 ++++++-------
 hw/sb16.c                                          |  4 ++--
 hw/scsi-bus.c                                      |  4 ++--
 hw/scsi-disk.c                                     |  6 +++---
 hw/scsi-generic.c                                  |  4 ++--
 hw/serial-isa.c                                    |  4 ++--
 hw/serial-pci.c                                    |  2 +-
 hw/serial.c                                        |  2 +-
 hw/sga.c                                           |  2 +-
 hw/sh4/r2d.c                                       |  6 +++---
 hw/sh4/sh7750.c                                    |  4 ++--
 hw/sh4/sh7750_regnames.c                           |  2 +-
 hw/sh4/shix.c                                      |  2 +-
 hw/sh_intc.c                                       |  4 ++--
 hw/sh_pci.c                                        |  2 +-
 hw/sh_serial.c                                     |  2 +-
 hw/sh_timer.c                                      |  2 +-
 hw/slavio_intctl.c                                 |  2 +-
 hw/slavio_timer.c                                  |  2 +-
 hw/sm501.c                                         |  4 ++--
 hw/smbus.c                                         |  4 ++--
 hw/smbus_eeprom.c                                  |  4 ++--
 hw/smbus_ich9.c                                    | 10 ++++-----
 hw/smc91c111.c                                     |  2 +-
 hw/soc_dma.c                                       |  2 +-
 hw/spapr_llan.c                                    |  4 ++--
 hw/spapr_nvram.c                                   |  4 ++--
 hw/spapr_pci.c                                     |  4 ++--
 hw/spapr_vscsi.c                                   |  8 ++++----
 hw/spapr_vty.c                                     |  4 ++--
 hw/sparc/leon3.c                                   |  2 +-
 hw/sparc/sun4m.c                                   | 20 +++++++++---------
 hw/sparc32_dma.c                                   |  4 ++--
 hw/sparc64/sun4u.c                                 | 14 ++++++-------
 hw/ssd0303.c                                       |  2 +-
 hw/stellaris_input.c                               |  2 +-
 hw/strongarm.c                                     |  2 +-
 hw/sun4c_intctl.c                                  |  2 +-
 hw/sun4m_iommu.c                                   |  2 +-
 hw/tc58128.c                                       |  2 +-
 hw/tc6393xb.c                                      |  4 ++--
 hw/tmp105.c                                        |  2 +-
 hw/tmp105.h                                        |  4 ++--
 hw/tsc2005.c                                       |  2 +-
 hw/tsc210x.c                                       |  4 ++--
 hw/tusb6010.c                                      |  4 ++--
 hw/twl92230.c                                      |  2 +-
 hw/unicore32/puv3.c                                |  4 ++--
 hw/usb/dev-audio.c                                 |  2 +-
 hw/usb/dev-hid.c                                   |  2 +-
 hw/usb/dev-storage.c                               |  2 +-
 hw/usb/dev-uas.c                                   |  4 ++--
 hw/vga-isa-mm.c                                    |  2 +-
 hw/vga-isa.c                                       |  2 +-
 hw/vga.c                                           |  4 ++--
 hw/vhost.c                                         |  2 +-
 hw/vhost_net.c                                     |  6 +++---
 hw/virtio-balloon.c                                |  8 ++++----
 hw/virtio-blk.c                                    | 11 ++++++----
 hw/virtio-bus.c                                    |  4 ++--
 hw/virtio-console.c                                |  2 +-
 hw/virtio-net.c                                    |  6 +++---
 hw/virtio-pci.c                                    | 14 ++++++-------
 hw/virtio-pci.h                                    | 16 +++++++--------
 hw/virtio-rng.c                                    |  4 ++--
 hw/virtio-scsi.c                                   |  8 ++++----
 hw/virtio-serial-bus.c                             |  2 +-
 hw/virtio.c                                        |  4 ++--
 hw/vmmouse.c                                       |  4 ++--
 hw/vmport.c                                        |  4 ++--
 hw/vmxnet3.c                                       |  9 ++++----
 hw/vt82c686.c                                      | 18 ++++++++--------
 hw/watchdog.c                                      |  2 +-
 hw/wdt_i6300esb.c                                  |  2 +-
 hw/wdt_ib700.c                                     |  6 +++---
 hw/wm8750.c                                        |  2 +-
 hw/xen_apic.c                                      |  4 ++--
 hw/xen_backend.c                                   |  2 +-
 hw/xen_console.c                                   |  2 +-
 hw/xen_devconfig.c                                 |  2 +-
 hw/xen_disk.c                                      |  2 +-
 hw/xen_domainbuild.h                               |  2 +-
 hw/xen_nic.c                                       |  2 +-
 hw/xen_platform.c                                  |  6 +++---
 hw/xen_pt.c                                        |  4 ++--
 hw/xen_pt.h                                        |  2 +-
 hw/xen_pt_config_init.c                            |  2 +-
 hw/xen_pt_msi.c                                    |  4 ++--
 hw/xenfb.c                                         |  2 +-
 hw/xtensa/xtensa_lx60.c                            |  4 ++--
 hw/zaurus.c                                        |  2 +-
 hw/scsi-defs.h => include/block/scsi.h             |  0
 include/exec/memory-internal.h                     |  2 +-
 {hw => include/hw/acpi}/acpi.h                     |  0
 hw/acpi_ich9.h => include/hw/acpi/ich9.h           |  2 +-
 hw/arm-misc.h => include/hw/arm.h                  |  0
 {hw => include/hw/arm}/devices.h                   |  0
 {hw => include/hw/arm}/exynos4210.h                |  0
 {hw => include/hw/arm}/imx.h                       |  0
 {hw => include/hw/arm}/omap.h                      |  0
 {hw => include/hw/arm}/primecell.h                 |  0
 {hw => include/hw/arm}/pxa.h                       |  0
 {hw => include/hw/arm}/sharpsl.h                   |  0
 {hw => include/hw/arm}/soc_dma.h                   |  0
 hw/audiodev.h => include/hw/audio/audio.h          |  0
 {hw => include/hw/audio}/pcspk.h                   |  2 +-
 hw/block-common.h => include/hw/block/block.h      |  0
 {hw => include/hw/block}/fdc.h                     |  0
 {hw => include/hw/block}/flash.h                   |  0
 {hw => include/hw}/boards.h                        |  0
 {hw => include/hw}/bt.h                            |  0
 {hw => include/hw/char}/escc.h                     |  0
 {hw => include/hw/char}/serial.h                   |  0
 {hw => include/hw/cris}/etraxfs.h                  |  2 +-
 {hw => include/hw/cris}/etraxfs_dma.h              |  0
 {hw => include/hw}/elf_ops.h                       |  0
 {hw => include/hw}/empty_slot.h                    |  0
 {hw => include/hw}/hw.h                            |  0
 {hw => include/hw/i2c}/i2c.h                       |  0
 {hw => include/hw/i2c}/pm_smbus.h                  |  0
 {hw => include/hw/i2c}/smbus.h                     |  2 +-
 {hw => include/hw/i386}/apic-msidef.h              |  0
 {hw => include/hw/i386}/apic.h                     |  0
 {hw => include/hw/i386}/apic_internal.h            |  0
 {hw => include/hw/i386}/ich9.h                     | 13 ++++++------
 {hw => include/hw/i386}/ioapic.h                   |  0
 {hw => include/hw/i386}/ioapic_internal.h          |  0
 {hw => include/hw/i386}/pc.h                       |  6 +++---
 {hw => include/hw/i386}/smbios.h                   |  0
 {hw => include/hw}/ide.h                           |  2 +-
 {hw => include/hw/input}/adb.h                     |  0
 {hw => include/hw/input}/hid.h                     |  0
 {hw => include/hw/input}/ps2.h                     |  0
 {hw => include/hw}/irq.h                           |  0
 {hw => include/hw/isa}/apm.h                       |  0
 {hw => include/hw/isa}/i8259_internal.h            |  4 ++--
 {hw => include/hw/isa}/isa.h                       |  0
 {hw => include/hw/isa}/pc87312.h                   |  2 +-
 {hw => include/hw/isa}/vt82c686.h                  |  0
 {hw => include/hw}/kvm/clock.h                     |  0
 {hw => include/hw/lm32}/lm32_juart.h               |  0
 {hw => include/hw/lm32}/lm32_pic.h                 |  0
 {hw => include/hw}/loader.h                        |  0
 {hw => include/hw/m68k}/mcf.h                      |  0
 hw/mips-bios.h => include/hw/mips/bios.h           |  0
 hw/mips_cpudevs.h => include/hw/mips/cpudevs.h     |  0
 {hw => include/hw/mips}/mips.h                     |  0
 {hw => include/hw/misc}/tmp105_regs.h              |  0
 {hw => include/hw/nvram}/eeprom93xx.h              |  0
 {hw => include/hw/nvram}/fw_cfg.h                  |  0
 hw/apb_pci.h => include/hw/pci-host/apb.h          |  0
 {hw => include/hw/pci-host}/pam.h                  |  0
 hw/ppce500_pci.h => include/hw/pci-host/ppce500.h  |  0
 {hw => include/hw/pci-host}/q35.h                  | 14 ++++++-------
 hw/spapr_pci.h => include/hw/pci-host/spapr.h      |  2 +-
 {hw => include/hw}/pci/msi.h                       |  0
 {hw => include/hw}/pci/msix.h                      |  0
 {hw => include/hw}/pci/pci.h                       |  2 +-
 {hw => include/hw}/pci/pci_bridge.h                |  0
 {hw => include/hw}/pci/pci_bus.h                   |  0
 {hw => include/hw}/pci/pci_host.h                  |  0
 {hw => include/hw}/pci/pci_ids.h                   |  0
 {hw => include/hw}/pci/pci_regs.h                  |  0
 {hw => include/hw}/pci/pcie.h                      |  0
 {hw => include/hw}/pci/pcie_aer.h                  |  0
 {hw => include/hw}/pci/pcie_host.h                 |  0
 {hw => include/hw}/pci/pcie_port.h                 |  0
 {hw => include/hw}/pci/pcie_regs.h                 |  0
 {hw => include/hw}/pci/shpc.h                      |  0
 {hw => include/hw}/pci/slotid_cap.h                |  0
 {hw => include/hw}/pcmcia.h                        |  0
 {hw => include/hw/ppc}/mac_dbdma.h                 |  0
 {hw => include/hw/ppc}/openpic.h                   |  0
 {hw => include/hw/ppc}/ppc.h                       |  0
 {hw => include/hw/ppc}/ppc4xx.h                    |  0
 {hw => include/hw/ppc}/spapr.h                     |  2 +-
 {hw => include/hw/ppc}/spapr_vio.h                 |  0
 {hw => include/hw/ppc}/xics.h                      |  0
 {hw => include/hw}/ptimer.h                        |  0
 {hw => include/hw}/qdev-addr.h                     |  0
 {hw => include/hw}/qdev-core.h                     |  0
 {hw => include/hw}/qdev-dma.h                      |  0
 {hw => include/hw}/qdev-properties.h               |  0
 {hw => include/hw}/qdev.h                          |  0
 {hw => include/hw}/s390x/event-facility.h          |  0
 {hw => include/hw}/s390x/sclp.h                    |  0
 {hw => include/hw/scsi}/esp.h                      |  2 +-
 {hw => include/hw/scsi}/scsi.h                     |  2 +-
 {hw => include/hw}/sd.h                            |  0
 {hw => include/hw/sh4}/sh.h                        |  2 +-
 {hw => include/hw/sh4}/sh_intc.h                   |  0
 {hw => include/hw/sparc}/firmware_abi.h            |  0
 {hw => include/hw/sparc}/grlib.h                   |  0
 {hw => include/hw/sparc}/sparc32_dma.h             |  0
 {hw => include/hw/sparc}/sun4m.h                   |  2 +-
 {hw => include/hw}/ssi.h                           |  0
 {hw => include/hw}/stream.h                        |  0
 {hw => include/hw}/sysbus.h                        |  0
 hw/hpet_emul.h => include/hw/timer/hpet.h          |  0
 {hw => include/hw/timer}/i8254.h                   |  2 +-
 {hw => include/hw/timer}/i8254_internal.h          |  4 ++--
 hw/nvram.h => include/hw/timer/m48t59.h            |  0
 {hw => include/hw/timer}/mc146818rtc.h             |  4 ++--
 {hw => include/hw/timer}/mc146818rtc_regs.h        |  0
 {hw => include/hw/unicore32}/puv3.h                |  0
 {hw => include/hw}/usb.h                           |  0
 {hw => include/hw/virtio}/dataplane/hostmem.h      |  0
 {hw => include/hw/virtio}/dataplane/vring.h        |  2 +-
 {hw => include/hw/virtio}/vhost.h                  |  2 +-
 .../hw/virtio/virtio-9p.h                          |  0
 {hw => include/hw/virtio}/virtio-balloon.h         |  2 +-
 {hw => include/hw/virtio}/virtio-blk.h             | 11 +++++-----
 {hw => include/hw/virtio}/virtio-bus.h             |  2 +-
 {hw => include/hw/virtio}/virtio-net.h             |  2 +-
 {hw => include/hw/virtio}/virtio-rng.h             |  0
 {hw => include/hw/virtio}/virtio-scsi.h            |  4 ++--
 {hw => include/hw/virtio}/virtio-serial.h          |  2 +-
 {hw => include/hw/virtio}/virtio.h                 |  2 +-
 {hw => include/hw/xen}/xen.h                       |  0
 {hw => include/hw/xen}/xen_backend.h               |  2 +-
 {hw => include/hw/xen}/xen_common.h                |  2 +-
 {hw => include/hw}/xilinx.h                        |  0
 {hw => include/net}/vhost_net.h                    |  0
 {hw => include/sysemu}/watchdog.h                  |  0
 monitor.c                                          |  8 ++++----
 net/tap.c                                          |  2 +-
 pc-bios/optionrom/optionrom.h                      |  2 +-
 target-arm/arm-semi.c                              |  2 +-
 target-arm/kvm.c                                   |  2 +-
 target-i386/cpu.c                                  |  4 ++--
 target-i386/cpu.h                                  |  2 +-
 target-i386/kvm.c                                  |  4 ++--
 target-i386/machine.c                              |  4 ++--
 target-lm32/op_helper.c                            |  4 ++--
 target-lm32/translate.c                            |  2 +-
 target-ppc/kvm.c                                   |  6 +++---
 target-sh4/helper.c                                |  2 +-
 tests/rtc-test.c                                   |  2 +-
 tests/tmp105-test.c                                |  2 +-
 tpm/tpm_passthrough.c                              |  2 +-
 tpm/tpm_tis.c                                      |  2 +-
 tpm/tpm_tis.h                                      |  2 +-
 vl.c                                               | 12 +++++------
 xen-all.c                                          |  6 +++---
 xen-mapcache.c                                     |  2 +-
 xen-stub.c                                         |  2 +-
 511 files changed, 829 insertions(+), 830 deletions(-)
 rename hw/scsi-defs.h => include/block/scsi.h (100%)
 rename {hw => include/hw/acpi}/acpi.h (100%)
 rename hw/acpi_ich9.h => include/hw/acpi/ich9.h (98%)
 rename hw/arm-misc.h => include/hw/arm.h (100%)
 rename {hw => include/hw/arm}/devices.h (100%)
 rename {hw => include/hw/arm}/exynos4210.h (100%)
 rename {hw => include/hw/arm}/imx.h (100%)
 rename {hw => include/hw/arm}/omap.h (100%)
 rename {hw => include/hw/arm}/primecell.h (100%)
 rename {hw => include/hw/arm}/pxa.h (100%)
 rename {hw => include/hw/arm}/sharpsl.h (100%)
 rename {hw => include/hw/arm}/soc_dma.h (100%)
 rename hw/audiodev.h => include/hw/audio/audio.h (100%)
 rename {hw => include/hw/audio}/pcspk.h (98%)
 rename hw/block-common.h => include/hw/block/block.h (100%)
 rename {hw => include/hw/block}/fdc.h (100%)
 rename {hw => include/hw/block}/flash.h (100%)
 rename {hw => include/hw}/boards.h (100%)
 rename {hw => include/hw}/bt.h (100%)
 rename {hw => include/hw/char}/escc.h (100%)
 rename {hw => include/hw/char}/serial.h (100%)
 rename {hw => include/hw/cris}/etraxfs.h (98%)
 rename {hw => include/hw/cris}/etraxfs_dma.h (100%)
 rename {hw => include/hw}/elf_ops.h (100%)
 rename {hw => include/hw}/empty_slot.h (100%)
 rename {hw => include/hw}/hw.h (100%)
 rename {hw => include/hw/i2c}/i2c.h (100%)
 rename {hw => include/hw/i2c}/pm_smbus.h (100%)
 rename {hw => include/hw/i2c}/smbus.h (99%)
 rename {hw => include/hw/i386}/apic-msidef.h (100%)
 rename {hw => include/hw/i386}/apic.h (100%)
 rename {hw => include/hw/i386}/apic_internal.h (100%)
 rename {hw => include/hw/i386}/ich9.h (98%)
 rename {hw => include/hw/i386}/ioapic.h (100%)
 rename {hw => include/hw/i386}/ioapic_internal.h (100%)
 rename {hw => include/hw/i386}/pc.h (98%)
 rename {hw => include/hw/i386}/smbios.h (100%)
 rename {hw => include/hw}/ide.h (97%)
 rename {hw => include/hw/input}/adb.h (100%)
 rename {hw => include/hw/input}/hid.h (100%)
 rename {hw => include/hw/input}/ps2.h (100%)
 rename {hw => include/hw}/irq.h (100%)
 rename {hw => include/hw/isa}/apm.h (100%)
 rename {hw => include/hw/isa}/i8259_internal.h (98%)
 rename {hw => include/hw/isa}/isa.h (100%)
 rename {hw => include/hw/isa}/pc87312.h (98%)
 rename {hw => include/hw/isa}/vt82c686.h (100%)
 rename {hw => include/hw}/kvm/clock.h (100%)
 rename {hw => include/hw/lm32}/lm32_juart.h (100%)
 rename {hw => include/hw/lm32}/lm32_pic.h (100%)
 rename {hw => include/hw}/loader.h (100%)
 rename {hw => include/hw/m68k}/mcf.h (100%)
 rename hw/mips-bios.h => include/hw/mips/bios.h (100%)
 rename hw/mips_cpudevs.h => include/hw/mips/cpudevs.h (100%)
 rename {hw => include/hw/mips}/mips.h (100%)
 rename {hw => include/hw/misc}/tmp105_regs.h (100%)
 rename {hw => include/hw/nvram}/eeprom93xx.h (100%)
 rename {hw => include/hw/nvram}/fw_cfg.h (100%)
 rename hw/apb_pci.h => include/hw/pci-host/apb.h (100%)
 rename {hw => include/hw/pci-host}/pam.h (100%)
 rename hw/ppce500_pci.h => include/hw/pci-host/ppce500.h (100%)
 rename {hw => include/hw/pci-host}/q35.h (97%)
 rename hw/spapr_pci.h => include/hw/pci-host/spapr.h (99%)
 rename {hw => include/hw}/pci/msi.h (100%)
 rename {hw => include/hw}/pci/msix.h (100%)
 rename {hw => include/hw}/pci/pci.h (99%)
 rename {hw => include/hw}/pci/pci_bridge.h (100%)
 rename {hw => include/hw}/pci/pci_bus.h (100%)
 rename {hw => include/hw}/pci/pci_host.h (100%)
 rename {hw => include/hw}/pci/pci_ids.h (100%)
 rename {hw => include/hw}/pci/pci_regs.h (100%)
 rename {hw => include/hw}/pci/pcie.h (100%)
 rename {hw => include/hw}/pci/pcie_aer.h (100%)
 rename {hw => include/hw}/pci/pcie_host.h (100%)
 rename {hw => include/hw}/pci/pcie_port.h (100%)
 rename {hw => include/hw}/pci/pcie_regs.h (100%)
 rename {hw => include/hw}/pci/shpc.h (100%)
 rename {hw => include/hw}/pci/slotid_cap.h (100%)
 rename {hw => include/hw}/pcmcia.h (100%)
 rename {hw => include/hw/ppc}/mac_dbdma.h (100%)
 rename {hw => include/hw/ppc}/openpic.h (100%)
 rename {hw => include/hw/ppc}/ppc.h (100%)
 rename {hw => include/hw/ppc}/ppc4xx.h (100%)
 rename {hw => include/hw/ppc}/spapr.h (99%)
 rename {hw => include/hw/ppc}/spapr_vio.h (100%)
 rename {hw => include/hw/ppc}/xics.h (100%)
 rename {hw => include/hw}/ptimer.h (100%)
 rename {hw => include/hw}/qdev-addr.h (100%)
 rename {hw => include/hw}/qdev-core.h (100%)
 rename {hw => include/hw}/qdev-dma.h (100%)
 rename {hw => include/hw}/qdev-properties.h (100%)
 rename {hw => include/hw}/qdev.h (100%)
 rename {hw => include/hw}/s390x/event-facility.h (100%)
 rename {hw => include/hw}/s390x/sclp.h (100%)
 rename {hw => include/hw/scsi}/esp.h (99%)
 rename {hw => include/hw/scsi}/scsi.h (99%)
 rename {hw => include/hw}/sd.h (100%)
 rename {hw => include/hw/sh4}/sh.h (98%)
 rename {hw => include/hw/sh4}/sh_intc.h (100%)
 rename {hw => include/hw/sparc}/firmware_abi.h (100%)
 rename {hw => include/hw/sparc}/grlib.h (100%)
 rename {hw => include/hw/sparc}/sparc32_dma.h (100%)
 rename {hw => include/hw/sparc}/sun4m.h (96%)
 rename {hw => include/hw}/ssi.h (100%)
 rename {hw => include/hw}/stream.h (100%)
 rename {hw => include/hw}/sysbus.h (100%)
 rename hw/hpet_emul.h => include/hw/timer/hpet.h (100%)
 rename {hw => include/hw/timer}/i8254.h (98%)
 rename {hw => include/hw/timer}/i8254_internal.h (98%)
 rename hw/nvram.h => include/hw/timer/m48t59.h (100%)
 rename {hw => include/hw/timer}/mc146818rtc.h (80%)
 rename {hw => include/hw/timer}/mc146818rtc_regs.h (100%)
 rename {hw => include/hw/unicore32}/puv3.h (100%)
 rename {hw => include/hw}/usb.h (100%)
 rename {hw => include/hw/virtio}/dataplane/hostmem.h (100%)
 rename {hw => include/hw/virtio}/dataplane/vring.h (98%)
 rename {hw => include/hw/virtio}/vhost.h (98%)
 rename hw/9pfs/virtio-9p-device.h => include/hw/virtio/virtio-9p.h (100%)
 rename {hw => include/hw/virtio}/virtio-balloon.h (98%)
 rename {hw => include/hw/virtio}/virtio-blk.h (96%)
 rename {hw => include/hw/virtio}/virtio-bus.h (99%)
 rename {hw => include/hw/virtio}/virtio-net.h (99%)
 rename {hw => include/hw/virtio}/virtio-rng.h (100%)
 rename {hw => include/hw/virtio}/virtio-scsi.h (97%)
 rename {hw => include/hw/virtio}/virtio-serial.h (99%)
 rename {hw => include/hw/virtio}/virtio.h (99%)
 rename {hw => include/hw/xen}/xen.h (100%)
 rename {hw => include/hw/xen}/xen_backend.h (99%)
 rename {hw => include/hw/xen}/xen_common.h (99%)
 rename {hw => include/hw}/xilinx.h (100%)
 rename {hw => include/net}/vhost_net.h (100%)
 rename {hw => include/sysemu}/watchdog.h (100%)

diff --git a/arch_init.c b/arch_init.c
index 4ef5a15..b22505c 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 51a2889..92d6eae 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 dc4e9a2..95f10c8 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 8cdc9ce..875f0f3 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 786987a..fa1e0c3 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 a666cb5..3f61a0d 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 d321c80..43f930e 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 e30fdb6..fe8e0ed 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 f1b1c83..be898ec 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 08bb0e8..339c5ec 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 7300279..8ba2959 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 e95a856..840e4eb 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 5bb6020..e0c92eb 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 a839606..90ae565 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 5cc4c92..db2ae32 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 52b1c69..95a8ec3 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 c7d601f..ab68ec6 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 53e47d5..ca7eac0 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"
 
 struct acpi_table_header {
diff --git a/hw/acpi_ich9.c b/hw/acpi_ich9.c
index 29f84ff..5debbd8 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 7a4b712..ab38751 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 fd9052c..a75d3fd 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 e6bce59..133c0ff 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 13aaa57..a0dd12c 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 b4ebd2a..50e7730 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 b1e0044..41a0ebc 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 754ca6c..fe15ae8 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 d2395f0..2d79a9e 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 d0c2616..8d0982d 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 e2846f9..5f21d21 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 44b9bac..c29558b 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 1d5bb59..a4bdd5f 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 43253fd..c79c590 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 17fddc8..76eda8e 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 4592514..78b8b74 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 473da34..ba14a1f 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 8859b73..4d800c9 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 a622224..58f73c1 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 e0ba327..8d0fb75 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 ec50a31..46264cd 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 aea908f..b78e6f0 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 ea8473d..97b1340 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 6747c1c..13fb98f 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 3245c62..17caa61 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 0a2cd7b..010c483 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 8598233..aa85602 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 baeb585..0bc11ae 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 3a3f065..787767f 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 7467cca..bce1a7f 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 55ebcd7..fa31575 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 25e9089..835d07c 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 5fb490c..afd52d3 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 f5832be..fa434dc 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 f4ce794..952087c 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 747888c..c4362d4 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 baaa265..d9be604 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 2e1a5d0..96e0985 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 6f36286..93dbfe2 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 cbb6d80..3e27208 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 25fc6ea..c8b55a8 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 d198cfd..39d727e 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 e860627..2866ac3 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 020d3de..bdb0b15 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 d21ec3a..33dd3f3 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 e58655a..974150b 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 69ccf9b..af494e1 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 29b467b..3d9027f 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 a018eec..38469fa 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 eccd423..00daceb 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 85c68c0..bd47bf1 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 f005f25..5711b62 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 2ae430d..f797796 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 380537e..37292ff 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 1242d61..5baef23 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 1e8fdfe..c90e99f 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 e3b2253..e0d6e83 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 cab7691..0588eeb 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 ba67a8f..59bed5b 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 fd1161c..eb60d45 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 8b5ca6a..2289f08 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 ae7ca9f..8987cdc 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 8c97c33..8c888cc 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 68d729c..dc99ea6 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 39f5605..08f4df5 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 e64cf23..9fe5708 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 baf0219..067b055 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 7599b39..3ca5c8c 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 5365eac..17adbec 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 a84ec1f..6a8c222 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 591bee2..1039913 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 5818f10..6874287 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 807849c..bad6dde 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 9e42875..196f889 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 862c962..87ce75b 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 6d74cd4..185ccb9 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 d170ca7..bceee44 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 006f3d4..8b4e72c 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 a4bb129..1ed874f 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 63a1998..97bba87 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 7ee469d..68dfe6a 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 37be9c2..189e865 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 d268224..e44704b 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 c305143..6feb4f8 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 28b3474..5fbde98 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 6bfbf3a..95dd01d 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 ad361cc..0c4fc1d 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 c151c95..60c481d 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 APIC_DEFAULT_ADDRESS    0xfee00000
 
diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c
index 3cb228f..c7f01df 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 b1e06fa..1f346ff 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 0abc9f1..cff8013 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 4f5f347..6ac1a89 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 672ee9b..c00bb2f 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 d477061..ed90b4b 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 37ba34e..fdd9374 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 22115e4..835639d 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 6f8c48b..cced9af 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 67bfc6a..20c0c36 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 c6c0c80..5342df4 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 1d82752..ce14bd0 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 98052db..996ba9d 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 8b4a9c6..5807a92 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 ad0094f..d0ae8af 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 861fd2b..05e60b1 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 745ef94..541d4ef 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 3743dc3..87d67b7 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 cc30adc..ed1f1a2 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 d80360e..2c89b50 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 fb7bb82..e0d47bf 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 375c46f..64b2406 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 642774e..92c1df0 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 59fd539..a310975 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 4d3e822..1de284d 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 fd06da7..8a9a891 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 f40c1ad..9d6a644 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 ad7aad3..c153a24 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 746723c..d7ec209 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 a8c31114..03197e3 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 728b60f..68201cd 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 78629fa..7089fa8 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 d4aff29..42c7adc 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 67ff8fd..7860b17 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 a7860e7..d4dbf13 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 68a2cf2..a014af2 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 d994ea7..c6ff982 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 04ad649..da90711 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 5ae8b68..ea77be8 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 23877d4..a3bd519 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 da64b5b..c1e08ec 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 403fb86..04cf267 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 acfffae..0f4e808 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 db92948..b22c94f 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 b347cf9..c3724de 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 472e9c2..93f0d15 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 d17c310..b4e80c8 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 a064dfd..bacbeb2 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 6ce66fb..2f5072d 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 ff0a309..d116075 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 5a8bf4d..c601b29 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 55e9d0d..cd560e3 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 39a9d80..5019e06 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 7c21c66..c4a5626 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 58cd8d4..bcc619d 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 748bf56..05efde7 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 fff27b3..cfe660d 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 61d2f35..a2363bb 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 ed32bde..5223330 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 e91143e..2f389dd 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 e042046..f9b68fd 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 e5cb810..59b2877 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 a2119ad..69e6844 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 0227bd8..9b68052 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 aacf0f0..86045eb 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 9b815d4..f46f800 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 cfc0220..813ef8c 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 2498362..b386403 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 90a0ae5..3edab4f 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 cddc25c..99488f1 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 9ad13f3..e0266bf 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 766aa9d..3cf27fa 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 0e5e866..7dbd24d 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 daeb985..fd3a5f9 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 9a67dce..a3e936b 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 4935c78..d1681ec 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 539a562..4646ab6 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 e1e88a9..70bf28f 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 de3e502..43de933 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 47c00c3..e4c10db 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 c7b5c11..80a3c50 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 0c5902f..184fcee 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 948ad8f..ea3afce 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 c79f61c..f5eeaea 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 ebb259c..91adb66 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 8485ee8..9b0e9dd 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 92f7b37..efb2254 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 7da9c35..875eba4 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 cbe8a06..ac8251f 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 4f5b094..4048cc1 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 6e48110..d4079cd 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 510e6cc..e38b571 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 1cbd98d..11403c4 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 13e7280..a24f35c 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 181ecee..99b70d5 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 af51ce7..26c1426 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 ddba366..2dae0f5 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 03a7075..c788714 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 db2aac8..49bab1f 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 6c0061e..7181bd6 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 0b9af43..863a6fb 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 8236bce..32df175 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 c4e4c62..9f5e185 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 3e01528..0d95c8a 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 f38df30..7b71f75 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 cc63df0..08ceb9f 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 d533415..34e0df7 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 5d57bab..287fb0c 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 37b4fcc..9a7fa70 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 0f5cd01..d750413 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 83fcfa4..f9e68c3 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 bc31ab6..d9ef95d 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 1a04773..3491a2d 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 7900610..0b5bb89 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 fef9c5d..c1bdb6b 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 4b30575..7292ce1 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 b17107b..54efaed 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 a08a6b2..4a9b883 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 2778e45..3acca94 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 cf29788..444da02 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 85bc821..fb57b42 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 ba443cf..18a29db 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 56bae8f..82b8956 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 66911b5..48a0218 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 49ec728..d8e3dae 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 30375c0..585f53b 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 2920911..cceab3e 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 7b2a11f..7a42501 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 ce78f09..ff87ac3 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 22cfb7e..f518aee 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 8d500bf..d2782cf 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 a24e853..b71b59c 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 6eb3ab5..4dbc315 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 41eab16..db52649 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 374da5b..8e1e85e 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 45c2159..1c5f04f 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 854e170..599539b 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 abc7ebe..5e7ad94 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 58df245..6130253 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 233a087..3412079 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 c05a14e..32844b5 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 b2a790b..5bab97e 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 6bc9e1a..0cd5e9e 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 10a522a..0c3d827 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 6b8d94d..0aacdc2 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 1db21c9..6e4c1f6 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 32ea7a5..1fd5f20 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 f2b0c93..ee59bc2 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 0df83cc..2db1cab 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 66fefba..323d458 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 c173fe4..8ea2416 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 6ea081a..8467f86 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 d9934b5..4423b88 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 168c466..9a0872d 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 b065515..03f92f1 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 8c529c14..ddf15a2 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 ebe8794..c557132 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 ca275bd..f82c0e1 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 5dce791..4dec0cd 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 d580510..46e9a55 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 bd51ceb..783b6b4 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 08787c2..eb4524b 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 c5c7bf3..f52bd11 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 4d04cac..2a9a561 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 a630a7d..ed140d0 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 954657b..2138e35 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 0ccc499..1151bf1 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 4b1d4e5..5cf4b86 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 faa03d2..bcc326a 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 e4d37ad..d72708e 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 389698d..7a3cdf3 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 192579d..c23d4af 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 29e3d8f..050bfb6 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 e3e7550..d213a90 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 40e797c..a7bb8ed 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 b450323..f92ff4f 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 b60592b..b367752 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 83f22a0..1145a87 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 93a06c9..d9fcead 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 9626415..25d2d04 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 dff8403d..0154283 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 732ebd3..ca22978 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 c2feae6..f659256 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 db5d609..5e3491d 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 19701e7..34332f2 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 680cdba..0cc6cba 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 3e0d8d1..62ff323 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 2794094..e92b09a 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 be08571..9df018a 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 bf06bf4..3b27d40 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 9ebda02..31beb32 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 18e368e..fd21533 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 4c39cf6..0d29620 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 68d1f24..183a878 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 4e40792..f83fc3f 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 49f9577..0e5262d 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 9d443d1..1096375 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 33e77b0..744b584 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 f76f96d..a3929d4 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 79c971b..2d5fa89 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 47e5437..21a27a6 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 9a9632c..9ba05ec 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 a771cd5..34ee1fb 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 b93e502..e6c217c 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 a5251a3..533938a 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 7d020c4..b730d85 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 78ab13f..7c8fc36 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 b8c79b8..44fc43f 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 9701048..5f3a4b4 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 d3f01aa..5780837 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 1ac5117..c8c42ee 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 02356d4..3b08720 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 9e29321..89d7fa6 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 59bfb22..dc31fd5 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 4d6aee3..636fad0 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 d3218a0..8c5384c 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 b382bd4..c2c446e 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 f2143fd..6efb2f0 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 6c2aab0..1596a1c 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 284180f..31f672c 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 5917740..bc8fd43 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 fb20722..943b429 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 f99f2eb..fb83155 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 fa8e8f3..6079b2a 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 06a58a6..ead7cda 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 a9cb114..1dba8ab 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 26fbc79..1c2282c 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 a9d227e..f4f9c93 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 cc1466a..0d07ea1 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 bdd256e..5916624 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 4529508..fb93b70 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 072d256..cb4e1f9 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 f13e507..1407fba 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 6c52808..b8c4be8 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 0904cf4..6b5a349 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 8f387b6..a2eb8a1 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 24381b5..f2eddfa 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 a8db6f8..24b5ca5 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 cdcaf62..fa998ef 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 83329e2..e341168 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 681cbe5..29a91ea 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 b6d3679..63918ae 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 5e11c95..b6c6793 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 ce695d0..0cc4538 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 1cd9f44..d2cac18 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 5583821..3ee2adf 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 a54ee2b..dcdfc5c 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 7c46a2f..8e42661 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 f2a63d8..5695897 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 7d3258c..d853ea1 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
similarity index 100%
rename from hw/scsi-defs.h
rename to include/block/scsi.h
diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index 1da2400..977467b 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
similarity index 100%
rename from hw/acpi.h
rename to include/hw/acpi/acpi.h
diff --git a/hw/acpi_ich9.h b/include/hw/acpi/ich9.h
similarity index 98%
rename from hw/acpi_ich9.h
rename to include/hw/acpi/ich9.h
index 91c3aeb..85b82ee 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
similarity index 100%
rename from hw/arm-misc.h
rename to include/hw/arm.h
diff --git a/hw/devices.h b/include/hw/arm/devices.h
similarity index 100%
rename from hw/devices.h
rename to include/hw/arm/devices.h
diff --git a/hw/exynos4210.h b/include/hw/arm/exynos4210.h
similarity index 100%
rename from hw/exynos4210.h
rename to include/hw/arm/exynos4210.h
diff --git a/hw/imx.h b/include/hw/arm/imx.h
similarity index 100%
rename from hw/imx.h
rename to include/hw/arm/imx.h
diff --git a/hw/omap.h b/include/hw/arm/omap.h
similarity index 100%
rename from hw/omap.h
rename to include/hw/arm/omap.h
diff --git a/hw/primecell.h b/include/hw/arm/primecell.h
similarity index 100%
rename from hw/primecell.h
rename to include/hw/arm/primecell.h
diff --git a/hw/pxa.h b/include/hw/arm/pxa.h
similarity index 100%
rename from hw/pxa.h
rename to include/hw/arm/pxa.h
diff --git a/hw/sharpsl.h b/include/hw/arm/sharpsl.h
similarity index 100%
rename from hw/sharpsl.h
rename to include/hw/arm/sharpsl.h
diff --git a/hw/soc_dma.h b/include/hw/arm/soc_dma.h
similarity index 100%
rename from hw/soc_dma.h
rename to include/hw/arm/soc_dma.h
diff --git a/hw/audiodev.h b/include/hw/audio/audio.h
similarity index 100%
rename from hw/audiodev.h
rename to include/hw/audio/audio.h
diff --git a/hw/pcspk.h b/include/hw/audio/pcspk.h
similarity index 98%
rename from hw/pcspk.h
rename to include/hw/audio/pcspk.h
index f448d22..ce8ef4f 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
similarity index 100%
rename from hw/block-common.h
rename to include/hw/block/block.h
diff --git a/hw/fdc.h b/include/hw/block/fdc.h
similarity index 100%
rename from hw/fdc.h
rename to include/hw/block/fdc.h
diff --git a/hw/flash.h b/include/hw/block/flash.h
similarity index 100%
rename from hw/flash.h
rename to include/hw/block/flash.h
diff --git a/hw/boards.h b/include/hw/boards.h
similarity index 100%
rename from hw/boards.h
rename to include/hw/boards.h
diff --git a/hw/bt.h b/include/hw/bt.h
similarity index 100%
rename from hw/bt.h
rename to include/hw/bt.h
diff --git a/hw/escc.h b/include/hw/char/escc.h
similarity index 100%
rename from hw/escc.h
rename to include/hw/char/escc.h
diff --git a/hw/serial.h b/include/hw/char/serial.h
similarity index 100%
rename from hw/serial.h
rename to include/hw/char/serial.h
diff --git a/hw/etraxfs.h b/include/hw/cris/etraxfs.h
similarity index 98%
rename from hw/etraxfs.h
rename to include/hw/cris/etraxfs.h
index 0df4fdd..ab30559 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
similarity index 100%
rename from hw/etraxfs_dma.h
rename to include/hw/cris/etraxfs_dma.h
diff --git a/hw/elf_ops.h b/include/hw/elf_ops.h
similarity index 100%
rename from hw/elf_ops.h
rename to include/hw/elf_ops.h
diff --git a/hw/empty_slot.h b/include/hw/empty_slot.h
similarity index 100%
rename from hw/empty_slot.h
rename to include/hw/empty_slot.h
diff --git a/hw/hw.h b/include/hw/hw.h
similarity index 100%
rename from hw/hw.h
rename to include/hw/hw.h
diff --git a/hw/i2c.h b/include/hw/i2c/i2c.h
similarity index 100%
rename from hw/i2c.h
rename to include/hw/i2c/i2c.h
diff --git a/hw/pm_smbus.h b/include/hw/i2c/pm_smbus.h
similarity index 100%
rename from hw/pm_smbus.h
rename to include/hw/i2c/pm_smbus.h
diff --git a/hw/smbus.h b/include/hw/i2c/smbus.h
similarity index 99%
rename from hw/smbus.h
rename to include/hw/i2c/smbus.h
index c3db620..d764d75 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
similarity index 100%
rename from hw/apic-msidef.h
rename to include/hw/i386/apic-msidef.h
diff --git a/hw/apic.h b/include/hw/i386/apic.h
similarity index 100%
rename from hw/apic.h
rename to include/hw/i386/apic.h
diff --git a/hw/apic_internal.h b/include/hw/i386/apic_internal.h
similarity index 100%
rename from hw/apic_internal.h
rename to include/hw/i386/apic_internal.h
diff --git a/hw/ich9.h b/include/hw/i386/ich9.h
similarity index 98%
rename from hw/ich9.h
rename to include/hw/i386/ich9.h
index e7d2df7..51d5981 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
similarity index 100%
rename from hw/ioapic.h
rename to include/hw/i386/ioapic.h
diff --git a/hw/ioapic_internal.h b/include/hw/i386/ioapic_internal.h
similarity index 100%
rename from hw/ioapic_internal.h
rename to include/hw/i386/ioapic_internal.h
diff --git a/hw/pc.h b/include/hw/i386/pc.h
similarity index 98%
rename from hw/pc.h
rename to include/hw/i386/pc.h
index 8e1dd4c..d64c338 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
similarity index 100%
rename from hw/smbios.h
rename to include/hw/i386/smbios.h
diff --git a/hw/ide.h b/include/hw/ide.h
similarity index 97%
rename from hw/ide.h
rename to include/hw/ide.h
index 35444a3..507e6d3 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
similarity index 100%
rename from hw/adb.h
rename to include/hw/input/adb.h
diff --git a/hw/hid.h b/include/hw/input/hid.h
similarity index 100%
rename from hw/hid.h
rename to include/hw/input/hid.h
diff --git a/hw/ps2.h b/include/hw/input/ps2.h
similarity index 100%
rename from hw/ps2.h
rename to include/hw/input/ps2.h
diff --git a/hw/irq.h b/include/hw/irq.h
similarity index 100%
rename from hw/irq.h
rename to include/hw/irq.h
diff --git a/hw/apm.h b/include/hw/isa/apm.h
similarity index 100%
rename from hw/apm.h
rename to include/hw/isa/apm.h
diff --git a/hw/i8259_internal.h b/include/hw/isa/i8259_internal.h
similarity index 98%
rename from hw/i8259_internal.h
rename to include/hw/isa/i8259_internal.h
index 2813ec1..d3ddb27 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
similarity index 100%
rename from hw/isa.h
rename to include/hw/isa/isa.h
diff --git a/hw/pc87312.h b/include/hw/isa/pc87312.h
similarity index 98%
rename from hw/pc87312.h
rename to include/hw/isa/pc87312.h
index ad087c7..befc8bd 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
similarity index 100%
rename from hw/vt82c686.h
rename to include/hw/isa/vt82c686.h
diff --git a/hw/kvm/clock.h b/include/hw/kvm/clock.h
similarity index 100%
rename from hw/kvm/clock.h
rename to include/hw/kvm/clock.h
diff --git a/hw/lm32_juart.h b/include/hw/lm32/lm32_juart.h
similarity index 100%
rename from hw/lm32_juart.h
rename to include/hw/lm32/lm32_juart.h
diff --git a/hw/lm32_pic.h b/include/hw/lm32/lm32_pic.h
similarity index 100%
rename from hw/lm32_pic.h
rename to include/hw/lm32/lm32_pic.h
diff --git a/hw/loader.h b/include/hw/loader.h
similarity index 100%
rename from hw/loader.h
rename to include/hw/loader.h
diff --git a/hw/mcf.h b/include/hw/m68k/mcf.h
similarity index 100%
rename from hw/mcf.h
rename to include/hw/m68k/mcf.h
diff --git a/hw/mips-bios.h b/include/hw/mips/bios.h
similarity index 100%
rename from hw/mips-bios.h
rename to include/hw/mips/bios.h
diff --git a/hw/mips_cpudevs.h b/include/hw/mips/cpudevs.h
similarity index 100%
rename from hw/mips_cpudevs.h
rename to include/hw/mips/cpudevs.h
diff --git a/hw/mips.h b/include/hw/mips/mips.h
similarity index 100%
rename from hw/mips.h
rename to include/hw/mips/mips.h
diff --git a/hw/tmp105_regs.h b/include/hw/misc/tmp105_regs.h
similarity index 100%
rename from hw/tmp105_regs.h
rename to include/hw/misc/tmp105_regs.h
diff --git a/hw/eeprom93xx.h b/include/hw/nvram/eeprom93xx.h
similarity index 100%
rename from hw/eeprom93xx.h
rename to include/hw/nvram/eeprom93xx.h
diff --git a/hw/fw_cfg.h b/include/hw/nvram/fw_cfg.h
similarity index 100%
rename from hw/fw_cfg.h
rename to include/hw/nvram/fw_cfg.h
diff --git a/hw/apb_pci.h b/include/hw/pci-host/apb.h
similarity index 100%
rename from hw/apb_pci.h
rename to include/hw/pci-host/apb.h
diff --git a/hw/pam.h b/include/hw/pci-host/pam.h
similarity index 100%
rename from hw/pam.h
rename to include/hw/pci-host/pam.h
diff --git a/hw/ppce500_pci.h b/include/hw/pci-host/ppce500.h
similarity index 100%
rename from hw/ppce500_pci.h
rename to include/hw/pci-host/ppce500.h
diff --git a/hw/q35.h b/include/hw/pci-host/q35.h
similarity index 97%
rename from hw/q35.h
rename to include/hw/pci-host/q35.h
index d766bb7..6b50b5f 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
similarity index 99%
rename from hw/spapr_pci.h
rename to include/hw/pci-host/spapr.h
index 8bd8a66..b21080c 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
similarity index 100%
rename from hw/pci/msi.h
rename to include/hw/pci/msi.h
diff --git a/hw/pci/msix.h b/include/hw/pci/msix.h
similarity index 100%
rename from hw/pci/msix.h
rename to include/hw/pci/msix.h
diff --git a/hw/pci/pci.h b/include/hw/pci/pci.h
similarity index 99%
rename from hw/pci/pci.h
rename to include/hw/pci/pci.h
index 9ea67a3..05315c0 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
similarity index 100%
rename from hw/pci/pci_bridge.h
rename to include/hw/pci/pci_bridge.h
diff --git a/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
similarity index 100%
rename from hw/pci/pci_bus.h
rename to include/hw/pci/pci_bus.h
diff --git a/hw/pci/pci_host.h b/include/hw/pci/pci_host.h
similarity index 100%
rename from hw/pci/pci_host.h
rename to include/hw/pci/pci_host.h
diff --git a/hw/pci/pci_ids.h b/include/hw/pci/pci_ids.h
similarity index 100%
rename from hw/pci/pci_ids.h
rename to include/hw/pci/pci_ids.h
diff --git a/hw/pci/pci_regs.h b/include/hw/pci/pci_regs.h
similarity index 100%
rename from hw/pci/pci_regs.h
rename to include/hw/pci/pci_regs.h
diff --git a/hw/pci/pcie.h b/include/hw/pci/pcie.h
similarity index 100%
rename from hw/pci/pcie.h
rename to include/hw/pci/pcie.h
diff --git a/hw/pci/pcie_aer.h b/include/hw/pci/pcie_aer.h
similarity index 100%
rename from hw/pci/pcie_aer.h
rename to include/hw/pci/pcie_aer.h
diff --git a/hw/pci/pcie_host.h b/include/hw/pci/pcie_host.h
similarity index 100%
rename from hw/pci/pcie_host.h
rename to include/hw/pci/pcie_host.h
diff --git a/hw/pci/pcie_port.h b/include/hw/pci/pcie_port.h
similarity index 100%
rename from hw/pci/pcie_port.h
rename to include/hw/pci/pcie_port.h
diff --git a/hw/pci/pcie_regs.h b/include/hw/pci/pcie_regs.h
similarity index 100%
rename from hw/pci/pcie_regs.h
rename to include/hw/pci/pcie_regs.h
diff --git a/hw/pci/shpc.h b/include/hw/pci/shpc.h
similarity index 100%
rename from hw/pci/shpc.h
rename to include/hw/pci/shpc.h
diff --git a/hw/pci/slotid_cap.h b/include/hw/pci/slotid_cap.h
similarity index 100%
rename from hw/pci/slotid_cap.h
rename to include/hw/pci/slotid_cap.h
diff --git a/hw/pcmcia.h b/include/hw/pcmcia.h
similarity index 100%
rename from hw/pcmcia.h
rename to include/hw/pcmcia.h
diff --git a/hw/mac_dbdma.h b/include/hw/ppc/mac_dbdma.h
similarity index 100%
rename from hw/mac_dbdma.h
rename to include/hw/ppc/mac_dbdma.h
diff --git a/hw/openpic.h b/include/hw/ppc/openpic.h
similarity index 100%
rename from hw/openpic.h
rename to include/hw/ppc/openpic.h
diff --git a/hw/ppc.h b/include/hw/ppc/ppc.h
similarity index 100%
rename from hw/ppc.h
rename to include/hw/ppc/ppc.h
diff --git a/hw/ppc4xx.h b/include/hw/ppc/ppc4xx.h
similarity index 100%
rename from hw/ppc4xx.h
rename to include/hw/ppc/ppc4xx.h
diff --git a/hw/spapr.h b/include/hw/ppc/spapr.h
similarity index 99%
rename from hw/spapr.h
rename to include/hw/ppc/spapr.h
index 3a1f69f..864bee9 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
similarity index 100%
rename from hw/spapr_vio.h
rename to include/hw/ppc/spapr_vio.h
diff --git a/hw/xics.h b/include/hw/ppc/xics.h
similarity index 100%
rename from hw/xics.h
rename to include/hw/ppc/xics.h
diff --git a/hw/ptimer.h b/include/hw/ptimer.h
similarity index 100%
rename from hw/ptimer.h
rename to include/hw/ptimer.h
diff --git a/hw/qdev-addr.h b/include/hw/qdev-addr.h
similarity index 100%
rename from hw/qdev-addr.h
rename to include/hw/qdev-addr.h
diff --git a/hw/qdev-core.h b/include/hw/qdev-core.h
similarity index 100%
rename from hw/qdev-core.h
rename to include/hw/qdev-core.h
diff --git a/hw/qdev-dma.h b/include/hw/qdev-dma.h
similarity index 100%
rename from hw/qdev-dma.h
rename to include/hw/qdev-dma.h
diff --git a/hw/qdev-properties.h b/include/hw/qdev-properties.h
similarity index 100%
rename from hw/qdev-properties.h
rename to include/hw/qdev-properties.h
diff --git a/hw/qdev.h b/include/hw/qdev.h
similarity index 100%
rename from hw/qdev.h
rename to include/hw/qdev.h
diff --git a/hw/s390x/event-facility.h b/include/hw/s390x/event-facility.h
similarity index 100%
rename from hw/s390x/event-facility.h
rename to include/hw/s390x/event-facility.h
diff --git a/hw/s390x/sclp.h b/include/hw/s390x/sclp.h
similarity index 100%
rename from hw/s390x/sclp.h
rename to include/hw/s390x/sclp.h
diff --git a/hw/esp.h b/include/hw/scsi/esp.h
similarity index 99%
rename from hw/esp.h
rename to include/hw/scsi/esp.h
index 830673b..e079fb8 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
similarity index 99%
rename from hw/scsi.h
rename to include/hw/scsi/scsi.h
index 33e2e0b..69b2bf5 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
similarity index 100%
rename from hw/sd.h
rename to include/hw/sd.h
diff --git a/hw/sh.h b/include/hw/sh4/sh.h
similarity index 98%
rename from hw/sh.h
rename to include/hw/sh4/sh.h
index 6230954..87c378f 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
similarity index 100%
rename from hw/sh_intc.h
rename to include/hw/sh4/sh_intc.h
diff --git a/hw/firmware_abi.h b/include/hw/sparc/firmware_abi.h
similarity index 100%
rename from hw/firmware_abi.h
rename to include/hw/sparc/firmware_abi.h
diff --git a/hw/grlib.h b/include/hw/sparc/grlib.h
similarity index 100%
rename from hw/grlib.h
rename to include/hw/sparc/grlib.h
diff --git a/hw/sparc32_dma.h b/include/hw/sparc/sparc32_dma.h
similarity index 100%
rename from hw/sparc32_dma.h
rename to include/hw/sparc/sparc32_dma.h
diff --git a/hw/sun4m.h b/include/hw/sparc/sun4m.h
similarity index 96%
rename from hw/sun4m.h
rename to include/hw/sparc/sun4m.h
index 0d2cfb8..e984671 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
similarity index 100%
rename from hw/ssi.h
rename to include/hw/ssi.h
diff --git a/hw/stream.h b/include/hw/stream.h
similarity index 100%
rename from hw/stream.h
rename to include/hw/stream.h
diff --git a/hw/sysbus.h b/include/hw/sysbus.h
similarity index 100%
rename from hw/sysbus.h
rename to include/hw/sysbus.h
diff --git a/hw/hpet_emul.h b/include/hw/timer/hpet.h
similarity index 100%
rename from hw/hpet_emul.h
rename to include/hw/timer/hpet.h
diff --git a/hw/i8254.h b/include/hw/timer/i8254.h
similarity index 98%
rename from hw/i8254.h
rename to include/hw/timer/i8254.h
index 7d4432e..75bb530 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
similarity index 98%
rename from hw/i8254_internal.h
rename to include/hw/timer/i8254_internal.h
index 30d5b1b..e0cff0c 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
similarity index 100%
rename from hw/nvram.h
rename to include/hw/timer/m48t59.h
diff --git a/hw/mc146818rtc.h b/include/hw/timer/mc146818rtc.h
similarity index 80%
rename from hw/mc146818rtc.h
rename to include/hw/timer/mc146818rtc.h
index 967403e..854ea3f 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
similarity index 100%
rename from hw/mc146818rtc_regs.h
rename to include/hw/timer/mc146818rtc_regs.h
diff --git a/hw/puv3.h b/include/hw/unicore32/puv3.h
similarity index 100%
rename from hw/puv3.h
rename to include/hw/unicore32/puv3.h
diff --git a/hw/usb.h b/include/hw/usb.h
similarity index 100%
rename from hw/usb.h
rename to include/hw/usb.h
diff --git a/hw/dataplane/hostmem.h b/include/hw/virtio/dataplane/hostmem.h
similarity index 100%
rename from hw/dataplane/hostmem.h
rename to include/hw/virtio/dataplane/hostmem.h
diff --git a/hw/dataplane/vring.h b/include/hw/virtio/dataplane/vring.h
similarity index 98%
rename from hw/dataplane/vring.h
rename to include/hw/virtio/dataplane/vring.h
index defb1ef..9380cb5 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
similarity index 98%
rename from hw/vhost.h
rename to include/hw/virtio/vhost.h
index f062d48..b373be0 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
similarity index 100%
rename from hw/9pfs/virtio-9p-device.h
rename to include/hw/virtio/virtio-9p.h
diff --git a/hw/virtio-balloon.h b/include/hw/virtio/virtio-balloon.h
similarity index 98%
rename from hw/virtio-balloon.h
rename to include/hw/virtio/virtio-balloon.h
index d898315..3b459bb 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
similarity index 96%
rename from hw/virtio-blk.h
rename to include/hw/virtio/virtio-blk.h
index 8c6c78b..c10d069 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
similarity index 99%
rename from hw/virtio-bus.h
rename to include/hw/virtio/virtio-bus.h
index ae0f707..311e8c7 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
similarity index 99%
rename from hw/virtio-net.h
rename to include/hw/virtio/virtio-net.h
index 4d1a8cd..d2cc996 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
similarity index 100%
rename from hw/virtio-rng.h
rename to include/hw/virtio/virtio-rng.h
diff --git a/hw/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
similarity index 97%
rename from hw/virtio-scsi.h
rename to include/hw/virtio/virtio-scsi.h
index 31e97bb..c9d92ca 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
similarity index 99%
rename from hw/virtio-serial.h
rename to include/hw/virtio/virtio-serial.h
index 516400f..098deea 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
similarity index 99%
rename from hw/virtio.h
rename to include/hw/virtio/virtio.h
index fdbe931..7e24b2b 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
similarity index 100%
rename from hw/xen.h
rename to include/hw/xen/xen.h
diff --git a/hw/xen_backend.h b/include/hw/xen/xen_backend.h
similarity index 99%
rename from hw/xen_backend.h
rename to include/hw/xen/xen_backend.h
index 6d5c699..16ee197 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
similarity index 99%
rename from hw/xen_common.h
rename to include/hw/xen/xen_common.h
index c37bde3..2d5a25b 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
similarity index 100%
rename from hw/xilinx.h
rename to include/hw/xilinx.h
diff --git a/hw/vhost_net.h b/include/net/vhost_net.h
similarity index 100%
rename from hw/vhost_net.h
rename to include/net/vhost_net.h
diff --git a/hw/watchdog.h b/include/sysemu/watchdog.h
similarity index 100%
rename from hw/watchdog.h
rename to include/sysemu/watchdog.h
diff --git a/monitor.c b/monitor.c
index 4ec1db9..e90d621 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 e7c8481..17bdf01 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 3daf7da..ce43608 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 847318d..77718c4 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 82e2e08..6bfb103 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 4b43759..82f0216 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 48f41ca..bcf7280 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 df30fa6..397afeb 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 b80a5f4..ee85e57 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 7ff991e..f106873 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 e885bb3..af9ce8c 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 597066f..5e9dddb 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 0a9cb3a..ce10ca8 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 9ab583b..3395d7f 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 a6ad213..2869129 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 80a48d6..1fdd66d 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 367f734..f0a45846 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 0c8df80..963682c 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 e2c9706..1a980f7 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 8c05843..31f28fc 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 dc6d1fa..f4af7b3 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 1ee8411..6f0516a 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"
 
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 03/35] hw: make subdirectories for devices
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 01/35] build: enable using $(CONFIG_FOO) on the rhs of config files Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 02/35] hw: move headers to include/ Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 04/35] moxie: configure with default-configs file Paolo Bonzini
                   ` (31 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Prepare the new directory structure.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/Makefile.objs          | 34 +++++++++++++++++++++++++++++++---
 hw/acpi/Makefile.objs     |  0
 hw/audio/Makefile.objs    |  0
 hw/block/Makefile.objs    |  0
 hw/bt/Makefile.objs       |  0
 hw/char/Makefile.objs     |  0
 hw/core/Makefile.objs     |  0
 hw/cpu/Makefile.objs      |  0
 hw/display/Makefile.objs  |  0
 hw/dma/Makefile.objs      |  0
 hw/gpio/Makefile.objs     |  0
 hw/i2c/Makefile.objs      |  0
 hw/input/Makefile.objs    |  0
 hw/intc/Makefile.objs     |  0
 hw/isa/Makefile.objs      |  0
 hw/misc/Makefile.objs     |  0
 hw/net/Makefile.objs      |  0
 hw/nvram/Makefile.objs    |  0
 hw/scsi/Makefile.objs     |  0
 hw/sd/Makefile.objs       |  0
 hw/ssi/Makefile.objs      |  0
 hw/timer/Makefile.objs    |  0
 hw/virtio/Makefile.objs   |  0
 hw/watchdog/Makefile.objs |  0
 hw/xen/Makefile.objs      |  0
 25 files changed, 31 insertions(+), 3 deletions(-)
 create mode 100644 hw/acpi/Makefile.objs
 create mode 100644 hw/audio/Makefile.objs
 create mode 100644 hw/block/Makefile.objs
 create mode 100644 hw/bt/Makefile.objs
 create mode 100644 hw/char/Makefile.objs
 create mode 100644 hw/core/Makefile.objs
 create mode 100644 hw/cpu/Makefile.objs
 create mode 100644 hw/display/Makefile.objs
 create mode 100644 hw/dma/Makefile.objs
 create mode 100644 hw/gpio/Makefile.objs
 create mode 100644 hw/i2c/Makefile.objs
 create mode 100644 hw/input/Makefile.objs
 create mode 100644 hw/intc/Makefile.objs
 create mode 100644 hw/isa/Makefile.objs
 create mode 100644 hw/misc/Makefile.objs
 create mode 100644 hw/net/Makefile.objs
 create mode 100644 hw/nvram/Makefile.objs
 create mode 100644 hw/scsi/Makefile.objs
 create mode 100644 hw/sd/Makefile.objs
 create mode 100644 hw/ssi/Makefile.objs
 create mode 100644 hw/timer/Makefile.objs
 create mode 100644 hw/virtio/Makefile.objs
 create mode 100644 hw/watchdog/Makefile.objs
 create mode 100644 hw/xen/Makefile.objs

diff --git a/hw/Makefile.objs b/hw/Makefile.objs
index d0b2ecb..39d60ec 100644
--- a/hw/Makefile.objs
+++ b/hw/Makefile.objs
@@ -3,8 +3,38 @@ common-obj-y += qdev.o qdev-properties.o
 # irq.o needed for qdev GPIO handling:
 common-obj-y += irq.o
 
+devices-dirs-$(CONFIG_REALLY_VIRTFS) += 9pfs/
+devices-dirs-$(CONFIG_ACPI) += acpi/
+devices-dirs-$(CONFIG_SOFTMMU) += audio/
+devices-dirs-$(CONFIG_SOFTMMU) += block/
+devices-dirs-$(CONFIG_SOFTMMU) += bt/
+devices-dirs-$(CONFIG_SOFTMMU) += char/
+devices-dirs-$(CONFIG_SOFTMMU) += cpu/
+devices-dirs-$(CONFIG_SOFTMMU) += display/
+devices-dirs-$(CONFIG_SOFTMMU) += dma/
+devices-dirs-$(CONFIG_SOFTMMU) += gpio/
+devices-dirs-$(CONFIG_SOFTMMU) += i2c/
+devices-dirs-$(CONFIG_SOFTMMU) += ide/
+devices-dirs-$(CONFIG_SOFTMMU) += input/
+devices-dirs-$(CONFIG_SOFTMMU) += intc/
+devices-dirs-$(CONFIG_SOFTMMU) += isa/
+devices-dirs-$(CONFIG_SOFTMMU) += misc/
+devices-dirs-$(CONFIG_SOFTMMU) += net/
+devices-dirs-$(CONFIG_SOFTMMU) += nvram/
+devices-dirs-$(CONFIG_SOFTMMU) += pci/
+devices-dirs-$(CONFIG_SOFTMMU) += scsi/
+devices-dirs-$(CONFIG_SOFTMMU) += sd/
+devices-dirs-$(CONFIG_SOFTMMU) += ssi/
+devices-dirs-$(CONFIG_SOFTMMU) += timer/
+devices-dirs-$(CONFIG_SOFTMMU) += usb/
+devices-dirs-$(CONFIG_SOFTMMU) += virtio/
+devices-dirs-$(CONFIG_SOFTMMU) += watchdog/
+devices-dirs-$(CONFIG_SOFTMMU) += xen/
+common-obj-y += core/
+common-obj-y += $(devices-dirs-y)
+obj-y += $(devices-dirs-y)
+
 ifeq ($(CONFIG_SOFTMMU),y)
-common-obj-y += usb/ ide/ pci/
 common-obj-y += loader.o
 common-obj-$(CONFIG_VIRTIO) += virtio-console.o
 common-obj-$(CONFIG_VIRTIO) += virtio-rng.o
@@ -167,7 +197,6 @@ common-obj-$(CONFIG_SOUND) += $(sound-obj-y)
 
 common-obj-$(CONFIG_REALLY_VIRTFS) += 9pfs/
 
-common-obj-y += usb/
 common-obj-$(CONFIG_PTIMER) += ptimer.o
 common-obj-$(CONFIG_MAX7310) += max7310.o
 common-obj-$(CONFIG_WM8750) += wm8750.o
@@ -207,7 +236,6 @@ obj-$(CONFIG_VIRTIO) += virtio.o virtio-blk.o virtio-balloon.o virtio-net.o
 obj-$(CONFIG_VIRTIO) += virtio-serial-bus.o virtio-scsi.o
 obj-$(CONFIG_SOFTMMU) += vhost_net.o
 obj-$(CONFIG_VHOST_NET) += vhost.o
-obj-$(CONFIG_REALLY_VIRTFS) += 9pfs/
 obj-$(CONFIG_VGA) += vga.o
 
 # Inter-VM PCI shared memory & VFIO PCI device assignment
diff --git a/hw/acpi/Makefile.objs b/hw/acpi/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/audio/Makefile.objs b/hw/audio/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/block/Makefile.objs b/hw/block/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/bt/Makefile.objs b/hw/bt/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/char/Makefile.objs b/hw/char/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/core/Makefile.objs b/hw/core/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/cpu/Makefile.objs b/hw/cpu/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/dma/Makefile.objs b/hw/dma/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/gpio/Makefile.objs b/hw/gpio/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/i2c/Makefile.objs b/hw/i2c/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/input/Makefile.objs b/hw/input/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/intc/Makefile.objs b/hw/intc/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/isa/Makefile.objs b/hw/isa/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/misc/Makefile.objs b/hw/misc/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/net/Makefile.objs b/hw/net/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/nvram/Makefile.objs b/hw/nvram/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/scsi/Makefile.objs b/hw/scsi/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/sd/Makefile.objs b/hw/sd/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/ssi/Makefile.objs b/hw/ssi/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/timer/Makefile.objs b/hw/timer/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/virtio/Makefile.objs b/hw/virtio/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/watchdog/Makefile.objs b/hw/watchdog/Makefile.objs
new file mode 100644
index 0000000..e69de29
diff --git a/hw/xen/Makefile.objs b/hw/xen/Makefile.objs
new file mode 100644
index 0000000..e69de29
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 04/35] moxie: configure with default-configs file
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (2 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 03/35] hw: make subdirectories for devices Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 05/35] hw: move target-independent files to subdirectories Paolo Bonzini
                   ` (30 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/moxie-softmmu.mak | 3 +++
 hw/moxie/Makefile.objs            | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/default-configs/moxie-softmmu.mak b/default-configs/moxie-softmmu.mak
index 8ede8d5..0a8194a 100644
--- a/default-configs/moxie-softmmu.mak
+++ b/default-configs/moxie-softmmu.mak
@@ -1 +1,4 @@
 # Default configuration for moxie-softmmu
+
+CONFIG_SERIAL=y
+CONFIG_VGA=y
diff --git a/hw/moxie/Makefile.objs b/hw/moxie/Makefile.objs
index a5f1742..f5e04e8 100644
--- a/hw/moxie/Makefile.objs
+++ b/hw/moxie/Makefile.objs
@@ -1,5 +1,5 @@
 # moxie boards
-obj-y = serial.o mc146818rtc.o vga.o
+obj-y = mc146818rtc.o
 
 obj-y := $(addprefix ../,$(obj-y))
 obj-y += moxiesim.o
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 05/35] hw: move target-independent files to subdirectories
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (3 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 04/35] moxie: configure with default-configs file Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 06/35] hw: move virtio devices to hw/ subdirectories Paolo Bonzini
                   ` (29 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

This patch tackles all files that are compiled once, moving
them to subdirectories of hw/.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/i386-softmmu.mak             |   2 +-
 default-configs/mips-softmmu.mak             |   2 +-
 default-configs/mips64-softmmu.mak           |   2 +-
 default-configs/mips64el-softmmu.mak         |   2 +-
 default-configs/mipsel-softmmu.mak           |   2 +-
 default-configs/ppc-softmmu.mak              |   2 +-
 default-configs/ppc64-softmmu.mak            |   2 +-
 default-configs/ppcemb-softmmu.mak           |   2 +-
 default-configs/x86_64-softmmu.mak           |   2 +-
 hw/Makefile.objs                             | 197 ---------------------------
 hw/acpi/Makefile.objs                        |   2 +
 hw/{acpi.c => acpi/core.c}                   |   0
 hw/{acpi_ich9.c => acpi/ich9.c}              |   0
 hw/{acpi_piix4.c => acpi/piix4.c}            |   0
 hw/audio/Makefile.objs                       |  16 +++
 hw/{ => audio}/ac97.c                        |   0
 hw/{ => audio}/adlib.c                       |   0
 hw/{ => audio}/cs4231a.c                     |   0
 hw/{ => audio}/es1370.c                      |   0
 hw/{ => audio}/fmopl.c                       |   0
 hw/{ => audio}/gus.c                         |   0
 hw/{ => audio}/gusemu_hal.c                  |   0
 hw/{ => audio}/gusemu_mixer.c                |   0
 hw/{hda-audio.c => audio/hda-codec.c}        |   0
 hw/{ => audio}/intel-hda.c                   |   0
 hw/{ => audio}/lm4549.c                      |   0
 hw/{ => audio}/pcspk.c                       |   0
 hw/{ => audio}/pl041.c                       |   0
 hw/{ => audio}/pl041.hx                      |   0
 hw/{ => audio}/sb16.c                        |   0
 hw/{ => audio}/wm8750.c                      |   0
 hw/block/Makefile.objs                       |   8 ++
 hw/{block-common.c => block/block.c}         |   0
 hw/{ => block}/cdrom.c                       |   0
 hw/{ => block}/ecc.c                         |   0
 hw/{ => block}/fdc.c                         |   0
 hw/{ => block}/hd-geometry.c                 |   0
 hw/{ => block}/m25p80.c                      |   0
 hw/{ => block}/nand.c                        |   0
 hw/{ => block}/pflash_cfi01.c                |   0
 hw/{ => block}/pflash_cfi02.c                |   0
 hw/{ => block}/xen_disk.c                    |   0
 hw/bt/Makefile.objs                          |   3 +
 hw/{bt.c => bt/core.c}                       |   0
 hw/{bt-hci-csr.c => bt/hci-csr.c}            |   0
 hw/{bt-hci.c => bt/hci.c}                    |   0
 hw/{bt-hid.c => bt/hid.c}                    |   0
 hw/{bt-l2cap.c => bt/l2cap.c}                |   0
 hw/{bt-sdp.c => bt/sdp.c}                    |   0
 hw/char/Makefile.objs                        |  10 ++
 hw/{ => char}/cadence_uart.c                 |   0
 hw/{ => char}/escc.c                         |   0
 hw/{ => char}/ipack.c                        |   0
 hw/{ => char}/ipoctal232.c                   |   0
 hw/{ => char}/parallel.c                     |   0
 hw/{ => char}/pl011.c                        |   0
 hw/{ => char}/serial-isa.c                   |   0
 hw/{ => char}/serial-pci.c                   |   0
 hw/{ => char}/serial.c                       |   0
 hw/{ => char}/tpci200.c                      |   0
 hw/{ => char}/virtio-console.c               |   0
 hw/{ => char}/xen_console.c                  |   0
 hw/{ => char}/xilinx_uartlite.c              |   0
 hw/core/Makefile.objs                        |  14 ++
 hw/{ => core}/empty_slot.c                   |   0
 hw/{ => core}/irq.c                          |   0
 hw/{ => core}/loader.c                       |   0
 hw/{ => core}/null-machine.c                 |   0
 hw/{ => core}/ptimer.c                       |   0
 hw/{ => core}/qdev-addr.c                    |   0
 hw/{ => core}/qdev-properties-system.c       |   0
 hw/{ => core}/qdev-properties.c              |   0
 hw/{ => core}/qdev.c                         |   0
 hw/{ => core}/stream.c                       |   0
 hw/{ => core}/sysbus.c                       |   0
 hw/display/Makefile.objs                     |  13 ++
 hw/{ => display}/ads7846.c                   |   0
 hw/{ => display}/cirrus_vga.c                |   0
 hw/{ => display}/g364fb.c                    |   0
 hw/{ => display}/jazz_led.c                  |   0
 hw/{ => display}/pl110.c                     |   0
 hw/{ => display}/ssd0303.c                   |   0
 hw/{ => display}/ssd0323.c                   |   0
 hw/{ => display}/vga-isa-mm.c                |   0
 hw/{ => display}/vga-isa.c                   |   0
 hw/{ => display}/vga-pci.c                   |   0
 hw/{ => display}/vmware_vga.c                |   0
 hw/{ => display}/xenfb.c                     |   0
 hw/dma/Makefile.objs                         |   7 +
 hw/{ => dma}/i82374.c                        |   0
 hw/{dma.c => dma/i8257.c}                    |   0
 hw/{ => dma}/pl080.c                         |   0
 hw/{ => dma}/pl330.c                         |   0
 hw/{ => dma}/puv3_dma.c                      |   0
 hw/{ => dma}/rc4030.c                        |   0
 hw/{ => dma}/xilinx_axidma.c                 |   0
 hw/gpio/Makefile.objs                        |   3 +
 hw/{ => gpio}/max7310.c                      |   0
 hw/{ => gpio}/pl061.c                        |   0
 hw/{ => gpio}/puv3_gpio.c                    |   0
 hw/i2c/Makefile.objs                         |   4 +
 hw/{i2c.c => i2c/core.c}                     |   0
 hw/{ => i2c}/pm_smbus.c                      |   0
 hw/{ => i2c}/smbus.c                         |   0
 hw/{ => i2c}/smbus_eeprom.c                  |   0
 hw/{ => i2c}/smbus_ich9.c                    |   0
 hw/{ => i2c}/versatile_i2c.c                 |   0
 hw/input/Makefile.objs                       |   9 ++
 hw/{ => input}/adb.c                         |   0
 hw/{ => input}/hid.c                         |   0
 hw/{ => input}/lm832x.c                      |   0
 hw/{ => input}/pckbd.c                       |   0
 hw/{ => input}/pl050.c                       |   0
 hw/{ => input}/ps2.c                         |   0
 hw/{ => input}/stellaris_input.c             |   0
 hw/{ => input}/tsc2005.c                     |   0
 hw/{ => input}/vmmouse.c                     |   0
 hw/intc/Makefile.objs                        |   5 +
 hw/{ => intc}/heathrow_pic.c                 |   0
 hw/{ => intc}/i8259.c                        |   0
 hw/{ => intc}/i8259_common.c                 |   0
 hw/{ => intc}/pl190.c                        |   0
 hw/{ => intc}/puv3_intc.c                    |   0
 hw/{ => intc}/xilinx_intc.c                  |   0
 hw/isa/Makefile.objs                         |   7 +
 hw/{ => isa}/apm.c                           |   0
 hw/{ => isa}/i82378.c                        |   0
 hw/{ => isa}/isa-bus.c                       |   0
 hw/{ => isa}/isa_mmio.c                      |   0
 hw/{ => isa}/pc87312.c                       |   0
 hw/{ => isa}/piix4.c                         |   0
 hw/misc/Makefile.objs                        |  11 ++
 hw/{ => misc}/applesmc.c                     |   0
 hw/{ => misc}/arm_l2x0.c                     |   0
 hw/misc/macio/Makefile.objs                  |   3 +
 hw/{ => misc/macio}/cuda.c                   |   0
 hw/{ => misc/macio}/mac_dbdma.c              |   0
 hw/{ => misc/macio}/macio.c                  |   0
 hw/{ => misc}/max111x.c                      |   0
 hw/{ => misc}/puv3_pm.c                      |   0
 hw/{ => misc}/tmp105.c                       |   0
 hw/net/Makefile.objs                         |  22 +++
 hw/{ => net}/cadence_gem.c                   |   0
 hw/{ => net}/dp8393x.c                       |   0
 hw/{ => net}/e1000.c                         |   0
 hw/{ => net}/eepro100.c                      |   0
 hw/{ => net}/lan9118.c                       |   0
 hw/{ => net}/mipsnet.c                       |   0
 hw/{ => net}/ne2000-isa.c                    |   0
 hw/{ => net}/ne2000.c                        |   0
 hw/{ => net}/opencores_eth.c                 |   0
 hw/{ => net}/pcnet-pci.c                     |   0
 hw/{ => net}/pcnet.c                         |   0
 hw/{ => net}/rtl8139.c                       |   0
 hw/{ => net}/smc91c111.c                     |   0
 hw/{ => net}/vmware_utils.h                  |   0
 hw/{ => net}/vmxnet3.c                       |   0
 hw/{ => net}/vmxnet3.h                       |   0
 hw/{ => net}/vmxnet_debug.h                  |   0
 hw/{ => net}/vmxnet_rx_pkt.c                 |   0
 hw/{ => net}/vmxnet_rx_pkt.h                 |   0
 hw/{ => net}/vmxnet_tx_pkt.c                 |   0
 hw/{ => net}/vmxnet_tx_pkt.h                 |   0
 hw/{ => net}/xen_nic.c                       |   0
 hw/{ => net}/xgmac.c                         |   0
 hw/{ => net}/xilinx_axienet.c                |   0
 hw/nvram/Makefile.objs                       |   4 +
 hw/{ => nvram}/ds1225y.c                     |   0
 hw/{ => nvram}/eeprom93xx.c                  |   0
 hw/{ => nvram}/fw_cfg.c                      |   0
 hw/{ => nvram}/mac_nvram.c                   |   0
 hw/pci/Makefile.objs                         |   4 +-
 hw/pci/bridge/Makefile.objs                  |   3 +
 hw/{ => pci/bridge}/i82801b11.c              |   0
 hw/{ => pci/bridge}/ioh3420.c                |   0
 hw/{ => pci/bridge}/pci_bridge_dev.c         |   0
 hw/{ => pci/bridge}/xio3130_downstream.c     |   0
 hw/{ => pci/bridge}/xio3130_upstream.c       |   0
 hw/pci/host/Makefile.objs                    |  13 ++
 hw/{dec_pci.c => pci/host/dec.c}             |   0
 hw/{grackle_pci.c => pci/host/grackle.c}     |   0
 hw/{ => pci/host}/pam.c                      |   0
 hw/{ppce500_pci.c => pci/host/ppce500.c}     |   0
 hw/{prep_pci.c => pci/host/prep.c}           |   0
 hw/{unin_pci.c => pci/host/uninorth.c}       |   0
 hw/{versatile_pci.c => pci/host/versatile.c} |   0
 hw/scsi/Makefile.objs                        |   6 +
 hw/{ => scsi}/esp-pci.c                      |   0
 hw/{ => scsi}/esp.c                          |   0
 hw/{ => scsi}/lsi53c895a.c                   |   0
 hw/{ => scsi}/megasas.c                      |   0
 hw/{ => scsi}/scsi-bus.c                     |   0
 hw/{ => scsi}/scsi-disk.c                    |   0
 hw/{ => scsi}/scsi-generic.c                 |   0
 hw/sd/Makefile.objs                          |   4 +
 hw/{ => sd}/pl181.c                          |   0
 hw/{ => sd}/sd.c                             |   0
 hw/{ => sd}/sdhci.c                          |   0
 hw/{ => sd}/ssi-sd.c                         |   0
 hw/ssi/Makefile.objs                         |   2 +
 hw/{ => ssi}/pl022.c                         |   0
 hw/{ => ssi}/ssi.c                           |   0
 hw/timer/Makefile.objs                       |  10 ++
 hw/{ => timer}/arm_timer.c                   |   0
 hw/{ => timer}/cadence_ttc.c                 |   0
 hw/{ => timer}/ds1338.c                      |   0
 hw/{ => timer}/hpet.c                        |   0
 hw/{ => timer}/i8254.c                       |   0
 hw/{ => timer}/i8254_common.c                |   0
 hw/{ => timer}/m48t59.c                      |   0
 hw/{ => timer}/pl031.c                       |   0
 hw/{ => timer}/puv3_ost.c                    |   0
 hw/{ => timer}/twl92230.c                    |   0
 hw/{ => timer}/xilinx_timer.c                |   0
 hw/usb/Makefile.objs                         |   7 +-
 hw/{ => usb}/ccid-card-emulated.c            |   0
 hw/{ => usb}/ccid-card-passthru.c            |   0
 hw/virtio/Makefile.objs                      |   4 +
 hw/{ => virtio}/virtio-bus.c                 |   0
 hw/{ => virtio}/virtio-pci.c                 |   0
 hw/{ => virtio}/virtio-rng.c                 |   0
 hw/watchdog/Makefile.objs                    |   2 +
 hw/{ => watchdog}/watchdog.c                 |   0
 hw/{ => watchdog}/wdt_i6300esb.c             |   0
 hw/xen/Makefile.objs                         |   2 +
 hw/{ => xen}/xen_backend.c                   |   0
 hw/{ => xen}/xen_devconfig.c                 |   0
 227 files changed, 205 insertions(+), 208 deletions(-)
 rename hw/{acpi.c => acpi/core.c} (100%)
 rename hw/{acpi_ich9.c => acpi/ich9.c} (100%)
 rename hw/{acpi_piix4.c => acpi/piix4.c} (100%)
 rename hw/{ => audio}/ac97.c (100%)
 rename hw/{ => audio}/adlib.c (100%)
 rename hw/{ => audio}/cs4231a.c (100%)
 rename hw/{ => audio}/es1370.c (100%)
 rename hw/{ => audio}/fmopl.c (100%)
 rename hw/{ => audio}/gus.c (100%)
 rename hw/{ => audio}/gusemu_hal.c (100%)
 rename hw/{ => audio}/gusemu_mixer.c (100%)
 rename hw/{hda-audio.c => audio/hda-codec.c} (100%)
 rename hw/{ => audio}/intel-hda.c (100%)
 rename hw/{ => audio}/lm4549.c (100%)
 rename hw/{ => audio}/pcspk.c (100%)
 rename hw/{ => audio}/pl041.c (100%)
 rename hw/{ => audio}/pl041.hx (100%)
 rename hw/{ => audio}/sb16.c (100%)
 rename hw/{ => audio}/wm8750.c (100%)
 rename hw/{block-common.c => block/block.c} (100%)
 rename hw/{ => block}/cdrom.c (100%)
 rename hw/{ => block}/ecc.c (100%)
 rename hw/{ => block}/fdc.c (100%)
 rename hw/{ => block}/hd-geometry.c (100%)
 rename hw/{ => block}/m25p80.c (100%)
 rename hw/{ => block}/nand.c (100%)
 rename hw/{ => block}/pflash_cfi01.c (100%)
 rename hw/{ => block}/pflash_cfi02.c (100%)
 rename hw/{ => block}/xen_disk.c (100%)
 rename hw/{bt.c => bt/core.c} (100%)
 rename hw/{bt-hci-csr.c => bt/hci-csr.c} (100%)
 rename hw/{bt-hci.c => bt/hci.c} (100%)
 rename hw/{bt-hid.c => bt/hid.c} (100%)
 rename hw/{bt-l2cap.c => bt/l2cap.c} (100%)
 rename hw/{bt-sdp.c => bt/sdp.c} (100%)
 rename hw/{ => char}/cadence_uart.c (100%)
 rename hw/{ => char}/escc.c (100%)
 rename hw/{ => char}/ipack.c (100%)
 rename hw/{ => char}/ipoctal232.c (100%)
 rename hw/{ => char}/parallel.c (100%)
 rename hw/{ => char}/pl011.c (100%)
 rename hw/{ => char}/serial-isa.c (100%)
 rename hw/{ => char}/serial-pci.c (100%)
 rename hw/{ => char}/serial.c (100%)
 rename hw/{ => char}/tpci200.c (100%)
 rename hw/{ => char}/virtio-console.c (100%)
 rename hw/{ => char}/xen_console.c (100%)
 rename hw/{ => char}/xilinx_uartlite.c (100%)
 rename hw/{ => core}/empty_slot.c (100%)
 rename hw/{ => core}/irq.c (100%)
 rename hw/{ => core}/loader.c (100%)
 rename hw/{ => core}/null-machine.c (100%)
 rename hw/{ => core}/ptimer.c (100%)
 rename hw/{ => core}/qdev-addr.c (100%)
 rename hw/{ => core}/qdev-properties-system.c (100%)
 rename hw/{ => core}/qdev-properties.c (100%)
 rename hw/{ => core}/qdev.c (100%)
 rename hw/{ => core}/stream.c (100%)
 rename hw/{ => core}/sysbus.c (100%)
 rename hw/{ => display}/ads7846.c (100%)
 rename hw/{ => display}/cirrus_vga.c (100%)
 rename hw/{ => display}/g364fb.c (100%)
 rename hw/{ => display}/jazz_led.c (100%)
 rename hw/{ => display}/pl110.c (100%)
 rename hw/{ => display}/ssd0303.c (100%)
 rename hw/{ => display}/ssd0323.c (100%)
 rename hw/{ => display}/vga-isa-mm.c (100%)
 rename hw/{ => display}/vga-isa.c (100%)
 rename hw/{ => display}/vga-pci.c (100%)
 rename hw/{ => display}/vmware_vga.c (100%)
 rename hw/{ => display}/xenfb.c (100%)
 rename hw/{ => dma}/i82374.c (100%)
 rename hw/{dma.c => dma/i8257.c} (100%)
 rename hw/{ => dma}/pl080.c (100%)
 rename hw/{ => dma}/pl330.c (100%)
 rename hw/{ => dma}/puv3_dma.c (100%)
 rename hw/{ => dma}/rc4030.c (100%)
 rename hw/{ => dma}/xilinx_axidma.c (100%)
 rename hw/{ => gpio}/max7310.c (100%)
 rename hw/{ => gpio}/pl061.c (100%)
 rename hw/{ => gpio}/puv3_gpio.c (100%)
 rename hw/{i2c.c => i2c/core.c} (100%)
 rename hw/{ => i2c}/pm_smbus.c (100%)
 rename hw/{ => i2c}/smbus.c (100%)
 rename hw/{ => i2c}/smbus_eeprom.c (100%)
 rename hw/{ => i2c}/smbus_ich9.c (100%)
 rename hw/{ => i2c}/versatile_i2c.c (100%)
 rename hw/{ => input}/adb.c (100%)
 rename hw/{ => input}/hid.c (100%)
 rename hw/{ => input}/lm832x.c (100%)
 rename hw/{ => input}/pckbd.c (100%)
 rename hw/{ => input}/pl050.c (100%)
 rename hw/{ => input}/ps2.c (100%)
 rename hw/{ => input}/stellaris_input.c (100%)
 rename hw/{ => input}/tsc2005.c (100%)
 rename hw/{ => input}/vmmouse.c (100%)
 rename hw/{ => intc}/heathrow_pic.c (100%)
 rename hw/{ => intc}/i8259.c (100%)
 rename hw/{ => intc}/i8259_common.c (100%)
 rename hw/{ => intc}/pl190.c (100%)
 rename hw/{ => intc}/puv3_intc.c (100%)
 rename hw/{ => intc}/xilinx_intc.c (100%)
 rename hw/{ => isa}/apm.c (100%)
 rename hw/{ => isa}/i82378.c (100%)
 rename hw/{ => isa}/isa-bus.c (100%)
 rename hw/{ => isa}/isa_mmio.c (100%)
 rename hw/{ => isa}/pc87312.c (100%)
 rename hw/{ => isa}/piix4.c (100%)
 rename hw/{ => misc}/applesmc.c (100%)
 rename hw/{ => misc}/arm_l2x0.c (100%)
 create mode 100644 hw/misc/macio/Makefile.objs
 rename hw/{ => misc/macio}/cuda.c (100%)
 rename hw/{ => misc/macio}/mac_dbdma.c (100%)
 rename hw/{ => misc/macio}/macio.c (100%)
 rename hw/{ => misc}/max111x.c (100%)
 rename hw/{ => misc}/puv3_pm.c (100%)
 rename hw/{ => misc}/tmp105.c (100%)
 rename hw/{ => net}/cadence_gem.c (100%)
 rename hw/{ => net}/dp8393x.c (100%)
 rename hw/{ => net}/e1000.c (100%)
 rename hw/{ => net}/eepro100.c (100%)
 rename hw/{ => net}/lan9118.c (100%)
 rename hw/{ => net}/mipsnet.c (100%)
 rename hw/{ => net}/ne2000-isa.c (100%)
 rename hw/{ => net}/ne2000.c (100%)
 rename hw/{ => net}/opencores_eth.c (100%)
 rename hw/{ => net}/pcnet-pci.c (100%)
 rename hw/{ => net}/pcnet.c (100%)
 rename hw/{ => net}/rtl8139.c (100%)
 rename hw/{ => net}/smc91c111.c (100%)
 rename hw/{ => net}/vmware_utils.h (100%)
 rename hw/{ => net}/vmxnet3.c (100%)
 rename hw/{ => net}/vmxnet3.h (100%)
 rename hw/{ => net}/vmxnet_debug.h (100%)
 rename hw/{ => net}/vmxnet_rx_pkt.c (100%)
 rename hw/{ => net}/vmxnet_rx_pkt.h (100%)
 rename hw/{ => net}/vmxnet_tx_pkt.c (100%)
 rename hw/{ => net}/vmxnet_tx_pkt.h (100%)
 rename hw/{ => net}/xen_nic.c (100%)
 rename hw/{ => net}/xgmac.c (100%)
 rename hw/{ => net}/xilinx_axienet.c (100%)
 rename hw/{ => nvram}/ds1225y.c (100%)
 rename hw/{ => nvram}/eeprom93xx.c (100%)
 rename hw/{ => nvram}/fw_cfg.c (100%)
 rename hw/{ => nvram}/mac_nvram.c (100%)
 create mode 100644 hw/pci/bridge/Makefile.objs
 rename hw/{ => pci/bridge}/i82801b11.c (100%)
 rename hw/{ => pci/bridge}/ioh3420.c (100%)
 rename hw/{ => pci/bridge}/pci_bridge_dev.c (100%)
 rename hw/{ => pci/bridge}/xio3130_downstream.c (100%)
 rename hw/{ => pci/bridge}/xio3130_upstream.c (100%)
 create mode 100644 hw/pci/host/Makefile.objs
 rename hw/{dec_pci.c => pci/host/dec.c} (100%)
 rename hw/{grackle_pci.c => pci/host/grackle.c} (100%)
 rename hw/{ => pci/host}/pam.c (100%)
 rename hw/{ppce500_pci.c => pci/host/ppce500.c} (100%)
 rename hw/{prep_pci.c => pci/host/prep.c} (100%)
 rename hw/{unin_pci.c => pci/host/uninorth.c} (100%)
 rename hw/{versatile_pci.c => pci/host/versatile.c} (100%)
 rename hw/{ => scsi}/esp-pci.c (100%)
 rename hw/{ => scsi}/esp.c (100%)
 rename hw/{ => scsi}/lsi53c895a.c (100%)
 rename hw/{ => scsi}/megasas.c (100%)
 rename hw/{ => scsi}/scsi-bus.c (100%)
 rename hw/{ => scsi}/scsi-disk.c (100%)
 rename hw/{ => scsi}/scsi-generic.c (100%)
 rename hw/{ => sd}/pl181.c (100%)
 rename hw/{ => sd}/sd.c (100%)
 rename hw/{ => sd}/sdhci.c (100%)
 rename hw/{ => sd}/ssi-sd.c (100%)
 rename hw/{ => ssi}/pl022.c (100%)
 rename hw/{ => ssi}/ssi.c (100%)
 rename hw/{ => timer}/arm_timer.c (100%)
 rename hw/{ => timer}/cadence_ttc.c (100%)
 rename hw/{ => timer}/ds1338.c (100%)
 rename hw/{ => timer}/hpet.c (100%)
 rename hw/{ => timer}/i8254.c (100%)
 rename hw/{ => timer}/i8254_common.c (100%)
 rename hw/{ => timer}/m48t59.c (100%)
 rename hw/{ => timer}/pl031.c (100%)
 rename hw/{ => timer}/puv3_ost.c (100%)
 rename hw/{ => timer}/twl92230.c (100%)
 rename hw/{ => timer}/xilinx_timer.c (100%)
 rename hw/{ => usb}/ccid-card-emulated.c (100%)
 rename hw/{ => usb}/ccid-card-passthru.c (100%)
 rename hw/{ => virtio}/virtio-bus.c (100%)
 rename hw/{ => virtio}/virtio-pci.c (100%)
 rename hw/{ => virtio}/virtio-rng.c (100%)
 rename hw/{ => watchdog}/watchdog.c (100%)
 rename hw/{ => watchdog}/wdt_i6300esb.c (100%)
 rename hw/{ => xen}/xen_backend.c (100%)
 rename hw/{ => xen}/xen_devconfig.c (100%)

diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index df9e126..a2658cd 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -16,7 +16,7 @@ CONFIG_PCKBD=y
 CONFIG_FDC=y
 CONFIG_ACPI=y
 CONFIG_APM=y
-CONFIG_DMA=y
+CONFIG_I8257=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
 CONFIG_NE2000_ISA=y
diff --git a/default-configs/mips-softmmu.mak b/default-configs/mips-softmmu.mak
index 4f04a33..dff6fef 100644
--- a/default-configs/mips-softmmu.mak
+++ b/default-configs/mips-softmmu.mak
@@ -18,7 +18,7 @@ CONFIG_PCKBD=y
 CONFIG_FDC=y
 CONFIG_ACPI=y
 CONFIG_APM=y
-CONFIG_DMA=y
+CONFIG_I8257=y
 CONFIG_PIIX4=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
diff --git a/default-configs/mips64-softmmu.mak b/default-configs/mips64-softmmu.mak
index a5b6c3c..0968e5f 100644
--- a/default-configs/mips64-softmmu.mak
+++ b/default-configs/mips64-softmmu.mak
@@ -18,7 +18,7 @@ CONFIG_PCKBD=y
 CONFIG_FDC=y
 CONFIG_ACPI=y
 CONFIG_APM=y
-CONFIG_DMA=y
+CONFIG_I8257=y
 CONFIG_PIIX4=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
diff --git a/default-configs/mips64el-softmmu.mak b/default-configs/mips64el-softmmu.mak
index a0e6de8..6f115d4 100644
--- a/default-configs/mips64el-softmmu.mak
+++ b/default-configs/mips64el-softmmu.mak
@@ -18,7 +18,7 @@ CONFIG_PCKBD=y
 CONFIG_FDC=y
 CONFIG_ACPI=y
 CONFIG_APM=y
-CONFIG_DMA=y
+CONFIG_I8257=y
 CONFIG_PIIX4=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
diff --git a/default-configs/mipsel-softmmu.mak b/default-configs/mipsel-softmmu.mak
index 753dd76..e391cf7 100644
--- a/default-configs/mipsel-softmmu.mak
+++ b/default-configs/mipsel-softmmu.mak
@@ -18,7 +18,7 @@ CONFIG_PCKBD=y
 CONFIG_FDC=y
 CONFIG_ACPI=y
 CONFIG_APM=y
-CONFIG_DMA=y
+CONFIG_I8257=y
 CONFIG_PIIX4=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index c209a8d..cdf82b1 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -13,7 +13,7 @@ CONFIG_PARALLEL=y
 CONFIG_I8254=y
 CONFIG_PCKBD=y
 CONFIG_FDC=y
-CONFIG_DMA=y
+CONFIG_I8257=y
 CONFIG_I82374=y
 CONFIG_OPENPIC=y
 CONFIG_PREP_PCI=y
diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
index 8d490bd..ee895e9 100644
--- a/default-configs/ppc64-softmmu.mak
+++ b/default-configs/ppc64-softmmu.mak
@@ -13,7 +13,7 @@ CONFIG_PARALLEL=y
 CONFIG_I8254=y
 CONFIG_PCKBD=y
 CONFIG_FDC=y
-CONFIG_DMA=y
+CONFIG_I8257=y
 CONFIG_I82374=y
 CONFIG_OPENPIC=y
 CONFIG_PREP_PCI=y
diff --git a/default-configs/ppcemb-softmmu.mak b/default-configs/ppcemb-softmmu.mak
index 7f13421..806adfd 100644
--- a/default-configs/ppcemb-softmmu.mak
+++ b/default-configs/ppcemb-softmmu.mak
@@ -12,7 +12,7 @@ CONFIG_SERIAL=y
 CONFIG_I8254=y
 CONFIG_PCKBD=y
 CONFIG_FDC=y
-CONFIG_DMA=y
+CONFIG_I8257=y
 CONFIG_OPENPIC=y
 CONFIG_PREP_PCI=y
 CONFIG_MACIO=y
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index ab3cd5f..fe4b70b 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -16,7 +16,7 @@ CONFIG_PCKBD=y
 CONFIG_FDC=y
 CONFIG_ACPI=y
 CONFIG_APM=y
-CONFIG_DMA=y
+CONFIG_I8257=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
 CONFIG_NE2000_ISA=y
diff --git a/hw/Makefile.objs b/hw/Makefile.objs
index 39d60ec..d208a5d 100644
--- a/hw/Makefile.objs
+++ b/hw/Makefile.objs
@@ -1,8 +1,3 @@
-# core qdev-related obj files, also used by *-user:
-common-obj-y += qdev.o qdev-properties.o
-# irq.o needed for qdev GPIO handling:
-common-obj-y += irq.o
-
 devices-dirs-$(CONFIG_REALLY_VIRTFS) += 9pfs/
 devices-dirs-$(CONFIG_ACPI) += acpi/
 devices-dirs-$(CONFIG_SOFTMMU) += audio/
@@ -35,198 +30,6 @@ common-obj-y += $(devices-dirs-y)
 obj-y += $(devices-dirs-y)
 
 ifeq ($(CONFIG_SOFTMMU),y)
-common-obj-y += loader.o
-common-obj-$(CONFIG_VIRTIO) += virtio-console.o
-common-obj-$(CONFIG_VIRTIO) += virtio-rng.o
-common-obj-$(CONFIG_VIRTIO_PCI) += virtio-pci.o
-common-obj-$(CONFIG_VIRTIO) += virtio-bus.o
-common-obj-y += fw_cfg.o
-common-obj-$(CONFIG_PCI) += pci_bridge_dev.o
-common-obj-$(CONFIG_PCI) += ioh3420.o xio3130_upstream.o xio3130_downstream.o
-common-obj-$(CONFIG_PCI) += i82801b11.o
-common-obj-y += watchdog.o
-common-obj-$(CONFIG_ISA_MMIO) += isa_mmio.o
-common-obj-$(CONFIG_ECC) += ecc.o
-common-obj-$(CONFIG_NAND) += nand.o
-common-obj-$(CONFIG_PFLASH_CFI01) += pflash_cfi01.o
-common-obj-$(CONFIG_PFLASH_CFI02) += pflash_cfi02.o
-
-common-obj-$(CONFIG_M48T59) += m48t59.o
-common-obj-$(CONFIG_ESCC) += escc.o
-common-obj-$(CONFIG_EMPTY_SLOT) += empty_slot.o
-
-common-obj-$(CONFIG_SERIAL) += serial.o serial-isa.o
-common-obj-$(CONFIG_SERIAL_PCI) += serial-pci.o
-common-obj-$(CONFIG_PARALLEL) += parallel.o
-common-obj-$(CONFIG_I8254) += i8254_common.o i8254.o
-common-obj-$(CONFIG_PCSPK) += pcspk.o
-common-obj-$(CONFIG_PCKBD) += pckbd.o
-common-obj-$(CONFIG_FDC) += fdc.o
-common-obj-$(CONFIG_ACPI) += acpi.o acpi_piix4.o acpi_ich9.o smbus_ich9.o
-common-obj-$(CONFIG_APM) += pm_smbus.o apm.o
-common-obj-$(CONFIG_DMA) += dma.o
-common-obj-$(CONFIG_I82374) += i82374.o
-common-obj-$(CONFIG_HPET) += hpet.o
-common-obj-$(CONFIG_APPLESMC) += applesmc.o
-ifeq ($(CONFIG_USB_SMARTCARD),y)
-common-obj-y += ccid-card-passthru.o
-common-obj-$(CONFIG_SMARTCARD_NSS) += ccid-card-emulated.o
-endif
-common-obj-$(CONFIG_I8259) += i8259_common.o i8259.o
-common-obj-$(CONFIG_SDHCI) += sdhci.o
-common-obj-y += pam.o
-
-# PPC devices
-common-obj-$(CONFIG_PREP_PCI) += prep_pci.o
-common-obj-$(CONFIG_I82378) += i82378.o
-common-obj-$(CONFIG_PC87312) += pc87312.o
-# Mac shared devices
-common-obj-$(CONFIG_MACIO) += macio.o
-common-obj-$(CONFIG_CUDA) += cuda.o
-common-obj-$(CONFIG_ADB) += adb.o
-common-obj-$(CONFIG_MAC_NVRAM) += mac_nvram.o
-common-obj-$(CONFIG_MAC_DBDMA) += mac_dbdma.o
-# OldWorld PowerMac
-common-obj-$(CONFIG_HEATHROW_PIC) += heathrow_pic.o
-common-obj-$(CONFIG_GRACKLE_PCI) += grackle_pci.o
-# NewWorld PowerMac
-common-obj-$(CONFIG_UNIN_PCI) += unin_pci.o
-common-obj-$(CONFIG_DEC_PCI) += dec_pci.o
-# PowerPC E500 boards
-common-obj-$(CONFIG_PPCE500_PCI) += ppce500_pci.o
-
-# MIPS devices
-common-obj-$(CONFIG_PIIX4) += piix4.o
-common-obj-$(CONFIG_G364FB) += g364fb.o
-common-obj-$(CONFIG_JAZZ_LED) += jazz_led.o
-
-# Xilinx devices
-common-obj-$(CONFIG_XILINX) += xilinx_intc.o
-common-obj-$(CONFIG_XILINX) += xilinx_timer.o
-common-obj-$(CONFIG_XILINX) += xilinx_uartlite.o
-common-obj-$(CONFIG_XILINX_AXI) += xilinx_axidma.o
-common-obj-$(CONFIG_XILINX_AXI) += xilinx_axienet.o
-common-obj-$(CONFIG_XILINX_AXI) += stream.o
-
-# PKUnity SoC devices
-common-obj-$(CONFIG_PUV3) += puv3_intc.o
-common-obj-$(CONFIG_PUV3) += puv3_ost.o
-common-obj-$(CONFIG_PUV3) += puv3_gpio.o
-common-obj-$(CONFIG_PUV3) += puv3_pm.o
-common-obj-$(CONFIG_PUV3) += puv3_dma.o
-
-# ARM devices
-common-obj-$(CONFIG_ARM_TIMER) += arm_timer.o
-common-obj-$(CONFIG_PL011) += pl011.o
-common-obj-$(CONFIG_PL022) += pl022.o
-common-obj-$(CONFIG_PL031) += pl031.o
-common-obj-$(CONFIG_PL041) += pl041.o lm4549.o
-common-obj-$(CONFIG_PL050) += pl050.o
-common-obj-$(CONFIG_PL061) += pl061.o
-common-obj-$(CONFIG_PL080) += pl080.o
-common-obj-$(CONFIG_PL110) += pl110.o
-common-obj-$(CONFIG_PL181) += pl181.o
-common-obj-$(CONFIG_PL190) += pl190.o
-common-obj-$(CONFIG_PL310) += arm_l2x0.o
-common-obj-$(CONFIG_PL330) += pl330.o
-common-obj-$(CONFIG_VERSATILE_PCI) += versatile_pci.o
-common-obj-$(CONFIG_VERSATILE_I2C) += versatile_i2c.o
-common-obj-$(CONFIG_CADENCE) += cadence_uart.o
-common-obj-$(CONFIG_CADENCE) += cadence_ttc.o
-common-obj-$(CONFIG_CADENCE) += cadence_gem.o
-common-obj-$(CONFIG_XGMAC) += xgmac.o
-
-# PCI watchdog devices
-common-obj-$(CONFIG_PCI) += wdt_i6300esb.o
-
-# IndustryPack
-common-obj-$(CONFIG_IPACK) += tpci200.o ipoctal232.o ipack.o
-
-# PCI network cards
-common-obj-$(CONFIG_NE2000_PCI) += ne2000.o
-common-obj-$(CONFIG_EEPRO100_PCI) += eepro100.o
-common-obj-$(CONFIG_PCNET_PCI) += pcnet-pci.o
-common-obj-$(CONFIG_PCNET_COMMON) += pcnet.o
-common-obj-$(CONFIG_E1000_PCI) += e1000.o
-common-obj-$(CONFIG_RTL8139_PCI) += rtl8139.o
-common-obj-$(CONFIG_VMXNET3_PCI) += vmxnet_tx_pkt.o vmxnet_rx_pkt.o
-common-obj-$(CONFIG_VMXNET3_PCI) += vmxnet3.o
-
-common-obj-$(CONFIG_SMC91C111) += smc91c111.o
-common-obj-$(CONFIG_LAN9118) += lan9118.o
-common-obj-$(CONFIG_NE2000_ISA) += ne2000-isa.o
-common-obj-$(CONFIG_OPENCORES_ETH) += opencores_eth.o
-
-# SCSI layer
-common-obj-$(CONFIG_LSI_SCSI_PCI) += lsi53c895a.o
-common-obj-$(CONFIG_MEGASAS_SCSI_PCI) += megasas.o
-common-obj-$(CONFIG_ESP) += esp.o
-common-obj-$(CONFIG_ESP_PCI) += esp-pci.o
-
-common-obj-y += sysbus.o isa-bus.o
-common-obj-y += qdev-addr.o
-
-# VGA
-common-obj-$(CONFIG_VGA_PCI) += vga-pci.o
-common-obj-$(CONFIG_VGA_ISA) += vga-isa.o
-common-obj-$(CONFIG_VGA_ISA_MM) += vga-isa-mm.o
-common-obj-$(CONFIG_VMWARE_VGA) += vmware_vga.o
-common-obj-$(CONFIG_VMMOUSE) += vmmouse.o
-common-obj-$(CONFIG_VGA_CIRRUS) += cirrus_vga.o
-
-common-obj-$(CONFIG_RC4030) += rc4030.o
-common-obj-$(CONFIG_DP8393X) += dp8393x.o
-common-obj-$(CONFIG_DS1225Y) += ds1225y.o
-common-obj-$(CONFIG_MIPSNET) += mipsnet.o
-
-common-obj-y += null-machine.o
-
-# Sound
-sound-obj-y =
-sound-obj-$(CONFIG_SB16) += sb16.o
-sound-obj-$(CONFIG_ES1370) += es1370.o
-sound-obj-$(CONFIG_AC97) += ac97.o
-sound-obj-$(CONFIG_ADLIB) += fmopl.o adlib.o
-sound-obj-$(CONFIG_GUS) += gus.o gusemu_hal.o gusemu_mixer.o
-sound-obj-$(CONFIG_CS4231A) += cs4231a.o
-sound-obj-$(CONFIG_HDA) += intel-hda.o hda-audio.o
-
-$(obj)/adlib.o $(obj)/fmopl.o: QEMU_CFLAGS += -DBUILD_Y8950=0
-
-common-obj-$(CONFIG_SOUND) += $(sound-obj-y)
-
-common-obj-$(CONFIG_REALLY_VIRTFS) += 9pfs/
-
-common-obj-$(CONFIG_PTIMER) += ptimer.o
-common-obj-$(CONFIG_MAX7310) += max7310.o
-common-obj-$(CONFIG_WM8750) += wm8750.o
-common-obj-$(CONFIG_TWL92230) += twl92230.o
-common-obj-$(CONFIG_TSC2005) += tsc2005.o
-common-obj-$(CONFIG_LM832X) += lm832x.o
-common-obj-$(CONFIG_TMP105) += tmp105.o
-common-obj-$(CONFIG_STELLARIS_INPUT) += stellaris_input.o
-common-obj-$(CONFIG_SSD0303) += ssd0303.o
-common-obj-$(CONFIG_SSD0323) += ssd0323.o
-common-obj-$(CONFIG_ADS7846) += ads7846.o
-common-obj-$(CONFIG_MAX111X) += max111x.o
-common-obj-$(CONFIG_DS1338) += ds1338.o
-common-obj-y += i2c.o smbus.o smbus_eeprom.o
-common-obj-y += eeprom93xx.o
-common-obj-y += scsi-disk.o cdrom.o hd-geometry.o block-common.o
-common-obj-y += scsi-generic.o scsi-bus.o
-common-obj-y += hid.o
-common-obj-$(CONFIG_SSI) += ssi.o
-common-obj-$(CONFIG_SSI_M25P80) += m25p80.o
-common-obj-$(CONFIG_SSI_SD) += ssi-sd.o
-common-obj-$(CONFIG_SD) += sd.o
-common-obj-y += bt.o bt-l2cap.o bt-sdp.o bt-hci.o bt-hid.o
-common-obj-y += bt-hci-csr.o
-common-obj-y += ps2.o
-common-obj-y += qdev-properties-system.o
-
-# xen backend driver support
-common-obj-$(CONFIG_XEN_BACKEND) += xen_backend.o xen_devconfig.o
-common-obj-$(CONFIG_XEN_BACKEND) += xen_console.o xenfb.o xen_disk.o xen_nic.o
 
 # Per-target files
 # virtio has to be here due to weird dependency between PCI and virtio-net.
diff --git a/hw/acpi/Makefile.objs b/hw/acpi/Makefile.objs
index e69de29..a0b63b5 100644
--- a/hw/acpi/Makefile.objs
+++ b/hw/acpi/Makefile.objs
@@ -0,0 +1,2 @@
+common-obj-$(CONFIG_ACPI) += core.o piix4.o ich9.o
+
diff --git a/hw/acpi.c b/hw/acpi/core.c
similarity index 100%
rename from hw/acpi.c
rename to hw/acpi/core.c
diff --git a/hw/acpi_ich9.c b/hw/acpi/ich9.c
similarity index 100%
rename from hw/acpi_ich9.c
rename to hw/acpi/ich9.c
diff --git a/hw/acpi_piix4.c b/hw/acpi/piix4.c
similarity index 100%
rename from hw/acpi_piix4.c
rename to hw/acpi/piix4.c
diff --git a/hw/audio/Makefile.objs b/hw/audio/Makefile.objs
index e69de29..c50c367 100644
--- a/hw/audio/Makefile.objs
+++ b/hw/audio/Makefile.objs
@@ -0,0 +1,16 @@
+# Sound
+sound-obj-y =
+sound-obj-$(CONFIG_SB16) += sb16.o
+sound-obj-$(CONFIG_ES1370) += es1370.o
+sound-obj-$(CONFIG_AC97) += ac97.o
+sound-obj-$(CONFIG_ADLIB) += fmopl.o adlib.o
+sound-obj-$(CONFIG_GUS) += gus.o gusemu_hal.o gusemu_mixer.o
+sound-obj-$(CONFIG_CS4231A) += cs4231a.o
+sound-obj-$(CONFIG_HDA) += intel-hda.o hda-codec.o
+
+common-obj-$(CONFIG_SOUND) += $(sound-obj-y)
+common-obj-$(CONFIG_PCSPK) += pcspk.o
+common-obj-$(CONFIG_WM8750) += wm8750.o
+common-obj-$(CONFIG_PL041) += pl041.o lm4549.o
+
+$(obj)/adlib.o $(obj)/fmopl.o: QEMU_CFLAGS += -DBUILD_Y8950=0
diff --git a/hw/ac97.c b/hw/audio/ac97.c
similarity index 100%
rename from hw/ac97.c
rename to hw/audio/ac97.c
diff --git a/hw/adlib.c b/hw/audio/adlib.c
similarity index 100%
rename from hw/adlib.c
rename to hw/audio/adlib.c
diff --git a/hw/cs4231a.c b/hw/audio/cs4231a.c
similarity index 100%
rename from hw/cs4231a.c
rename to hw/audio/cs4231a.c
diff --git a/hw/es1370.c b/hw/audio/es1370.c
similarity index 100%
rename from hw/es1370.c
rename to hw/audio/es1370.c
diff --git a/hw/fmopl.c b/hw/audio/fmopl.c
similarity index 100%
rename from hw/fmopl.c
rename to hw/audio/fmopl.c
diff --git a/hw/gus.c b/hw/audio/gus.c
similarity index 100%
rename from hw/gus.c
rename to hw/audio/gus.c
diff --git a/hw/gusemu_hal.c b/hw/audio/gusemu_hal.c
similarity index 100%
rename from hw/gusemu_hal.c
rename to hw/audio/gusemu_hal.c
diff --git a/hw/gusemu_mixer.c b/hw/audio/gusemu_mixer.c
similarity index 100%
rename from hw/gusemu_mixer.c
rename to hw/audio/gusemu_mixer.c
diff --git a/hw/hda-audio.c b/hw/audio/hda-codec.c
similarity index 100%
rename from hw/hda-audio.c
rename to hw/audio/hda-codec.c
diff --git a/hw/intel-hda.c b/hw/audio/intel-hda.c
similarity index 100%
rename from hw/intel-hda.c
rename to hw/audio/intel-hda.c
diff --git a/hw/lm4549.c b/hw/audio/lm4549.c
similarity index 100%
rename from hw/lm4549.c
rename to hw/audio/lm4549.c
diff --git a/hw/pcspk.c b/hw/audio/pcspk.c
similarity index 100%
rename from hw/pcspk.c
rename to hw/audio/pcspk.c
diff --git a/hw/pl041.c b/hw/audio/pl041.c
similarity index 100%
rename from hw/pl041.c
rename to hw/audio/pl041.c
diff --git a/hw/pl041.hx b/hw/audio/pl041.hx
similarity index 100%
rename from hw/pl041.hx
rename to hw/audio/pl041.hx
diff --git a/hw/sb16.c b/hw/audio/sb16.c
similarity index 100%
rename from hw/sb16.c
rename to hw/audio/sb16.c
diff --git a/hw/wm8750.c b/hw/audio/wm8750.c
similarity index 100%
rename from hw/wm8750.c
rename to hw/audio/wm8750.c
diff --git a/hw/block/Makefile.objs b/hw/block/Makefile.objs
index e69de29..5fa5101 100644
--- a/hw/block/Makefile.objs
+++ b/hw/block/Makefile.objs
@@ -0,0 +1,8 @@
+common-obj-y += block.o cdrom.o hd-geometry.o
+common-obj-$(CONFIG_FDC) += fdc.o
+common-obj-$(CONFIG_SSI_M25P80) += m25p80.o
+common-obj-$(CONFIG_NAND) += nand.o
+common-obj-$(CONFIG_PFLASH_CFI01) += pflash_cfi01.o
+common-obj-$(CONFIG_PFLASH_CFI02) += pflash_cfi02.o
+common-obj-$(CONFIG_XEN_BACKEND) += xen_disk.o
+common-obj-$(CONFIG_ECC) += ecc.o
diff --git a/hw/block-common.c b/hw/block/block.c
similarity index 100%
rename from hw/block-common.c
rename to hw/block/block.c
diff --git a/hw/cdrom.c b/hw/block/cdrom.c
similarity index 100%
rename from hw/cdrom.c
rename to hw/block/cdrom.c
diff --git a/hw/ecc.c b/hw/block/ecc.c
similarity index 100%
rename from hw/ecc.c
rename to hw/block/ecc.c
diff --git a/hw/fdc.c b/hw/block/fdc.c
similarity index 100%
rename from hw/fdc.c
rename to hw/block/fdc.c
diff --git a/hw/hd-geometry.c b/hw/block/hd-geometry.c
similarity index 100%
rename from hw/hd-geometry.c
rename to hw/block/hd-geometry.c
diff --git a/hw/m25p80.c b/hw/block/m25p80.c
similarity index 100%
rename from hw/m25p80.c
rename to hw/block/m25p80.c
diff --git a/hw/nand.c b/hw/block/nand.c
similarity index 100%
rename from hw/nand.c
rename to hw/block/nand.c
diff --git a/hw/pflash_cfi01.c b/hw/block/pflash_cfi01.c
similarity index 100%
rename from hw/pflash_cfi01.c
rename to hw/block/pflash_cfi01.c
diff --git a/hw/pflash_cfi02.c b/hw/block/pflash_cfi02.c
similarity index 100%
rename from hw/pflash_cfi02.c
rename to hw/block/pflash_cfi02.c
diff --git a/hw/xen_disk.c b/hw/block/xen_disk.c
similarity index 100%
rename from hw/xen_disk.c
rename to hw/block/xen_disk.c
diff --git a/hw/bt/Makefile.objs b/hw/bt/Makefile.objs
index e69de29..867a7d2 100644
--- a/hw/bt/Makefile.objs
+++ b/hw/bt/Makefile.objs
@@ -0,0 +1,3 @@
+common-obj-y += core.o l2cap.o sdp.o hci.o hid.o
+common-obj-y += hci-csr.o
+
diff --git a/hw/bt.c b/hw/bt/core.c
similarity index 100%
rename from hw/bt.c
rename to hw/bt/core.c
diff --git a/hw/bt-hci-csr.c b/hw/bt/hci-csr.c
similarity index 100%
rename from hw/bt-hci-csr.c
rename to hw/bt/hci-csr.c
diff --git a/hw/bt-hci.c b/hw/bt/hci.c
similarity index 100%
rename from hw/bt-hci.c
rename to hw/bt/hci.c
diff --git a/hw/bt-hid.c b/hw/bt/hid.c
similarity index 100%
rename from hw/bt-hid.c
rename to hw/bt/hid.c
diff --git a/hw/bt-l2cap.c b/hw/bt/l2cap.c
similarity index 100%
rename from hw/bt-l2cap.c
rename to hw/bt/l2cap.c
diff --git a/hw/bt-sdp.c b/hw/bt/sdp.c
similarity index 100%
rename from hw/bt-sdp.c
rename to hw/bt/sdp.c
diff --git a/hw/char/Makefile.objs b/hw/char/Makefile.objs
index e69de29..eee23ff 100644
--- a/hw/char/Makefile.objs
+++ b/hw/char/Makefile.objs
@@ -0,0 +1,10 @@
+common-obj-$(CONFIG_IPACK) += tpci200.o ipoctal232.o ipack.o
+common-obj-$(CONFIG_ESCC) += escc.o
+common-obj-$(CONFIG_PARALLEL) += parallel.o
+common-obj-$(CONFIG_PL011) += pl011.o
+common-obj-$(CONFIG_SERIAL) += serial.o serial-isa.o
+common-obj-$(CONFIG_SERIAL_PCI) += serial-pci.o
+common-obj-$(CONFIG_VIRTIO) += virtio-console.o
+common-obj-$(CONFIG_XILINX) += xilinx_uartlite.o
+common-obj-$(CONFIG_XEN_BACKEND) += xen_console.o
+common-obj-$(CONFIG_CADENCE) += cadence_uart.o
diff --git a/hw/cadence_uart.c b/hw/char/cadence_uart.c
similarity index 100%
rename from hw/cadence_uart.c
rename to hw/char/cadence_uart.c
diff --git a/hw/escc.c b/hw/char/escc.c
similarity index 100%
rename from hw/escc.c
rename to hw/char/escc.c
diff --git a/hw/ipack.c b/hw/char/ipack.c
similarity index 100%
rename from hw/ipack.c
rename to hw/char/ipack.c
diff --git a/hw/ipoctal232.c b/hw/char/ipoctal232.c
similarity index 100%
rename from hw/ipoctal232.c
rename to hw/char/ipoctal232.c
diff --git a/hw/parallel.c b/hw/char/parallel.c
similarity index 100%
rename from hw/parallel.c
rename to hw/char/parallel.c
diff --git a/hw/pl011.c b/hw/char/pl011.c
similarity index 100%
rename from hw/pl011.c
rename to hw/char/pl011.c
diff --git a/hw/serial-isa.c b/hw/char/serial-isa.c
similarity index 100%
rename from hw/serial-isa.c
rename to hw/char/serial-isa.c
diff --git a/hw/serial-pci.c b/hw/char/serial-pci.c
similarity index 100%
rename from hw/serial-pci.c
rename to hw/char/serial-pci.c
diff --git a/hw/serial.c b/hw/char/serial.c
similarity index 100%
rename from hw/serial.c
rename to hw/char/serial.c
diff --git a/hw/tpci200.c b/hw/char/tpci200.c
similarity index 100%
rename from hw/tpci200.c
rename to hw/char/tpci200.c
diff --git a/hw/virtio-console.c b/hw/char/virtio-console.c
similarity index 100%
rename from hw/virtio-console.c
rename to hw/char/virtio-console.c
diff --git a/hw/xen_console.c b/hw/char/xen_console.c
similarity index 100%
rename from hw/xen_console.c
rename to hw/char/xen_console.c
diff --git a/hw/xilinx_uartlite.c b/hw/char/xilinx_uartlite.c
similarity index 100%
rename from hw/xilinx_uartlite.c
rename to hw/char/xilinx_uartlite.c
diff --git a/hw/core/Makefile.objs b/hw/core/Makefile.objs
index e69de29..94109f3 100644
--- a/hw/core/Makefile.objs
+++ b/hw/core/Makefile.objs
@@ -0,0 +1,14 @@
+# core qdev-related obj files, also used by *-user:
+common-obj-y += qdev.o qdev-properties.o
+# irq.o needed for qdev GPIO handling:
+common-obj-y += irq.o
+
+common-obj-$(CONFIG_EMPTY_SLOT) += empty_slot.o
+common-obj-$(CONFIG_XILINX_AXI) += stream.o
+common-obj-$(CONFIG_PTIMER) += ptimer.o
+common-obj-$(CONFIG_SOFTMMU) += sysbus.o
+common-obj-$(CONFIG_SOFTMMU) += null-machine.o
+common-obj-$(CONFIG_SOFTMMU) += loader.o
+common-obj-$(CONFIG_SOFTMMU) += qdev-addr.o
+common-obj-$(CONFIG_SOFTMMU) += qdev-properties-system.o
+
diff --git a/hw/empty_slot.c b/hw/core/empty_slot.c
similarity index 100%
rename from hw/empty_slot.c
rename to hw/core/empty_slot.c
diff --git a/hw/irq.c b/hw/core/irq.c
similarity index 100%
rename from hw/irq.c
rename to hw/core/irq.c
diff --git a/hw/loader.c b/hw/core/loader.c
similarity index 100%
rename from hw/loader.c
rename to hw/core/loader.c
diff --git a/hw/null-machine.c b/hw/core/null-machine.c
similarity index 100%
rename from hw/null-machine.c
rename to hw/core/null-machine.c
diff --git a/hw/ptimer.c b/hw/core/ptimer.c
similarity index 100%
rename from hw/ptimer.c
rename to hw/core/ptimer.c
diff --git a/hw/qdev-addr.c b/hw/core/qdev-addr.c
similarity index 100%
rename from hw/qdev-addr.c
rename to hw/core/qdev-addr.c
diff --git a/hw/qdev-properties-system.c b/hw/core/qdev-properties-system.c
similarity index 100%
rename from hw/qdev-properties-system.c
rename to hw/core/qdev-properties-system.c
diff --git a/hw/qdev-properties.c b/hw/core/qdev-properties.c
similarity index 100%
rename from hw/qdev-properties.c
rename to hw/core/qdev-properties.c
diff --git a/hw/qdev.c b/hw/core/qdev.c
similarity index 100%
rename from hw/qdev.c
rename to hw/core/qdev.c
diff --git a/hw/stream.c b/hw/core/stream.c
similarity index 100%
rename from hw/stream.c
rename to hw/core/stream.c
diff --git a/hw/sysbus.c b/hw/core/sysbus.c
similarity index 100%
rename from hw/sysbus.c
rename to hw/core/sysbus.c
diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
index e69de29..3ac154d 100644
--- a/hw/display/Makefile.objs
+++ b/hw/display/Makefile.objs
@@ -0,0 +1,13 @@
+common-obj-$(CONFIG_ADS7846) += ads7846.o
+common-obj-$(CONFIG_VGA_CIRRUS) += cirrus_vga.o
+common-obj-$(CONFIG_G364FB) += g364fb.o
+common-obj-$(CONFIG_JAZZ_LED) += jazz_led.o
+common-obj-$(CONFIG_PL110) += pl110.o
+common-obj-$(CONFIG_SSD0303) += ssd0303.o
+common-obj-$(CONFIG_SSD0323) += ssd0323.o
+common-obj-$(CONFIG_XEN_BACKEND) += xenfb.o
+
+common-obj-$(CONFIG_VGA_PCI) += vga-pci.o
+common-obj-$(CONFIG_VGA_ISA) += vga-isa.o
+common-obj-$(CONFIG_VGA_ISA_MM) += vga-isa-mm.o
+common-obj-$(CONFIG_VMWARE_VGA) += vmware_vga.o
diff --git a/hw/ads7846.c b/hw/display/ads7846.c
similarity index 100%
rename from hw/ads7846.c
rename to hw/display/ads7846.c
diff --git a/hw/cirrus_vga.c b/hw/display/cirrus_vga.c
similarity index 100%
rename from hw/cirrus_vga.c
rename to hw/display/cirrus_vga.c
diff --git a/hw/g364fb.c b/hw/display/g364fb.c
similarity index 100%
rename from hw/g364fb.c
rename to hw/display/g364fb.c
diff --git a/hw/jazz_led.c b/hw/display/jazz_led.c
similarity index 100%
rename from hw/jazz_led.c
rename to hw/display/jazz_led.c
diff --git a/hw/pl110.c b/hw/display/pl110.c
similarity index 100%
rename from hw/pl110.c
rename to hw/display/pl110.c
diff --git a/hw/ssd0303.c b/hw/display/ssd0303.c
similarity index 100%
rename from hw/ssd0303.c
rename to hw/display/ssd0303.c
diff --git a/hw/ssd0323.c b/hw/display/ssd0323.c
similarity index 100%
rename from hw/ssd0323.c
rename to hw/display/ssd0323.c
diff --git a/hw/vga-isa-mm.c b/hw/display/vga-isa-mm.c
similarity index 100%
rename from hw/vga-isa-mm.c
rename to hw/display/vga-isa-mm.c
diff --git a/hw/vga-isa.c b/hw/display/vga-isa.c
similarity index 100%
rename from hw/vga-isa.c
rename to hw/display/vga-isa.c
diff --git a/hw/vga-pci.c b/hw/display/vga-pci.c
similarity index 100%
rename from hw/vga-pci.c
rename to hw/display/vga-pci.c
diff --git a/hw/vmware_vga.c b/hw/display/vmware_vga.c
similarity index 100%
rename from hw/vmware_vga.c
rename to hw/display/vmware_vga.c
diff --git a/hw/xenfb.c b/hw/display/xenfb.c
similarity index 100%
rename from hw/xenfb.c
rename to hw/display/xenfb.c
diff --git a/hw/dma/Makefile.objs b/hw/dma/Makefile.objs
index e69de29..bce31cd 100644
--- a/hw/dma/Makefile.objs
+++ b/hw/dma/Makefile.objs
@@ -0,0 +1,7 @@
+common-obj-$(CONFIG_PUV3) += puv3_dma.o
+common-obj-$(CONFIG_RC4030) += rc4030.o
+common-obj-$(CONFIG_PL080) += pl080.o
+common-obj-$(CONFIG_PL330) += pl330.o
+common-obj-$(CONFIG_I82374) += i82374.o
+common-obj-$(CONFIG_I8257) += i8257.o
+common-obj-$(CONFIG_XILINX_AXI) += xilinx_axidma.o
diff --git a/hw/i82374.c b/hw/dma/i82374.c
similarity index 100%
rename from hw/i82374.c
rename to hw/dma/i82374.c
diff --git a/hw/dma.c b/hw/dma/i8257.c
similarity index 100%
rename from hw/dma.c
rename to hw/dma/i8257.c
diff --git a/hw/pl080.c b/hw/dma/pl080.c
similarity index 100%
rename from hw/pl080.c
rename to hw/dma/pl080.c
diff --git a/hw/pl330.c b/hw/dma/pl330.c
similarity index 100%
rename from hw/pl330.c
rename to hw/dma/pl330.c
diff --git a/hw/puv3_dma.c b/hw/dma/puv3_dma.c
similarity index 100%
rename from hw/puv3_dma.c
rename to hw/dma/puv3_dma.c
diff --git a/hw/rc4030.c b/hw/dma/rc4030.c
similarity index 100%
rename from hw/rc4030.c
rename to hw/dma/rc4030.c
diff --git a/hw/xilinx_axidma.c b/hw/dma/xilinx_axidma.c
similarity index 100%
rename from hw/xilinx_axidma.c
rename to hw/dma/xilinx_axidma.c
diff --git a/hw/gpio/Makefile.objs b/hw/gpio/Makefile.objs
index e69de29..f8d8ee8 100644
--- a/hw/gpio/Makefile.objs
+++ b/hw/gpio/Makefile.objs
@@ -0,0 +1,3 @@
+common-obj-$(CONFIG_MAX7310) += max7310.o
+common-obj-$(CONFIG_PL061) += pl061.o
+common-obj-$(CONFIG_PUV3) += puv3_gpio.o
diff --git a/hw/max7310.c b/hw/gpio/max7310.c
similarity index 100%
rename from hw/max7310.c
rename to hw/gpio/max7310.c
diff --git a/hw/pl061.c b/hw/gpio/pl061.c
similarity index 100%
rename from hw/pl061.c
rename to hw/gpio/pl061.c
diff --git a/hw/puv3_gpio.c b/hw/gpio/puv3_gpio.c
similarity index 100%
rename from hw/puv3_gpio.c
rename to hw/gpio/puv3_gpio.c
diff --git a/hw/i2c/Makefile.objs b/hw/i2c/Makefile.objs
index e69de29..f6bd8fa 100644
--- a/hw/i2c/Makefile.objs
+++ b/hw/i2c/Makefile.objs
@@ -0,0 +1,4 @@
+common-obj-y += core.o smbus.o smbus_eeprom.o
+common-obj-$(CONFIG_VERSATILE_I2C) += versatile_i2c.o
+common-obj-$(CONFIG_ACPI) += smbus_ich9.o
+common-obj-$(CONFIG_APM) += pm_smbus.o
diff --git a/hw/i2c.c b/hw/i2c/core.c
similarity index 100%
rename from hw/i2c.c
rename to hw/i2c/core.c
diff --git a/hw/pm_smbus.c b/hw/i2c/pm_smbus.c
similarity index 100%
rename from hw/pm_smbus.c
rename to hw/i2c/pm_smbus.c
diff --git a/hw/smbus.c b/hw/i2c/smbus.c
similarity index 100%
rename from hw/smbus.c
rename to hw/i2c/smbus.c
diff --git a/hw/smbus_eeprom.c b/hw/i2c/smbus_eeprom.c
similarity index 100%
rename from hw/smbus_eeprom.c
rename to hw/i2c/smbus_eeprom.c
diff --git a/hw/smbus_ich9.c b/hw/i2c/smbus_ich9.c
similarity index 100%
rename from hw/smbus_ich9.c
rename to hw/i2c/smbus_ich9.c
diff --git a/hw/versatile_i2c.c b/hw/i2c/versatile_i2c.c
similarity index 100%
rename from hw/versatile_i2c.c
rename to hw/i2c/versatile_i2c.c
diff --git a/hw/input/Makefile.objs b/hw/input/Makefile.objs
index e69de29..824997e 100644
--- a/hw/input/Makefile.objs
+++ b/hw/input/Makefile.objs
@@ -0,0 +1,9 @@
+common-obj-$(CONFIG_ADB) += adb.o
+common-obj-y += hid.o
+common-obj-$(CONFIG_LM832X) += lm832x.o
+common-obj-$(CONFIG_PCKBD) += pckbd.o
+common-obj-$(CONFIG_PL050) += pl050.o
+common-obj-y += ps2.o
+common-obj-$(CONFIG_STELLARIS_INPUT) += stellaris_input.o
+common-obj-$(CONFIG_TSC2005) += tsc2005.o
+common-obj-$(CONFIG_VMMOUSE) += vmmouse.o
diff --git a/hw/adb.c b/hw/input/adb.c
similarity index 100%
rename from hw/adb.c
rename to hw/input/adb.c
diff --git a/hw/hid.c b/hw/input/hid.c
similarity index 100%
rename from hw/hid.c
rename to hw/input/hid.c
diff --git a/hw/lm832x.c b/hw/input/lm832x.c
similarity index 100%
rename from hw/lm832x.c
rename to hw/input/lm832x.c
diff --git a/hw/pckbd.c b/hw/input/pckbd.c
similarity index 100%
rename from hw/pckbd.c
rename to hw/input/pckbd.c
diff --git a/hw/pl050.c b/hw/input/pl050.c
similarity index 100%
rename from hw/pl050.c
rename to hw/input/pl050.c
diff --git a/hw/ps2.c b/hw/input/ps2.c
similarity index 100%
rename from hw/ps2.c
rename to hw/input/ps2.c
diff --git a/hw/stellaris_input.c b/hw/input/stellaris_input.c
similarity index 100%
rename from hw/stellaris_input.c
rename to hw/input/stellaris_input.c
diff --git a/hw/tsc2005.c b/hw/input/tsc2005.c
similarity index 100%
rename from hw/tsc2005.c
rename to hw/input/tsc2005.c
diff --git a/hw/vmmouse.c b/hw/input/vmmouse.c
similarity index 100%
rename from hw/vmmouse.c
rename to hw/input/vmmouse.c
diff --git a/hw/intc/Makefile.objs b/hw/intc/Makefile.objs
index e69de29..2813adb 100644
--- a/hw/intc/Makefile.objs
+++ b/hw/intc/Makefile.objs
@@ -0,0 +1,5 @@
+common-obj-$(CONFIG_HEATHROW_PIC) += heathrow_pic.o
+common-obj-$(CONFIG_I8259) += i8259_common.o i8259.o
+common-obj-$(CONFIG_PL190) += pl190.o
+common-obj-$(CONFIG_PUV3) += puv3_intc.o
+common-obj-$(CONFIG_XILINX) += xilinx_intc.o
diff --git a/hw/heathrow_pic.c b/hw/intc/heathrow_pic.c
similarity index 100%
rename from hw/heathrow_pic.c
rename to hw/intc/heathrow_pic.c
diff --git a/hw/i8259.c b/hw/intc/i8259.c
similarity index 100%
rename from hw/i8259.c
rename to hw/intc/i8259.c
diff --git a/hw/i8259_common.c b/hw/intc/i8259_common.c
similarity index 100%
rename from hw/i8259_common.c
rename to hw/intc/i8259_common.c
diff --git a/hw/pl190.c b/hw/intc/pl190.c
similarity index 100%
rename from hw/pl190.c
rename to hw/intc/pl190.c
diff --git a/hw/puv3_intc.c b/hw/intc/puv3_intc.c
similarity index 100%
rename from hw/puv3_intc.c
rename to hw/intc/puv3_intc.c
diff --git a/hw/xilinx_intc.c b/hw/intc/xilinx_intc.c
similarity index 100%
rename from hw/xilinx_intc.c
rename to hw/intc/xilinx_intc.c
diff --git a/hw/isa/Makefile.objs b/hw/isa/Makefile.objs
index e69de29..ad3643b 100644
--- a/hw/isa/Makefile.objs
+++ b/hw/isa/Makefile.objs
@@ -0,0 +1,7 @@
+common-obj-y += isa-bus.o
+common-obj-$(CONFIG_APM) += apm.o
+common-obj-$(CONFIG_I82378) += i82378.o
+common-obj-$(CONFIG_ISA_MMIO) += isa_mmio.o
+common-obj-$(CONFIG_PC87312) += pc87312.o
+common-obj-$(CONFIG_PIIX4) += piix4.o
+
diff --git a/hw/apm.c b/hw/isa/apm.c
similarity index 100%
rename from hw/apm.c
rename to hw/isa/apm.c
diff --git a/hw/i82378.c b/hw/isa/i82378.c
similarity index 100%
rename from hw/i82378.c
rename to hw/isa/i82378.c
diff --git a/hw/isa-bus.c b/hw/isa/isa-bus.c
similarity index 100%
rename from hw/isa-bus.c
rename to hw/isa/isa-bus.c
diff --git a/hw/isa_mmio.c b/hw/isa/isa_mmio.c
similarity index 100%
rename from hw/isa_mmio.c
rename to hw/isa/isa_mmio.c
diff --git a/hw/pc87312.c b/hw/isa/pc87312.c
similarity index 100%
rename from hw/pc87312.c
rename to hw/isa/pc87312.c
diff --git a/hw/piix4.c b/hw/isa/piix4.c
similarity index 100%
rename from hw/piix4.c
rename to hw/isa/piix4.c
diff --git a/hw/misc/Makefile.objs b/hw/misc/Makefile.objs
index e69de29..009b1d9 100644
--- a/hw/misc/Makefile.objs
+++ b/hw/misc/Makefile.objs
@@ -0,0 +1,11 @@
+common-obj-$(CONFIG_APPLESMC) += applesmc.o
+common-obj-$(CONFIG_MAX111X) += max111x.o
+common-obj-$(CONFIG_TMP105) += tmp105.o
+
+# ARM devices
+common-obj-$(CONFIG_PL310) += arm_l2x0.o
+
+# PKUnity SoC devices
+common-obj-$(CONFIG_PUV3) += puv3_pm.o
+
+common-obj-$(CONFIG_MACIO) += macio/
diff --git a/hw/applesmc.c b/hw/misc/applesmc.c
similarity index 100%
rename from hw/applesmc.c
rename to hw/misc/applesmc.c
diff --git a/hw/arm_l2x0.c b/hw/misc/arm_l2x0.c
similarity index 100%
rename from hw/arm_l2x0.c
rename to hw/misc/arm_l2x0.c
diff --git a/hw/misc/macio/Makefile.objs b/hw/misc/macio/Makefile.objs
new file mode 100644
index 0000000..ef7ac24
--- /dev/null
+++ b/hw/misc/macio/Makefile.objs
@@ -0,0 +1,3 @@
+common-obj-y += macio.o
+common-obj-$(CONFIG_CUDA) += cuda.o
+common-obj-$(CONFIG_MAC_DBDMA) += mac_dbdma.o
diff --git a/hw/cuda.c b/hw/misc/macio/cuda.c
similarity index 100%
rename from hw/cuda.c
rename to hw/misc/macio/cuda.c
diff --git a/hw/mac_dbdma.c b/hw/misc/macio/mac_dbdma.c
similarity index 100%
rename from hw/mac_dbdma.c
rename to hw/misc/macio/mac_dbdma.c
diff --git a/hw/macio.c b/hw/misc/macio/macio.c
similarity index 100%
rename from hw/macio.c
rename to hw/misc/macio/macio.c
diff --git a/hw/max111x.c b/hw/misc/max111x.c
similarity index 100%
rename from hw/max111x.c
rename to hw/misc/max111x.c
diff --git a/hw/puv3_pm.c b/hw/misc/puv3_pm.c
similarity index 100%
rename from hw/puv3_pm.c
rename to hw/misc/puv3_pm.c
diff --git a/hw/tmp105.c b/hw/misc/tmp105.c
similarity index 100%
rename from hw/tmp105.c
rename to hw/misc/tmp105.c
diff --git a/hw/net/Makefile.objs b/hw/net/Makefile.objs
index e69de29..ad91293 100644
--- a/hw/net/Makefile.objs
+++ b/hw/net/Makefile.objs
@@ -0,0 +1,22 @@
+common-obj-$(CONFIG_DP8393X) += dp8393x.o
+common-obj-$(CONFIG_XEN_BACKEND) += xen_nic.o
+
+# PCI network cards
+common-obj-$(CONFIG_NE2000_PCI) += ne2000.o
+common-obj-$(CONFIG_EEPRO100_PCI) += eepro100.o
+common-obj-$(CONFIG_PCNET_PCI) += pcnet-pci.o
+common-obj-$(CONFIG_PCNET_COMMON) += pcnet.o
+common-obj-$(CONFIG_E1000_PCI) += e1000.o
+common-obj-$(CONFIG_RTL8139_PCI) += rtl8139.o
+common-obj-$(CONFIG_VMXNET3_PCI) += vmxnet_tx_pkt.o vmxnet_rx_pkt.o
+common-obj-$(CONFIG_VMXNET3_PCI) += vmxnet3.o
+
+common-obj-$(CONFIG_SMC91C111) += smc91c111.o
+common-obj-$(CONFIG_LAN9118) += lan9118.o
+common-obj-$(CONFIG_NE2000_ISA) += ne2000-isa.o
+common-obj-$(CONFIG_OPENCORES_ETH) += opencores_eth.o
+common-obj-$(CONFIG_XGMAC) += xgmac.o
+common-obj-$(CONFIG_MIPSNET) += mipsnet.o
+common-obj-$(CONFIG_XILINX_AXI) += xilinx_axienet.o
+
+common-obj-$(CONFIG_CADENCE) += cadence_gem.o
diff --git a/hw/cadence_gem.c b/hw/net/cadence_gem.c
similarity index 100%
rename from hw/cadence_gem.c
rename to hw/net/cadence_gem.c
diff --git a/hw/dp8393x.c b/hw/net/dp8393x.c
similarity index 100%
rename from hw/dp8393x.c
rename to hw/net/dp8393x.c
diff --git a/hw/e1000.c b/hw/net/e1000.c
similarity index 100%
rename from hw/e1000.c
rename to hw/net/e1000.c
diff --git a/hw/eepro100.c b/hw/net/eepro100.c
similarity index 100%
rename from hw/eepro100.c
rename to hw/net/eepro100.c
diff --git a/hw/lan9118.c b/hw/net/lan9118.c
similarity index 100%
rename from hw/lan9118.c
rename to hw/net/lan9118.c
diff --git a/hw/mipsnet.c b/hw/net/mipsnet.c
similarity index 100%
rename from hw/mipsnet.c
rename to hw/net/mipsnet.c
diff --git a/hw/ne2000-isa.c b/hw/net/ne2000-isa.c
similarity index 100%
rename from hw/ne2000-isa.c
rename to hw/net/ne2000-isa.c
diff --git a/hw/ne2000.c b/hw/net/ne2000.c
similarity index 100%
rename from hw/ne2000.c
rename to hw/net/ne2000.c
diff --git a/hw/opencores_eth.c b/hw/net/opencores_eth.c
similarity index 100%
rename from hw/opencores_eth.c
rename to hw/net/opencores_eth.c
diff --git a/hw/pcnet-pci.c b/hw/net/pcnet-pci.c
similarity index 100%
rename from hw/pcnet-pci.c
rename to hw/net/pcnet-pci.c
diff --git a/hw/pcnet.c b/hw/net/pcnet.c
similarity index 100%
rename from hw/pcnet.c
rename to hw/net/pcnet.c
diff --git a/hw/rtl8139.c b/hw/net/rtl8139.c
similarity index 100%
rename from hw/rtl8139.c
rename to hw/net/rtl8139.c
diff --git a/hw/smc91c111.c b/hw/net/smc91c111.c
similarity index 100%
rename from hw/smc91c111.c
rename to hw/net/smc91c111.c
diff --git a/hw/vmware_utils.h b/hw/net/vmware_utils.h
similarity index 100%
rename from hw/vmware_utils.h
rename to hw/net/vmware_utils.h
diff --git a/hw/vmxnet3.c b/hw/net/vmxnet3.c
similarity index 100%
rename from hw/vmxnet3.c
rename to hw/net/vmxnet3.c
diff --git a/hw/vmxnet3.h b/hw/net/vmxnet3.h
similarity index 100%
rename from hw/vmxnet3.h
rename to hw/net/vmxnet3.h
diff --git a/hw/vmxnet_debug.h b/hw/net/vmxnet_debug.h
similarity index 100%
rename from hw/vmxnet_debug.h
rename to hw/net/vmxnet_debug.h
diff --git a/hw/vmxnet_rx_pkt.c b/hw/net/vmxnet_rx_pkt.c
similarity index 100%
rename from hw/vmxnet_rx_pkt.c
rename to hw/net/vmxnet_rx_pkt.c
diff --git a/hw/vmxnet_rx_pkt.h b/hw/net/vmxnet_rx_pkt.h
similarity index 100%
rename from hw/vmxnet_rx_pkt.h
rename to hw/net/vmxnet_rx_pkt.h
diff --git a/hw/vmxnet_tx_pkt.c b/hw/net/vmxnet_tx_pkt.c
similarity index 100%
rename from hw/vmxnet_tx_pkt.c
rename to hw/net/vmxnet_tx_pkt.c
diff --git a/hw/vmxnet_tx_pkt.h b/hw/net/vmxnet_tx_pkt.h
similarity index 100%
rename from hw/vmxnet_tx_pkt.h
rename to hw/net/vmxnet_tx_pkt.h
diff --git a/hw/xen_nic.c b/hw/net/xen_nic.c
similarity index 100%
rename from hw/xen_nic.c
rename to hw/net/xen_nic.c
diff --git a/hw/xgmac.c b/hw/net/xgmac.c
similarity index 100%
rename from hw/xgmac.c
rename to hw/net/xgmac.c
diff --git a/hw/xilinx_axienet.c b/hw/net/xilinx_axienet.c
similarity index 100%
rename from hw/xilinx_axienet.c
rename to hw/net/xilinx_axienet.c
diff --git a/hw/nvram/Makefile.objs b/hw/nvram/Makefile.objs
index e69de29..80fb1b0 100644
--- a/hw/nvram/Makefile.objs
+++ b/hw/nvram/Makefile.objs
@@ -0,0 +1,4 @@
+common-obj-$(CONFIG_DS1225Y) += ds1225y.o
+common-obj-y += eeprom93xx.o
+common-obj-y += fw_cfg.o
+common-obj-$(CONFIG_MAC_NVRAM) += mac_nvram.o
diff --git a/hw/ds1225y.c b/hw/nvram/ds1225y.c
similarity index 100%
rename from hw/ds1225y.c
rename to hw/nvram/ds1225y.c
diff --git a/hw/eeprom93xx.c b/hw/nvram/eeprom93xx.c
similarity index 100%
rename from hw/eeprom93xx.c
rename to hw/nvram/eeprom93xx.c
diff --git a/hw/fw_cfg.c b/hw/nvram/fw_cfg.c
similarity index 100%
rename from hw/fw_cfg.c
rename to hw/nvram/fw_cfg.c
diff --git a/hw/mac_nvram.c b/hw/nvram/mac_nvram.c
similarity index 100%
rename from hw/mac_nvram.c
rename to hw/nvram/mac_nvram.c
diff --git a/hw/pci/Makefile.objs b/hw/pci/Makefile.objs
index 1cd6cde..aac5f65 100644
--- a/hw/pci/Makefile.objs
+++ b/hw/pci/Makefile.objs
@@ -4,6 +4,8 @@ common-obj-$(CONFIG_PCI) += shpc.o
 common-obj-$(CONFIG_PCI) += slotid_cap.o
 common-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
 common-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o pcie_port.o
-common-obj-$(CONFIG_NO_PCI) += pci-stub.o
 
+common-obj-$(CONFIG_NO_PCI) += pci-stub.o
 common-obj-$(CONFIG_ALL) += pci-stub.o
+
+common-obj-$(CONFIG_PCI) += bridge/ host/
diff --git a/hw/pci/bridge/Makefile.objs b/hw/pci/bridge/Makefile.objs
new file mode 100644
index 0000000..5dd92d2
--- /dev/null
+++ b/hw/pci/bridge/Makefile.objs
@@ -0,0 +1,3 @@
+common-obj-y += pci_bridge_dev.o
+common-obj-y += ioh3420.o xio3130_upstream.o xio3130_downstream.o
+common-obj-y += i82801b11.o
diff --git a/hw/i82801b11.c b/hw/pci/bridge/i82801b11.c
similarity index 100%
rename from hw/i82801b11.c
rename to hw/pci/bridge/i82801b11.c
diff --git a/hw/ioh3420.c b/hw/pci/bridge/ioh3420.c
similarity index 100%
rename from hw/ioh3420.c
rename to hw/pci/bridge/ioh3420.c
diff --git a/hw/pci_bridge_dev.c b/hw/pci/bridge/pci_bridge_dev.c
similarity index 100%
rename from hw/pci_bridge_dev.c
rename to hw/pci/bridge/pci_bridge_dev.c
diff --git a/hw/xio3130_downstream.c b/hw/pci/bridge/xio3130_downstream.c
similarity index 100%
rename from hw/xio3130_downstream.c
rename to hw/pci/bridge/xio3130_downstream.c
diff --git a/hw/xio3130_upstream.c b/hw/pci/bridge/xio3130_upstream.c
similarity index 100%
rename from hw/xio3130_upstream.c
rename to hw/pci/bridge/xio3130_upstream.c
diff --git a/hw/pci/host/Makefile.objs b/hw/pci/host/Makefile.objs
new file mode 100644
index 0000000..e1d6cce
--- /dev/null
+++ b/hw/pci/host/Makefile.objs
@@ -0,0 +1,13 @@
+common-obj-y += pam.o
+
+# PPC devices
+common-obj-$(CONFIG_PREP_PCI) += prep.o
+common-obj-$(CONFIG_GRACKLE_PCI) += grackle.o
+# NewWorld PowerMac
+common-obj-$(CONFIG_UNIN_PCI) += uninorth.o
+common-obj-$(CONFIG_DEC_PCI) += dec.o
+# PowerPC E500 boards
+common-obj-$(CONFIG_PPCE500_PCI) += ppce500.o
+
+# ARM devices
+common-obj-$(CONFIG_VERSATILE_PCI) += versatile.o
diff --git a/hw/dec_pci.c b/hw/pci/host/dec.c
similarity index 100%
rename from hw/dec_pci.c
rename to hw/pci/host/dec.c
diff --git a/hw/grackle_pci.c b/hw/pci/host/grackle.c
similarity index 100%
rename from hw/grackle_pci.c
rename to hw/pci/host/grackle.c
diff --git a/hw/pam.c b/hw/pci/host/pam.c
similarity index 100%
rename from hw/pam.c
rename to hw/pci/host/pam.c
diff --git a/hw/ppce500_pci.c b/hw/pci/host/ppce500.c
similarity index 100%
rename from hw/ppce500_pci.c
rename to hw/pci/host/ppce500.c
diff --git a/hw/prep_pci.c b/hw/pci/host/prep.c
similarity index 100%
rename from hw/prep_pci.c
rename to hw/pci/host/prep.c
diff --git a/hw/unin_pci.c b/hw/pci/host/uninorth.c
similarity index 100%
rename from hw/unin_pci.c
rename to hw/pci/host/uninorth.c
diff --git a/hw/versatile_pci.c b/hw/pci/host/versatile.c
similarity index 100%
rename from hw/versatile_pci.c
rename to hw/pci/host/versatile.c
diff --git a/hw/scsi/Makefile.objs b/hw/scsi/Makefile.objs
index e69de29..6a56504 100644
--- a/hw/scsi/Makefile.objs
+++ b/hw/scsi/Makefile.objs
@@ -0,0 +1,6 @@
+common-obj-y += scsi-disk.o
+common-obj-y += scsi-generic.o scsi-bus.o
+common-obj-$(CONFIG_LSI_SCSI_PCI) += lsi53c895a.o
+common-obj-$(CONFIG_MEGASAS_SCSI_PCI) += megasas.o
+common-obj-$(CONFIG_ESP) += esp.o
+common-obj-$(CONFIG_ESP_PCI) += esp-pci.o
diff --git a/hw/esp-pci.c b/hw/scsi/esp-pci.c
similarity index 100%
rename from hw/esp-pci.c
rename to hw/scsi/esp-pci.c
diff --git a/hw/esp.c b/hw/scsi/esp.c
similarity index 100%
rename from hw/esp.c
rename to hw/scsi/esp.c
diff --git a/hw/lsi53c895a.c b/hw/scsi/lsi53c895a.c
similarity index 100%
rename from hw/lsi53c895a.c
rename to hw/scsi/lsi53c895a.c
diff --git a/hw/megasas.c b/hw/scsi/megasas.c
similarity index 100%
rename from hw/megasas.c
rename to hw/scsi/megasas.c
diff --git a/hw/scsi-bus.c b/hw/scsi/scsi-bus.c
similarity index 100%
rename from hw/scsi-bus.c
rename to hw/scsi/scsi-bus.c
diff --git a/hw/scsi-disk.c b/hw/scsi/scsi-disk.c
similarity index 100%
rename from hw/scsi-disk.c
rename to hw/scsi/scsi-disk.c
diff --git a/hw/scsi-generic.c b/hw/scsi/scsi-generic.c
similarity index 100%
rename from hw/scsi-generic.c
rename to hw/scsi/scsi-generic.c
diff --git a/hw/sd/Makefile.objs b/hw/sd/Makefile.objs
index e69de29..8acce02 100644
--- a/hw/sd/Makefile.objs
+++ b/hw/sd/Makefile.objs
@@ -0,0 +1,4 @@
+common-obj-$(CONFIG_PL181) += pl181.o
+common-obj-$(CONFIG_SSI_SD) += ssi-sd.o
+common-obj-$(CONFIG_SD) += sd.o
+common-obj-$(CONFIG_SDHCI) += sdhci.o
diff --git a/hw/pl181.c b/hw/sd/pl181.c
similarity index 100%
rename from hw/pl181.c
rename to hw/sd/pl181.c
diff --git a/hw/sd.c b/hw/sd/sd.c
similarity index 100%
rename from hw/sd.c
rename to hw/sd/sd.c
diff --git a/hw/sdhci.c b/hw/sd/sdhci.c
similarity index 100%
rename from hw/sdhci.c
rename to hw/sd/sdhci.c
diff --git a/hw/ssi-sd.c b/hw/sd/ssi-sd.c
similarity index 100%
rename from hw/ssi-sd.c
rename to hw/sd/ssi-sd.c
diff --git a/hw/ssi/Makefile.objs b/hw/ssi/Makefile.objs
index e69de29..daada5c 100644
--- a/hw/ssi/Makefile.objs
+++ b/hw/ssi/Makefile.objs
@@ -0,0 +1,2 @@
+common-obj-$(CONFIG_PL022) += pl022.o
+common-obj-$(CONFIG_SSI) += ssi.o
diff --git a/hw/pl022.c b/hw/ssi/pl022.c
similarity index 100%
rename from hw/pl022.c
rename to hw/ssi/pl022.c
diff --git a/hw/ssi.c b/hw/ssi/ssi.c
similarity index 100%
rename from hw/ssi.c
rename to hw/ssi/ssi.c
diff --git a/hw/timer/Makefile.objs b/hw/timer/Makefile.objs
index e69de29..12781dd 100644
--- a/hw/timer/Makefile.objs
+++ b/hw/timer/Makefile.objs
@@ -0,0 +1,10 @@
+common-obj-$(CONFIG_ARM_TIMER) += arm_timer.o
+common-obj-$(CONFIG_CADENCE) += cadence_ttc.o
+common-obj-$(CONFIG_DS1338) += ds1338.o
+common-obj-$(CONFIG_HPET) += hpet.o
+common-obj-$(CONFIG_I8254) += i8254_common.o i8254.o
+common-obj-$(CONFIG_M48T59) += m48t59.o
+common-obj-$(CONFIG_PL031) += pl031.o
+common-obj-$(CONFIG_PUV3) += puv3_ost.o
+common-obj-$(CONFIG_TWL92230) += twl92230.o
+common-obj-$(CONFIG_XILINX) += xilinx_timer.o
diff --git a/hw/arm_timer.c b/hw/timer/arm_timer.c
similarity index 100%
rename from hw/arm_timer.c
rename to hw/timer/arm_timer.c
diff --git a/hw/cadence_ttc.c b/hw/timer/cadence_ttc.c
similarity index 100%
rename from hw/cadence_ttc.c
rename to hw/timer/cadence_ttc.c
diff --git a/hw/ds1338.c b/hw/timer/ds1338.c
similarity index 100%
rename from hw/ds1338.c
rename to hw/timer/ds1338.c
diff --git a/hw/hpet.c b/hw/timer/hpet.c
similarity index 100%
rename from hw/hpet.c
rename to hw/timer/hpet.c
diff --git a/hw/i8254.c b/hw/timer/i8254.c
similarity index 100%
rename from hw/i8254.c
rename to hw/timer/i8254.c
diff --git a/hw/i8254_common.c b/hw/timer/i8254_common.c
similarity index 100%
rename from hw/i8254_common.c
rename to hw/timer/i8254_common.c
diff --git a/hw/m48t59.c b/hw/timer/m48t59.c
similarity index 100%
rename from hw/m48t59.c
rename to hw/timer/m48t59.c
diff --git a/hw/pl031.c b/hw/timer/pl031.c
similarity index 100%
rename from hw/pl031.c
rename to hw/timer/pl031.c
diff --git a/hw/puv3_ost.c b/hw/timer/puv3_ost.c
similarity index 100%
rename from hw/puv3_ost.c
rename to hw/timer/puv3_ost.c
diff --git a/hw/twl92230.c b/hw/timer/twl92230.c
similarity index 100%
rename from hw/twl92230.c
rename to hw/timer/twl92230.c
diff --git a/hw/xilinx_timer.c b/hw/timer/xilinx_timer.c
similarity index 100%
rename from hw/xilinx_timer.c
rename to hw/timer/xilinx_timer.c
diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs
index e63e287..5c20644 100644
--- a/hw/usb/Makefile.objs
+++ b/hw/usb/Makefile.objs
@@ -21,7 +21,12 @@ common-obj-$(CONFIG_USB_NETWORK)      += dev-network.o
 # FIXME: make configurable too
 CONFIG_USB_BLUETOOTH := y
 common-obj-$(CONFIG_USB_BLUETOOTH)    += dev-bluetooth.o
-common-obj-$(CONFIG_USB_SMARTCARD)    += dev-smartcard-reader.o
+
+ifeq ($(CONFIG_USB_SMARTCARD),y)
+common-obj-y                          += dev-smartcard-reader.o
+common-obj-y                          += ccid-card-passthru.o
+common-obj-$(CONFIG_SMARTCARD_NSS)    += ccid-card-emulated.o
+endif
 
 # usb redirection
 common-obj-$(CONFIG_USB_REDIR) += redirect.o quirks.o
diff --git a/hw/ccid-card-emulated.c b/hw/usb/ccid-card-emulated.c
similarity index 100%
rename from hw/ccid-card-emulated.c
rename to hw/usb/ccid-card-emulated.c
diff --git a/hw/ccid-card-passthru.c b/hw/usb/ccid-card-passthru.c
similarity index 100%
rename from hw/ccid-card-passthru.c
rename to hw/usb/ccid-card-passthru.c
diff --git a/hw/virtio/Makefile.objs b/hw/virtio/Makefile.objs
index e69de29..ed63495 100644
--- a/hw/virtio/Makefile.objs
+++ b/hw/virtio/Makefile.objs
@@ -0,0 +1,4 @@
+common-obj-$(CONFIG_VIRTIO) += virtio-rng.o
+common-obj-$(CONFIG_VIRTIO_PCI) += virtio-pci.o
+common-obj-$(CONFIG_VIRTIO) += virtio-bus.o
+
diff --git a/hw/virtio-bus.c b/hw/virtio/virtio-bus.c
similarity index 100%
rename from hw/virtio-bus.c
rename to hw/virtio/virtio-bus.c
diff --git a/hw/virtio-pci.c b/hw/virtio/virtio-pci.c
similarity index 100%
rename from hw/virtio-pci.c
rename to hw/virtio/virtio-pci.c
diff --git a/hw/virtio-rng.c b/hw/virtio/virtio-rng.c
similarity index 100%
rename from hw/virtio-rng.c
rename to hw/virtio/virtio-rng.c
diff --git a/hw/watchdog/Makefile.objs b/hw/watchdog/Makefile.objs
index e69de29..f57133b 100644
--- a/hw/watchdog/Makefile.objs
+++ b/hw/watchdog/Makefile.objs
@@ -0,0 +1,2 @@
+common-obj-y += watchdog.o
+common-obj-$(CONFIG_PCI) += wdt_i6300esb.o
diff --git a/hw/watchdog.c b/hw/watchdog/watchdog.c
similarity index 100%
rename from hw/watchdog.c
rename to hw/watchdog/watchdog.c
diff --git a/hw/wdt_i6300esb.c b/hw/watchdog/wdt_i6300esb.c
similarity index 100%
rename from hw/wdt_i6300esb.c
rename to hw/watchdog/wdt_i6300esb.c
diff --git a/hw/xen/Makefile.objs b/hw/xen/Makefile.objs
index e69de29..4b209a7 100644
--- a/hw/xen/Makefile.objs
+++ b/hw/xen/Makefile.objs
@@ -0,0 +1,2 @@
+# xen backend driver support
+common-obj-$(CONFIG_XEN_BACKEND) += xen_backend.o xen_devconfig.o
diff --git a/hw/xen_backend.c b/hw/xen/xen_backend.c
similarity index 100%
rename from hw/xen_backend.c
rename to hw/xen/xen_backend.c
diff --git a/hw/xen_devconfig.c b/hw/xen/xen_devconfig.c
similarity index 100%
rename from hw/xen_devconfig.c
rename to hw/xen/xen_devconfig.c
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 06/35] hw: move virtio devices to hw/ subdirectories
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (4 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 05/35] hw: move target-independent files to subdirectories Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 07/35] hw: make all of hw/ide/ configurable via default-configs/ Paolo Bonzini
                   ` (28 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure                             | 2 +-
 hw/Makefile.objs                      | 5 -----
 hw/block/Makefile.objs                | 3 +++
 hw/block/dataplane/Makefile.objs      | 1 +
 hw/{ => block}/dataplane/ioq.c        | 0
 hw/{ => block}/dataplane/ioq.h        | 0
 hw/{ => block}/dataplane/virtio-blk.c | 0
 hw/{ => block}/dataplane/virtio-blk.h | 0
 hw/{ => block}/virtio-blk.c           | 0
 hw/char/Makefile.objs                 | 2 ++
 hw/{ => char}/virtio-serial-bus.c     | 0
 hw/dataplane/Makefile.objs            | 1 -
 hw/net/Makefile.objs                  | 3 +++
 hw/{ => net}/vhost_net.c              | 0
 hw/{ => net}/virtio-net.c             | 0
 hw/scsi/Makefile.objs                 | 1 +
 hw/{ => scsi}/virtio-scsi.c           | 0
 hw/virtio/Makefile.objs               | 3 +++
 hw/virtio/dataplane/Makefile.objs     | 1 +
 hw/{ => virtio}/dataplane/hostmem.c   | 0
 hw/{ => virtio}/dataplane/vring.c     | 0
 hw/{ => virtio}/vhost.c               | 0
 hw/{ => virtio}/virtio-balloon.c      | 0
 hw/{ => virtio}/virtio.c              | 0
 24 files changed, 15 insertions(+), 7 deletions(-)
 create mode 100644 hw/block/dataplane/Makefile.objs
 rename hw/{ => block}/dataplane/ioq.c (100%)
 rename hw/{ => block}/dataplane/ioq.h (100%)
 rename hw/{ => block}/dataplane/virtio-blk.c (100%)
 rename hw/{ => block}/dataplane/virtio-blk.h (100%)
 rename hw/{ => block}/virtio-blk.c (100%)
 rename hw/{ => char}/virtio-serial-bus.c (100%)
 delete mode 100644 hw/dataplane/Makefile.objs
 rename hw/{ => net}/vhost_net.c (100%)
 rename hw/{ => net}/virtio-net.c (100%)
 rename hw/{ => scsi}/virtio-scsi.c (100%)
 create mode 100644 hw/virtio/dataplane/Makefile.objs
 rename hw/{ => virtio}/dataplane/hostmem.c (100%)
 rename hw/{ => virtio}/dataplane/vring.c (100%)
 rename hw/{ => virtio}/vhost.c (100%)
 rename hw/{ => virtio}/virtio-balloon.c (100%)
 rename hw/{ => virtio}/virtio.c (100%)

diff --git a/configure b/configure
index fbea75e..8183a4c 100755
--- a/configure
+++ b/configure
@@ -3814,7 +3814,7 @@ if test "$glusterfs" = "yes" ; then
 fi
 
 if test "$virtio_blk_data_plane" = "yes" ; then
-  echo "CONFIG_VIRTIO_BLK_DATA_PLANE=y" >> $config_host_mak
+  echo 'CONFIG_VIRTIO_BLK_DATA_PLANE=$(CONFIG_VIRTIO)' >> $config_host_mak
 fi
 
 # USB host support
diff --git a/hw/Makefile.objs b/hw/Makefile.objs
index d208a5d..9dc7596 100644
--- a/hw/Makefile.objs
+++ b/hw/Makefile.objs
@@ -34,11 +34,6 @@ ifeq ($(CONFIG_SOFTMMU),y)
 # Per-target files
 # virtio has to be here due to weird dependency between PCI and virtio-net.
 # need to fix this properly
-obj-$(CONFIG_VIRTIO) += dataplane/
-obj-$(CONFIG_VIRTIO) += virtio.o virtio-blk.o virtio-balloon.o virtio-net.o
-obj-$(CONFIG_VIRTIO) += virtio-serial-bus.o virtio-scsi.o
-obj-$(CONFIG_SOFTMMU) += vhost_net.o
-obj-$(CONFIG_VHOST_NET) += vhost.o
 obj-$(CONFIG_VGA) += vga.o
 
 # Inter-VM PCI shared memory & VFIO PCI device assignment
diff --git a/hw/block/Makefile.objs b/hw/block/Makefile.objs
index 5fa5101..856915e 100644
--- a/hw/block/Makefile.objs
+++ b/hw/block/Makefile.objs
@@ -6,3 +6,6 @@ common-obj-$(CONFIG_PFLASH_CFI01) += pflash_cfi01.o
 common-obj-$(CONFIG_PFLASH_CFI02) += pflash_cfi02.o
 common-obj-$(CONFIG_XEN_BACKEND) += xen_disk.o
 common-obj-$(CONFIG_ECC) += ecc.o
+
+obj-$(CONFIG_VIRTIO) += virtio-blk.o
+obj-$(CONFIG_VIRTIO_BLK_DATA_PLANE) += dataplane/
diff --git a/hw/block/dataplane/Makefile.objs b/hw/block/dataplane/Makefile.objs
new file mode 100644
index 0000000..9da2eb8
--- /dev/null
+++ b/hw/block/dataplane/Makefile.objs
@@ -0,0 +1 @@
+obj-y += ioq.o virtio-blk.o
diff --git a/hw/dataplane/ioq.c b/hw/block/dataplane/ioq.c
similarity index 100%
rename from hw/dataplane/ioq.c
rename to hw/block/dataplane/ioq.c
diff --git a/hw/dataplane/ioq.h b/hw/block/dataplane/ioq.h
similarity index 100%
rename from hw/dataplane/ioq.h
rename to hw/block/dataplane/ioq.h
diff --git a/hw/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
similarity index 100%
rename from hw/dataplane/virtio-blk.c
rename to hw/block/dataplane/virtio-blk.c
diff --git a/hw/dataplane/virtio-blk.h b/hw/block/dataplane/virtio-blk.h
similarity index 100%
rename from hw/dataplane/virtio-blk.h
rename to hw/block/dataplane/virtio-blk.h
diff --git a/hw/virtio-blk.c b/hw/block/virtio-blk.c
similarity index 100%
rename from hw/virtio-blk.c
rename to hw/block/virtio-blk.c
diff --git a/hw/char/Makefile.objs b/hw/char/Makefile.objs
index eee23ff..ddfd3ec 100644
--- a/hw/char/Makefile.objs
+++ b/hw/char/Makefile.objs
@@ -8,3 +8,5 @@ common-obj-$(CONFIG_VIRTIO) += virtio-console.o
 common-obj-$(CONFIG_XILINX) += xilinx_uartlite.o
 common-obj-$(CONFIG_XEN_BACKEND) += xen_console.o
 common-obj-$(CONFIG_CADENCE) += cadence_uart.o
+
+obj-$(CONFIG_VIRTIO) += virtio-serial-bus.o
diff --git a/hw/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c
similarity index 100%
rename from hw/virtio-serial-bus.c
rename to hw/char/virtio-serial-bus.c
diff --git a/hw/dataplane/Makefile.objs b/hw/dataplane/Makefile.objs
deleted file mode 100644
index 701111c..0000000
--- a/hw/dataplane/Makefile.objs
+++ /dev/null
@@ -1 +0,0 @@
-obj-$(CONFIG_VIRTIO_BLK_DATA_PLANE) += hostmem.o vring.o ioq.o virtio-blk.o
diff --git a/hw/net/Makefile.objs b/hw/net/Makefile.objs
index ad91293..73217d8 100644
--- a/hw/net/Makefile.objs
+++ b/hw/net/Makefile.objs
@@ -20,3 +20,6 @@ common-obj-$(CONFIG_MIPSNET) += mipsnet.o
 common-obj-$(CONFIG_XILINX_AXI) += xilinx_axienet.o
 
 common-obj-$(CONFIG_CADENCE) += cadence_gem.o
+
+obj-$(CONFIG_VIRTIO) += virtio-net.o
+obj-y += vhost_net.o
diff --git a/hw/vhost_net.c b/hw/net/vhost_net.c
similarity index 100%
rename from hw/vhost_net.c
rename to hw/net/vhost_net.c
diff --git a/hw/virtio-net.c b/hw/net/virtio-net.c
similarity index 100%
rename from hw/virtio-net.c
rename to hw/net/virtio-net.c
diff --git a/hw/scsi/Makefile.objs b/hw/scsi/Makefile.objs
index 6a56504..b76b9c3 100644
--- a/hw/scsi/Makefile.objs
+++ b/hw/scsi/Makefile.objs
@@ -4,3 +4,4 @@ common-obj-$(CONFIG_LSI_SCSI_PCI) += lsi53c895a.o
 common-obj-$(CONFIG_MEGASAS_SCSI_PCI) += megasas.o
 common-obj-$(CONFIG_ESP) += esp.o
 common-obj-$(CONFIG_ESP_PCI) += esp-pci.o
+obj-$(CONFIG_VIRTIO) += virtio-scsi.o
diff --git a/hw/virtio-scsi.c b/hw/scsi/virtio-scsi.c
similarity index 100%
rename from hw/virtio-scsi.c
rename to hw/scsi/virtio-scsi.c
diff --git a/hw/virtio/Makefile.objs b/hw/virtio/Makefile.objs
index ed63495..c7e8013 100644
--- a/hw/virtio/Makefile.objs
+++ b/hw/virtio/Makefile.objs
@@ -1,4 +1,7 @@
 common-obj-$(CONFIG_VIRTIO) += virtio-rng.o
 common-obj-$(CONFIG_VIRTIO_PCI) += virtio-pci.o
 common-obj-$(CONFIG_VIRTIO) += virtio-bus.o
+common-obj-$(CONFIG_VIRTIO_BLK_DATA_PLANE) += dataplane/
 
+obj-$(CONFIG_VIRTIO) += virtio.o virtio-balloon.o 
+obj-$(CONFIG_VHOST_NET) += vhost.o
diff --git a/hw/virtio/dataplane/Makefile.objs b/hw/virtio/dataplane/Makefile.objs
new file mode 100644
index 0000000..a91bf33
--- /dev/null
+++ b/hw/virtio/dataplane/Makefile.objs
@@ -0,0 +1 @@
+common-obj-y += hostmem.o vring.o
diff --git a/hw/dataplane/hostmem.c b/hw/virtio/dataplane/hostmem.c
similarity index 100%
rename from hw/dataplane/hostmem.c
rename to hw/virtio/dataplane/hostmem.c
diff --git a/hw/dataplane/vring.c b/hw/virtio/dataplane/vring.c
similarity index 100%
rename from hw/dataplane/vring.c
rename to hw/virtio/dataplane/vring.c
diff --git a/hw/vhost.c b/hw/virtio/vhost.c
similarity index 100%
rename from hw/vhost.c
rename to hw/virtio/vhost.c
diff --git a/hw/virtio-balloon.c b/hw/virtio/virtio-balloon.c
similarity index 100%
rename from hw/virtio-balloon.c
rename to hw/virtio/virtio-balloon.c
diff --git a/hw/virtio.c b/hw/virtio/virtio.c
similarity index 100%
rename from hw/virtio.c
rename to hw/virtio/virtio.c
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 07/35] hw: make all of hw/ide/ configurable via default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (5 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 06/35] hw: move virtio devices to hw/ subdirectories Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 08/35] hw: make all of hw/usb/ " Paolo Bonzini
                   ` (27 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak   | 1 +
 default-configs/sh4-softmmu.mak   | 1 +
 default-configs/sh4eb-softmmu.mak | 1 +
 hw/arm/Makefile.objs              | 2 +-
 hw/ide/Makefile.objs              | 2 ++
 hw/sh4/Makefile.objs              | 1 -
 6 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index ab87035..2d53895 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -29,6 +29,7 @@ CONFIG_SMC91C111=y
 CONFIG_DS1338=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_PFLASH_CFI02=y
+CONFIG_MICRODRIVE=y
 
 CONFIG_ARM_TIMER=y
 CONFIG_PL011=y
diff --git a/default-configs/sh4-softmmu.mak b/default-configs/sh4-softmmu.mak
index e08b2ee..bcafc27 100644
--- a/default-configs/sh4-softmmu.mak
+++ b/default-configs/sh4-softmmu.mak
@@ -6,3 +6,4 @@ CONFIG_SERIAL=y
 CONFIG_PTIMER=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_ISA_MMIO=y
+CONFIG_IDE_MMIO=y
diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/sh4eb-softmmu.mak
index 3a84535..8372b0d 100644
--- a/default-configs/sh4eb-softmmu.mak
+++ b/default-configs/sh4eb-softmmu.mak
@@ -6,3 +6,4 @@ CONFIG_SERIAL=y
 CONFIG_PTIMER=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_ISA_MMIO=y
+CONFIG_IDE_MMIO=y
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index f5f7d0e..6253dbc 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -11,7 +11,7 @@ obj-y += arm_mptimer.o a15mpcore.o
 obj-y += armv7m_nvic.o stellaris_enet.o
 obj-y += pxa2xx_timer.o pxa2xx_dma.o
 obj-y += pxa2xx_lcd.o pxa2xx_mmci.o pxa2xx_pcmcia.o pxa2xx_keypad.o
-obj-y += zaurus.o ide/microdrive.o tc6393xb.o
+obj-y += zaurus.o tc6393xb.o
 obj-y += omap_lcdc.o omap_dma.o omap_clk.o omap_mmc.o omap_i2c.o \
                 omap_gpio.o omap_intc.o omap_uart.o
 obj-y += omap_dss.o soc_dma.o omap_gptimer.o omap_synctimer.o \
diff --git a/hw/ide/Makefile.objs b/hw/ide/Makefile.objs
index 5c8c22a..729e9bd 100644
--- a/hw/ide/Makefile.objs
+++ b/hw/ide/Makefile.objs
@@ -5,6 +5,8 @@ common-obj-$(CONFIG_IDE_ISA) += isa.o
 common-obj-$(CONFIG_IDE_PIIX) += piix.o
 common-obj-$(CONFIG_IDE_CMD646) += cmd646.o
 common-obj-$(CONFIG_IDE_MACIO) += macio.o
+common-obj-$(CONFIG_IDE_MMIO) += mmio.o
 common-obj-$(CONFIG_IDE_VIA) += via.o
+common-obj-$(CONFIG_MICRODRIVE) += microdrive.o
 common-obj-$(CONFIG_AHCI) += ahci.o
 common-obj-$(CONFIG_AHCI) += ich.o
diff --git a/hw/sh4/Makefile.objs b/hw/sh4/Makefile.objs
index 72b6a1f..4f2ac2a 100644
--- a/hw/sh4/Makefile.objs
+++ b/hw/sh4/Makefile.objs
@@ -1,6 +1,5 @@
 obj-y = tc58128.o
 obj-y += sh_timer.o sh_serial.o sh_intc.o sh_pci.o sm501.o
-obj-y += ide/mmio.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 08/35] hw: make all of hw/usb/ configurable via default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (6 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 07/35] hw: make all of hw/ide/ configurable via default-configs/ Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 09/35] hw: make all of hw/pci/ " Paolo Bonzini
                   ` (26 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak | 1 +
 hw/arm/Makefile.objs            | 2 +-
 hw/usb/Makefile.objs            | 1 +
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 2d53895..4b72019 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -30,6 +30,7 @@ CONFIG_DS1338=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_MICRODRIVE=y
+CONFIG_USB_MUSB=y
 
 CONFIG_ARM_TIMER=y
 CONFIG_PL011=y
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 6253dbc..d809ad8 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -17,7 +17,7 @@ obj-y += omap_lcdc.o omap_dma.o omap_clk.o omap_mmc.o omap_i2c.o \
 obj-y += omap_dss.o soc_dma.o omap_gptimer.o omap_synctimer.o \
                 omap_gpmc.o omap_sdrc.o omap_spi.o omap_tap.o omap_l4.o
 obj-y += tsc210x.o
-obj-y += blizzard.o onenand.o cbus.o tusb6010.o usb/hcd-musb.o
+obj-y += blizzard.o onenand.o cbus.o tusb6010.o
 obj-y += mst_fpga.o
 obj-y += bitbang_i2c.o marvell_88w8618_audio.o
 obj-y += framebuffer.o
diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs
index 5c20644..f9695e7 100644
--- a/hw/usb/Makefile.objs
+++ b/hw/usb/Makefile.objs
@@ -7,6 +7,7 @@ common-obj-$(CONFIG_USB_UHCI) += hcd-uhci.o
 common-obj-$(CONFIG_USB_OHCI) += hcd-ohci.o
 common-obj-$(CONFIG_USB_EHCI) += hcd-ehci.o hcd-ehci-pci.o hcd-ehci-sysbus.o
 common-obj-$(CONFIG_USB_XHCI) += hcd-xhci.o
+common-obj-$(CONFIG_USB_MUSB) += hcd-musb.o
 
 # emulated usb devices
 common-obj-y += dev-hub.o
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 09/35] hw: make all of hw/pci/ configurable via default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (7 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 08/35] hw: make all of hw/usb/ " Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 10/35] hw: move watchdogs to hw/watchdog, configure " Paolo Bonzini
                   ` (25 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/i386-softmmu.mak   | 1 +
 default-configs/ppc64-softmmu.mak  | 2 ++
 default-configs/x86_64-softmmu.mak | 1 +
 hw/i386/Makefile.objs              | 2 +-
 hw/pci/Makefile.objs               | 2 ++
 hw/ppc/Makefile.objs               | 2 +-
 6 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index a2658cd..e041a63 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -28,3 +28,4 @@ CONFIG_I8259=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_TPM_TIS=y
 CONFIG_TPM_PASSTHROUGH=y
+CONFIG_PCI_HOTPLUG=y
diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
index ee895e9..26f74b0 100644
--- a/default-configs/ppc64-softmmu.mak
+++ b/default-configs/ppc64-softmmu.mak
@@ -42,3 +42,5 @@ CONFIG_I8259=y
 CONFIG_XILINX=y
 CONFIG_PSERIES=$(CONFIG_FDT)
 CONFIG_E500=$(CONFIG_FDT)
+# For pSeries
+CONFIG_PCI_HOTPLUG=y
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index fe4b70b..5ba1116 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -28,3 +28,4 @@ CONFIG_I8259=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_TPM_TIS=y
 CONFIG_TPM_PASSTHROUGH=y
+CONFIG_PCI_HOTPLUG=y
diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index a78c0b2..c813b1e 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -2,7 +2,7 @@ obj-y += mc146818rtc.o
 obj-y += apic_common.o apic.o
 obj-y += sga.o ioapic_common.o ioapic.o piix_pci.o
 obj-y += vmport.o
-obj-y += pci/pci-hotplug.o wdt_ib700.o
+obj-y += wdt_ib700.o
 obj-y += debugcon.o debugexit.o
 obj-y += pc_sysfw.o
 obj-y += lpc_ich9.o q35.o
diff --git a/hw/pci/Makefile.objs b/hw/pci/Makefile.objs
index aac5f65..a1511ab 100644
--- a/hw/pci/Makefile.objs
+++ b/hw/pci/Makefile.objs
@@ -9,3 +9,5 @@ common-obj-$(CONFIG_NO_PCI) += pci-stub.o
 common-obj-$(CONFIG_ALL) += pci-stub.o
 
 common-obj-$(CONFIG_PCI) += bridge/ host/
+
+obj-$(CONFIG_PCI_HOTPLUG) += pci-hotplug.o
diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
index 4de0209..ef1d9ed 100644
--- a/hw/ppc/Makefile.objs
+++ b/hw/ppc/Makefile.objs
@@ -2,7 +2,7 @@
 obj-y += mc146818rtc.o
 # IBM pSeries (sPAPR)
 obj-$(CONFIG_PSERIES) += spapr_vty.o spapr_llan.o spapr_vscsi.o
-obj-$(CONFIG_PSERIES) += spapr_pci.o pci/pci-hotplug.o
+obj-$(CONFIG_PSERIES) += spapr_pci.o
 obj-$(CONFIG_PSERIES) += spapr_nvram.o
 # PowerPC 4xx boards
 obj-y += ppc4xx_pci.o
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 10/35] hw: move watchdogs to hw/watchdog, configure via default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (8 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 09/35] hw: make all of hw/pci/ " Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 11/35] hw: move MC146818RTC to hw/timer/, " Paolo Bonzini
                   ` (24 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/i386-softmmu.mak   | 1 +
 default-configs/pci.mak            | 1 +
 default-configs/x86_64-softmmu.mak | 1 +
 hw/i386/Makefile.objs              | 1 -
 hw/watchdog/Makefile.objs          | 3 ++-
 hw/{ => watchdog}/wdt_ib700.c      | 0
 6 files changed, 5 insertions(+), 2 deletions(-)
 rename hw/{ => watchdog}/wdt_ib700.c (100%)

diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index e041a63..7dd0669 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -29,3 +29,4 @@ CONFIG_PFLASH_CFI01=y
 CONFIG_TPM_TIS=y
 CONFIG_TPM_PASSTHROUGH=y
 CONFIG_PCI_HOTPLUG=y
+CONFIG_WDT_IB700=y
diff --git a/default-configs/pci.mak b/default-configs/pci.mak
index ce56d58..f5f100e 100644
--- a/default-configs/pci.mak
+++ b/default-configs/pci.mak
@@ -23,3 +23,4 @@ CONFIG_ESP_PCI=y
 CONFIG_SERIAL=y
 CONFIG_SERIAL_PCI=y
 CONFIG_IPACK=y
+CONFIG_WDT_IB6300ESB=y
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index 5ba1116..0e5ab55 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -29,3 +29,4 @@ CONFIG_PFLASH_CFI01=y
 CONFIG_TPM_TIS=y
 CONFIG_TPM_PASSTHROUGH=y
 CONFIG_PCI_HOTPLUG=y
+CONFIG_WDT_IB700=y
diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index c813b1e..5559a8b 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -2,7 +2,6 @@ obj-y += mc146818rtc.o
 obj-y += apic_common.o apic.o
 obj-y += sga.o ioapic_common.o ioapic.o piix_pci.o
 obj-y += vmport.o
-obj-y += wdt_ib700.o
 obj-y += debugcon.o debugexit.o
 obj-y += pc_sysfw.o
 obj-y += lpc_ich9.o q35.o
diff --git a/hw/watchdog/Makefile.objs b/hw/watchdog/Makefile.objs
index f57133b..4b0374a 100644
--- a/hw/watchdog/Makefile.objs
+++ b/hw/watchdog/Makefile.objs
@@ -1,2 +1,3 @@
 common-obj-y += watchdog.o
-common-obj-$(CONFIG_PCI) += wdt_i6300esb.o
+common-obj-$(CONFIG_WDT_IB6300ESB) += wdt_i6300esb.o
+common-obj-$(CONFIG_WDT_IB700) += wdt_ib700.o
diff --git a/hw/wdt_ib700.c b/hw/watchdog/wdt_ib700.c
similarity index 100%
rename from hw/wdt_ib700.c
rename to hw/watchdog/wdt_ib700.c
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 11/35] hw: move MC146818RTC to hw/timer/, configure via default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (9 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 10/35] hw: move watchdogs to hw/watchdog, configure " Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 12/35] hw: move NICs to hw/net/, " Paolo Bonzini
                   ` (23 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/alpha-softmmu.mak    | 1 +
 default-configs/i386-softmmu.mak     | 1 +
 default-configs/mips-softmmu.mak     | 1 +
 default-configs/mips64-softmmu.mak   | 1 +
 default-configs/mips64el-softmmu.mak | 1 +
 default-configs/mipsel-softmmu.mak   | 1 +
 default-configs/moxie-softmmu.mak    | 1 +
 default-configs/ppc-softmmu.mak      | 2 ++
 default-configs/ppc64-softmmu.mak    | 2 ++
 default-configs/ppcemb-softmmu.mak   | 2 ++
 default-configs/sparc64-softmmu.mak  | 1 +
 default-configs/x86_64-softmmu.mak   | 1 +
 hw/alpha/Makefile.objs               | 1 -
 hw/i386/Makefile.objs                | 1 -
 hw/mips/Makefile.objs                | 2 +-
 hw/moxie/Makefile.objs               | 3 ---
 hw/ppc/Makefile.objs                 | 2 --
 hw/sparc64/Makefile.objs             | 1 -
 hw/timer/Makefile.objs               | 2 ++
 hw/{ => timer}/mc146818rtc.c         | 0
 20 files changed, 18 insertions(+), 9 deletions(-)
 rename hw/{ => timer}/mc146818rtc.c (100%)

diff --git a/default-configs/alpha-softmmu.mak b/default-configs/alpha-softmmu.mak
index 2dbee94..18e5337 100644
--- a/default-configs/alpha-softmmu.mak
+++ b/default-configs/alpha-softmmu.mak
@@ -13,3 +13,4 @@ CONFIG_IDE_QDEV=y
 CONFIG_VMWARE_VGA=y
 CONFIG_IDE_CMD646=y
 CONFIG_I8259=y
+CONFIG_MC146818RTC=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 7dd0669..2ddf670 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -29,4 +29,5 @@ CONFIG_PFLASH_CFI01=y
 CONFIG_TPM_TIS=y
 CONFIG_TPM_PASSTHROUGH=y
 CONFIG_PCI_HOTPLUG=y
+CONFIG_MC146818RTC=y
 CONFIG_WDT_IB700=y
diff --git a/default-configs/mips-softmmu.mak b/default-configs/mips-softmmu.mak
index dff6fef..2b48452 100644
--- a/default-configs/mips-softmmu.mak
+++ b/default-configs/mips-softmmu.mak
@@ -32,3 +32,4 @@ CONFIG_PFLASH_CFI01=y
 CONFIG_G364FB=y
 CONFIG_I8259=y
 CONFIG_JAZZ_LED=y
+CONFIG_MC146818RTC=y
diff --git a/default-configs/mips64-softmmu.mak b/default-configs/mips64-softmmu.mak
index 0968e5f..5713320 100644
--- a/default-configs/mips64-softmmu.mak
+++ b/default-configs/mips64-softmmu.mak
@@ -32,3 +32,4 @@ CONFIG_PFLASH_CFI01=y
 CONFIG_G364FB=y
 CONFIG_I8259=y
 CONFIG_JAZZ_LED=y
+CONFIG_MC146818RTC=y
diff --git a/default-configs/mips64el-softmmu.mak b/default-configs/mips64el-softmmu.mak
index 6f115d4..096dc80 100644
--- a/default-configs/mips64el-softmmu.mak
+++ b/default-configs/mips64el-softmmu.mak
@@ -34,3 +34,4 @@ CONFIG_FULONG=y
 CONFIG_G364FB=y
 CONFIG_I8259=y
 CONFIG_JAZZ_LED=y
+CONFIG_MC146818RTC=y
diff --git a/default-configs/mipsel-softmmu.mak b/default-configs/mipsel-softmmu.mak
index e391cf7..5509f0e 100644
--- a/default-configs/mipsel-softmmu.mak
+++ b/default-configs/mipsel-softmmu.mak
@@ -32,3 +32,4 @@ CONFIG_PFLASH_CFI01=y
 CONFIG_G364FB=y
 CONFIG_I8259=y
 CONFIG_JAZZ_LED=y
+CONFIG_MC146818RTC=y
diff --git a/default-configs/moxie-softmmu.mak b/default-configs/moxie-softmmu.mak
index 0a8194a..1a95476 100644
--- a/default-configs/moxie-softmmu.mak
+++ b/default-configs/moxie-softmmu.mak
@@ -1,4 +1,5 @@
 # Default configuration for moxie-softmmu
 
+CONFIG_MC146818RTC=y
 CONFIG_SERIAL=y
 CONFIG_VGA=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index cdf82b1..d9ced3a 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -41,3 +41,5 @@ CONFIG_PTIMER=y
 CONFIG_I8259=y
 CONFIG_XILINX=y
 CONFIG_E500=$(CONFIG_FDT)
+# For PReP
+CONFIG_MC146818RTC=y
diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
index 26f74b0..7d62e14 100644
--- a/default-configs/ppc64-softmmu.mak
+++ b/default-configs/ppc64-softmmu.mak
@@ -44,3 +44,5 @@ CONFIG_PSERIES=$(CONFIG_FDT)
 CONFIG_E500=$(CONFIG_FDT)
 # For pSeries
 CONFIG_PCI_HOTPLUG=y
+# For PReP
+CONFIG_MC146818RTC=y
diff --git a/default-configs/ppcemb-softmmu.mak b/default-configs/ppcemb-softmmu.mak
index 806adfd..9d8c5c7 100644
--- a/default-configs/ppcemb-softmmu.mak
+++ b/default-configs/ppcemb-softmmu.mak
@@ -36,3 +36,5 @@ CONFIG_PTIMER=y
 CONFIG_I8259=y
 CONFIG_XILINX=y
 CONFIG_E500=$(CONFIG_FDT)
+# For PReP
+CONFIG_MC146818RTC=y
diff --git a/default-configs/sparc64-softmmu.mak b/default-configs/sparc64-softmmu.mak
index 2145b6b..3b3dc55 100644
--- a/default-configs/sparc64-softmmu.mak
+++ b/default-configs/sparc64-softmmu.mak
@@ -13,3 +13,4 @@ CONFIG_PCKBD=y
 CONFIG_FDC=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_CMD646=y
+CONFIG_MC146818RTC=y
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index 0e5ab55..72f9bc7 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -29,4 +29,5 @@ CONFIG_PFLASH_CFI01=y
 CONFIG_TPM_TIS=y
 CONFIG_TPM_PASSTHROUGH=y
 CONFIG_PCI_HOTPLUG=y
+CONFIG_MC146818RTC=y
 CONFIG_WDT_IB700=y
diff --git a/hw/alpha/Makefile.objs b/hw/alpha/Makefile.objs
index db868d2..5dfea7a 100644
--- a/hw/alpha/Makefile.objs
+++ b/hw/alpha/Makefile.objs
@@ -1,4 +1,3 @@
-obj-y = mc146818rtc.o
 obj-y += alpha_typhoon.o
 
 obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index 5559a8b..80132d8 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -1,4 +1,3 @@
-obj-y += mc146818rtc.o
 obj-y += apic_common.o apic.o
 obj-y += sga.o ioapic_common.o ioapic.o piix_pci.o
 obj-y += vmport.o
diff --git a/hw/mips/Makefile.objs b/hw/mips/Makefile.objs
index 1e3bca1..e173a2d 100644
--- a/hw/mips/Makefile.objs
+++ b/hw/mips/Makefile.objs
@@ -1,4 +1,4 @@
-obj-y += gt64xxx.o mc146818rtc.o
+obj-y += gt64xxx.o
 obj-$(CONFIG_FULONG) += bonito.o vt82c686.o
 
 obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/moxie/Makefile.objs b/hw/moxie/Makefile.objs
index f5e04e8..bfc9001 100644
--- a/hw/moxie/Makefile.objs
+++ b/hw/moxie/Makefile.objs
@@ -1,5 +1,2 @@
 # moxie boards
-obj-y = mc146818rtc.o
-
-obj-y := $(addprefix ../,$(obj-y))
 obj-y += moxiesim.o
diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
index ef1d9ed..b22a6f1 100644
--- a/hw/ppc/Makefile.objs
+++ b/hw/ppc/Makefile.objs
@@ -1,5 +1,3 @@
-# PREP target
-obj-y += mc146818rtc.o
 # IBM pSeries (sPAPR)
 obj-$(CONFIG_PSERIES) += spapr_vty.o spapr_llan.o spapr_vscsi.o
 obj-$(CONFIG_PSERIES) += spapr_pci.o
diff --git a/hw/sparc64/Makefile.objs b/hw/sparc64/Makefile.objs
index 4df0d90..178464b 100644
--- a/hw/sparc64/Makefile.objs
+++ b/hw/sparc64/Makefile.objs
@@ -1,5 +1,4 @@
 obj-y = apb_pci.o
-obj-y += mc146818rtc.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/timer/Makefile.objs b/hw/timer/Makefile.objs
index 12781dd..a1ef26c 100644
--- a/hw/timer/Makefile.objs
+++ b/hw/timer/Makefile.objs
@@ -8,3 +8,5 @@ common-obj-$(CONFIG_PL031) += pl031.o
 common-obj-$(CONFIG_PUV3) += puv3_ost.o
 common-obj-$(CONFIG_TWL92230) += twl92230.o
 common-obj-$(CONFIG_XILINX) += xilinx_timer.o
+
+obj-$(CONFIG_MC146818RTC) += mc146818rtc.o
diff --git a/hw/mc146818rtc.c b/hw/timer/mc146818rtc.c
similarity index 100%
rename from hw/mc146818rtc.c
rename to hw/timer/mc146818rtc.c
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 12/35] hw: move NICs to hw/net/, configure via default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (10 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 11/35] hw: move MC146818RTC to hw/timer/, " Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 13/35] hw: move block devices to hw/block/, " Paolo Bonzini
                   ` (22 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak          | 1 +
 default-configs/cris-softmmu.mak         | 1 +
 default-configs/lm32-softmmu.mak         | 1 +
 default-configs/m68k-softmmu.mak         | 1 +
 default-configs/microblaze-softmmu.mak   | 1 +
 default-configs/microblazeel-softmmu.mak | 1 +
 default-configs/ppc-softmmu.mak          | 1 +
 default-configs/ppc64-softmmu.mak        | 1 +
 default-configs/ppcemb-softmmu.mak       | 1 +
 default-configs/sparc-softmmu.mak        | 1 +
 hw/arm/Makefile.objs                     | 2 +-
 hw/cris/Makefile.objs                    | 1 -
 hw/lm32/Makefile.objs                    | 1 -
 hw/m68k/Makefile.objs                    | 2 +-
 hw/microblaze/Makefile.objs              | 1 -
 hw/net/Makefile.objs                     | 8 ++++++++
 hw/{ => net}/etraxfs_eth.c               | 0
 hw/{ => net}/lance.c                     | 0
 hw/{ => net}/mcf_fec.c                   | 0
 hw/{ => net}/milkymist-minimac2.c        | 0
 hw/{ => net}/spapr_llan.c                | 0
 hw/{ => net}/stellaris_enet.c            | 0
 hw/{ => net}/xilinx_ethlite.c            | 0
 hw/ppc/Makefile.objs                     | 5 +----
 hw/sparc/Makefile.objs                   | 2 +-
 25 files changed, 22 insertions(+), 10 deletions(-)
 rename hw/{ => net}/etraxfs_eth.c (100%)
 rename hw/{ => net}/lance.c (100%)
 rename hw/{ => net}/mcf_fec.c (100%)
 rename hw/{ => net}/milkymist-minimac2.c (100%)
 rename hw/{ => net}/spapr_llan.c (100%)
 rename hw/{ => net}/stellaris_enet.c (100%)
 rename hw/{ => net}/xilinx_ethlite.c (100%)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 4b72019..cd353bd 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -17,6 +17,7 @@ CONFIG_TSC2005=y
 CONFIG_LM832X=y
 CONFIG_TMP105=y
 CONFIG_STELLARIS_INPUT=y
+CONFIG_STELLARIS_ENET=y
 CONFIG_SSD0303=y
 CONFIG_SSD0323=y
 CONFIG_ADS7846=y
diff --git a/default-configs/cris-softmmu.mak b/default-configs/cris-softmmu.mak
index 1a479cd..d970d50 100644
--- a/default-configs/cris-softmmu.mak
+++ b/default-configs/cris-softmmu.mak
@@ -1,5 +1,6 @@
 # Default configuration for cris-softmmu
 
+CONFIG_ETRAXFS=y
 CONFIG_NAND=y
 CONFIG_PTIMER=y
 CONFIG_PFLASH_CFI02=y
diff --git a/default-configs/lm32-softmmu.mak b/default-configs/lm32-softmmu.mak
index 0d19974..2654ad6 100644
--- a/default-configs/lm32-softmmu.mak
+++ b/default-configs/lm32-softmmu.mak
@@ -1,5 +1,6 @@
 # Default configuration for lm32-softmmu
 
+CONFIG_MILKYMIST=y
 CONFIG_PTIMER=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_PFLASH_CFI02=y
diff --git a/default-configs/m68k-softmmu.mak b/default-configs/m68k-softmmu.mak
index 778ea82..51fe5bb 100644
--- a/default-configs/m68k-softmmu.mak
+++ b/default-configs/m68k-softmmu.mak
@@ -2,5 +2,6 @@
 
 include pci.mak
 include usb.mak
+CONFIG_COLDFIRE=y
 CONFIG_GDBSTUB_XML=y
 CONFIG_PTIMER=y
diff --git a/default-configs/microblaze-softmmu.mak b/default-configs/microblaze-softmmu.mak
index 2f442e5..050e273 100644
--- a/default-configs/microblaze-softmmu.mak
+++ b/default-configs/microblaze-softmmu.mak
@@ -5,5 +5,6 @@ CONFIG_PFLASH_CFI01=y
 CONFIG_SERIAL=y
 CONFIG_XILINX=y
 CONFIG_XILINX_AXI=y
+CONFIG_XILINX_ETHLITE=y
 CONFIG_SSI=y
 CONFIG_SSI_M25P80=y
diff --git a/default-configs/microblazeel-softmmu.mak b/default-configs/microblazeel-softmmu.mak
index af9a3cd..db82dd8 100644
--- a/default-configs/microblazeel-softmmu.mak
+++ b/default-configs/microblazeel-softmmu.mak
@@ -5,5 +5,6 @@ CONFIG_PFLASH_CFI01=y
 CONFIG_SERIAL=y
 CONFIG_XILINX=y
 CONFIG_XILINX_AXI=y
+CONFIG_XILINX_ETHLITE=y
 CONFIG_SSI=y
 CONFIG_SSI_M25P80=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index d9ced3a..36a8ed3 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -40,6 +40,7 @@ CONFIG_PFLASH_CFI02=y
 CONFIG_PTIMER=y
 CONFIG_I8259=y
 CONFIG_XILINX=y
+CONFIG_XILINX_ETHLITE=y
 CONFIG_E500=$(CONFIG_FDT)
 # For PReP
 CONFIG_MC146818RTC=y
diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
index 7d62e14..2d5df77 100644
--- a/default-configs/ppc64-softmmu.mak
+++ b/default-configs/ppc64-softmmu.mak
@@ -40,6 +40,7 @@ CONFIG_PFLASH_CFI02=y
 CONFIG_PTIMER=y
 CONFIG_I8259=y
 CONFIG_XILINX=y
+CONFIG_XILINX_ETHLITE=y
 CONFIG_PSERIES=$(CONFIG_FDT)
 CONFIG_E500=$(CONFIG_FDT)
 # For pSeries
diff --git a/default-configs/ppcemb-softmmu.mak b/default-configs/ppcemb-softmmu.mak
index 9d8c5c7..ce705a9 100644
--- a/default-configs/ppcemb-softmmu.mak
+++ b/default-configs/ppcemb-softmmu.mak
@@ -35,6 +35,7 @@ CONFIG_PFLASH_CFI02=y
 CONFIG_PTIMER=y
 CONFIG_I8259=y
 CONFIG_XILINX=y
+CONFIG_XILINX_ETHLITE=y
 CONFIG_E500=$(CONFIG_FDT)
 # For PReP
 CONFIG_MC146818RTC=y
diff --git a/default-configs/sparc-softmmu.mak b/default-configs/sparc-softmmu.mak
index b0310c5..6d11ba0 100644
--- a/default-configs/sparc-softmmu.mak
+++ b/default-configs/sparc-softmmu.mak
@@ -8,3 +8,4 @@ CONFIG_PTIMER=y
 CONFIG_FDC=y
 CONFIG_EMPTY_SLOT=y
 CONFIG_PCNET_COMMON=y
+CONFIG_LANCE=y
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index d809ad8..b14beb8 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -8,7 +8,7 @@ obj-y += exynos4210_uart.o exynos4210_pwm.o
 obj-y += exynos4210_pmu.o exynos4210_mct.o exynos4210_fimd.o
 obj-y += exynos4210_rtc.o exynos4210_i2c.o
 obj-y += arm_mptimer.o a15mpcore.o
-obj-y += armv7m_nvic.o stellaris_enet.o
+obj-y += armv7m_nvic.o
 obj-y += pxa2xx_timer.o pxa2xx_dma.o
 obj-y += pxa2xx_lcd.o pxa2xx_mmci.o pxa2xx_pcmcia.o pxa2xx_keypad.o
 obj-y += zaurus.o tc6393xb.o
diff --git a/hw/cris/Makefile.objs b/hw/cris/Makefile.objs
index a94c624..e02365d 100644
--- a/hw/cris/Makefile.objs
+++ b/hw/cris/Makefile.objs
@@ -1,7 +1,6 @@
 # IO blocks
 obj-y += etraxfs_dma.o
 obj-y += etraxfs_pic.o
-obj-y += etraxfs_eth.o
 obj-y += etraxfs_timer.o
 obj-y += etraxfs_ser.o
 
diff --git a/hw/lm32/Makefile.objs b/hw/lm32/Makefile.objs
index 68ca90a..d72756c 100644
--- a/hw/lm32/Makefile.objs
+++ b/hw/lm32/Makefile.objs
@@ -7,7 +7,6 @@ obj-y += lm32_sys.o
 obj-y += milkymist-ac97.o
 obj-y += milkymist-hpdmc.o
 obj-y += milkymist-memcard.o
-obj-y += milkymist-minimac2.o
 obj-y += milkymist-pfpu.o
 obj-y += milkymist-softusb.o
 obj-y += milkymist-sysctl.o
diff --git a/hw/m68k/Makefile.objs b/hw/m68k/Makefile.objs
index ede32a7..ebbe003 100644
--- a/hw/m68k/Makefile.objs
+++ b/hw/m68k/Makefile.objs
@@ -1,4 +1,4 @@
-obj-y = mcf_uart.o mcf_fec.o
+obj-y = mcf_uart.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/microblaze/Makefile.objs b/hw/microblaze/Makefile.objs
index 9e7f249..75f5ce6 100644
--- a/hw/microblaze/Makefile.objs
+++ b/hw/microblaze/Makefile.objs
@@ -1,5 +1,4 @@
 obj-y += xilinx_spi.o
-obj-y += xilinx_ethlite.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/net/Makefile.objs b/hw/net/Makefile.objs
index 73217d8..951cca3 100644
--- a/hw/net/Makefile.objs
+++ b/hw/net/Makefile.objs
@@ -20,6 +20,14 @@ common-obj-$(CONFIG_MIPSNET) += mipsnet.o
 common-obj-$(CONFIG_XILINX_AXI) += xilinx_axienet.o
 
 common-obj-$(CONFIG_CADENCE) += cadence_gem.o
+common-obj-$(CONFIG_STELLARIS_ENET) += stellaris_enet.o
+common-obj-$(CONFIG_LANCE) += lance.o
+
+obj-$(CONFIG_ETRAXFS) += etraxfs_eth.o
+obj-$(CONFIG_COLDFIRE) += mcf_fec.o
+obj-$(CONFIG_MILKYMIST) += milkymist-minimac2.o
+obj-$(CONFIG_PSERIES) += spapr_llan.o
+obj-$(CONFIG_XILINX_ETHLITE) += xilinx_ethlite.o
 
 obj-$(CONFIG_VIRTIO) += virtio-net.o
 obj-y += vhost_net.o
diff --git a/hw/etraxfs_eth.c b/hw/net/etraxfs_eth.c
similarity index 100%
rename from hw/etraxfs_eth.c
rename to hw/net/etraxfs_eth.c
diff --git a/hw/lance.c b/hw/net/lance.c
similarity index 100%
rename from hw/lance.c
rename to hw/net/lance.c
diff --git a/hw/mcf_fec.c b/hw/net/mcf_fec.c
similarity index 100%
rename from hw/mcf_fec.c
rename to hw/net/mcf_fec.c
diff --git a/hw/milkymist-minimac2.c b/hw/net/milkymist-minimac2.c
similarity index 100%
rename from hw/milkymist-minimac2.c
rename to hw/net/milkymist-minimac2.c
diff --git a/hw/spapr_llan.c b/hw/net/spapr_llan.c
similarity index 100%
rename from hw/spapr_llan.c
rename to hw/net/spapr_llan.c
diff --git a/hw/stellaris_enet.c b/hw/net/stellaris_enet.c
similarity index 100%
rename from hw/stellaris_enet.c
rename to hw/net/stellaris_enet.c
diff --git a/hw/xilinx_ethlite.c b/hw/net/xilinx_ethlite.c
similarity index 100%
rename from hw/xilinx_ethlite.c
rename to hw/net/xilinx_ethlite.c
diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
index b22a6f1..42c7d08 100644
--- a/hw/ppc/Makefile.objs
+++ b/hw/ppc/Makefile.objs
@@ -1,5 +1,5 @@
 # IBM pSeries (sPAPR)
-obj-$(CONFIG_PSERIES) += spapr_vty.o spapr_llan.o spapr_vscsi.o
+obj-$(CONFIG_PSERIES) += spapr_vty.o spapr_vscsi.o
 obj-$(CONFIG_PSERIES) += spapr_pci.o
 obj-$(CONFIG_PSERIES) += spapr_nvram.o
 # PowerPC 4xx boards
@@ -7,9 +7,6 @@ obj-y += ppc4xx_pci.o
 # PowerPC OpenPIC
 obj-y += openpic.o
 
-# Xilinx PPC peripherals
-obj-y += xilinx_ethlite.o
-
 obj-y := $(addprefix ../,$(obj-y))
 
 # shared objects
diff --git a/hw/sparc/Makefile.objs b/hw/sparc/Makefile.objs
index 71bbddf..56eeb90 100644
--- a/hw/sparc/Makefile.objs
+++ b/hw/sparc/Makefile.objs
@@ -1,4 +1,4 @@
-obj-y = lance.o tcx.o sun4m_iommu.o slavio_intctl.o
+obj-y = tcx.o sun4m_iommu.o slavio_intctl.o
 obj-y += slavio_timer.o slavio_misc.o sparc32_dma.o
 obj-y += cs4231.o eccmemctl.o sbi.o sun4c_intctl.o
 
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 13/35] hw: move block devices to hw/block/, configure via default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (11 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 12/35] hw: move NICs to hw/net/, " Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 14/35] hw: move audio devices to hw/audio/, " Paolo Bonzini
                   ` (21 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak    | 1 +
 default-configs/i386-softmmu.mak   | 1 +
 default-configs/sh4-softmmu.mak    | 1 +
 default-configs/sh4eb-softmmu.mak  | 1 +
 default-configs/x86_64-softmmu.mak | 1 +
 hw/arm/Makefile.objs               | 2 +-
 hw/block/Makefile.objs             | 4 ++++
 hw/{ => block}/onenand.c           | 0
 hw/{ => block}/pc_sysfw.c          | 0
 hw/{ => block}/tc58128.c           | 0
 hw/i386/Makefile.objs              | 1 -
 hw/sh4/Makefile.objs               | 1 -
 12 files changed, 10 insertions(+), 3 deletions(-)
 rename hw/{ => block}/onenand.c (100%)
 rename hw/{ => block}/pc_sysfw.c (100%)
 rename hw/{ => block}/tc58128.c (100%)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index cd353bd..7717ea6 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -48,6 +48,7 @@ CONFIG_PL310=y
 CONFIG_PL330=y
 CONFIG_CADENCE=y
 CONFIG_XGMAC=y
+CONFIG_ONENAND=y
 
 CONFIG_VERSATILE_PCI=y
 CONFIG_VERSATILE_I2C=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 2ddf670..4f0b3f3 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -31,3 +31,4 @@ CONFIG_TPM_PASSTHROUGH=y
 CONFIG_PCI_HOTPLUG=y
 CONFIG_MC146818RTC=y
 CONFIG_WDT_IB700=y
+CONFIG_PC_SYSFW=y
diff --git a/default-configs/sh4-softmmu.mak b/default-configs/sh4-softmmu.mak
index bcafc27..20a05f9 100644
--- a/default-configs/sh4-softmmu.mak
+++ b/default-configs/sh4-softmmu.mak
@@ -6,4 +6,5 @@ CONFIG_SERIAL=y
 CONFIG_PTIMER=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_ISA_MMIO=y
+CONFIG_SH4=y
 CONFIG_IDE_MMIO=y
diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/sh4eb-softmmu.mak
index 8372b0d..875e7e6 100644
--- a/default-configs/sh4eb-softmmu.mak
+++ b/default-configs/sh4eb-softmmu.mak
@@ -6,4 +6,5 @@ CONFIG_SERIAL=y
 CONFIG_PTIMER=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_ISA_MMIO=y
+CONFIG_SH4=y
 CONFIG_IDE_MMIO=y
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index 72f9bc7..6fba70f 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -31,3 +31,4 @@ CONFIG_TPM_PASSTHROUGH=y
 CONFIG_PCI_HOTPLUG=y
 CONFIG_MC146818RTC=y
 CONFIG_WDT_IB700=y
+CONFIG_PC_SYSFW=y
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index b14beb8..ede019d 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -17,7 +17,7 @@ obj-y += omap_lcdc.o omap_dma.o omap_clk.o omap_mmc.o omap_i2c.o \
 obj-y += omap_dss.o soc_dma.o omap_gptimer.o omap_synctimer.o \
                 omap_gpmc.o omap_sdrc.o omap_spi.o omap_tap.o omap_l4.o
 obj-y += tsc210x.o
-obj-y += blizzard.o onenand.o cbus.o tusb6010.o
+obj-y += blizzard.o cbus.o tusb6010.o
 obj-y += mst_fpga.o
 obj-y += bitbang_i2c.o marvell_88w8618_audio.o
 obj-y += framebuffer.o
diff --git a/hw/block/Makefile.objs b/hw/block/Makefile.objs
index 856915e..e4329a0 100644
--- a/hw/block/Makefile.objs
+++ b/hw/block/Makefile.objs
@@ -6,6 +6,10 @@ common-obj-$(CONFIG_PFLASH_CFI01) += pflash_cfi01.o
 common-obj-$(CONFIG_PFLASH_CFI02) += pflash_cfi02.o
 common-obj-$(CONFIG_XEN_BACKEND) += xen_disk.o
 common-obj-$(CONFIG_ECC) += ecc.o
+common-obj-$(CONFIG_ONENAND) += onenand.o
+common-obj-$(CONFIG_PC_SYSFW) += pc_sysfw.o
+
+obj-$(CONFIG_SH4) += tc58128.o
 
 obj-$(CONFIG_VIRTIO) += virtio-blk.o
 obj-$(CONFIG_VIRTIO_BLK_DATA_PLANE) += dataplane/
diff --git a/hw/onenand.c b/hw/block/onenand.c
similarity index 100%
rename from hw/onenand.c
rename to hw/block/onenand.c
diff --git a/hw/pc_sysfw.c b/hw/block/pc_sysfw.c
similarity index 100%
rename from hw/pc_sysfw.c
rename to hw/block/pc_sysfw.c
diff --git a/hw/tc58128.c b/hw/block/tc58128.c
similarity index 100%
rename from hw/tc58128.c
rename to hw/block/tc58128.c
diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index 80132d8..6df5fd9 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -2,7 +2,6 @@ obj-y += apic_common.o apic.o
 obj-y += sga.o ioapic_common.o ioapic.o piix_pci.o
 obj-y += vmport.o
 obj-y += debugcon.o debugexit.o
-obj-y += pc_sysfw.o
 obj-y += lpc_ich9.o q35.o
 obj-$(CONFIG_XEN) += xen_platform.o xen_apic.o
 obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen-host-pci-device.o
diff --git a/hw/sh4/Makefile.objs b/hw/sh4/Makefile.objs
index 4f2ac2a..efbb9eb 100644
--- a/hw/sh4/Makefile.objs
+++ b/hw/sh4/Makefile.objs
@@ -1,4 +1,3 @@
-obj-y = tc58128.o
 obj-y += sh_timer.o sh_serial.o sh_intc.o sh_pci.o sm501.o
 
 obj-y := $(addprefix ../,$(obj-y))
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 14/35] hw: move audio devices to hw/audio/, configure via default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (12 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 13/35] hw: move block devices to hw/block/, " Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 15/35] hw: move display devices to hw/display/, " Paolo Bonzini
                   ` (20 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak                         | 1 +
 default-configs/sparc-softmmu.mak                       | 1 +
 hw/arm/Makefile.objs                                    | 2 +-
 hw/audio/Makefile.objs                                  | 4 ++++
 hw/{ => audio}/cs4231.c                                 | 0
 hw/{marvell_88w8618_audio.c => audio/marvell_88w8618.c} | 0
 hw/{ => audio}/milkymist-ac97.c                         | 0
 hw/lm32/Makefile.objs                                   | 1 -
 hw/sparc/Makefile.objs                                  | 2 +-
 9 files changed, 8 insertions(+), 3 deletions(-)
 rename hw/{ => audio}/cs4231.c (100%)
 rename hw/{marvell_88w8618_audio.c => audio/marvell_88w8618.c} (100%)
 rename hw/{ => audio}/milkymist-ac97.c (100%)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 7717ea6..c0e0110 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -48,6 +48,7 @@ CONFIG_PL310=y
 CONFIG_PL330=y
 CONFIG_CADENCE=y
 CONFIG_XGMAC=y
+CONFIG_MARVELL_88W8618=y
 CONFIG_ONENAND=y
 
 CONFIG_VERSATILE_PCI=y
diff --git a/default-configs/sparc-softmmu.mak b/default-configs/sparc-softmmu.mak
index 6d11ba0..eda8797 100644
--- a/default-configs/sparc-softmmu.mak
+++ b/default-configs/sparc-softmmu.mak
@@ -9,3 +9,4 @@ CONFIG_FDC=y
 CONFIG_EMPTY_SLOT=y
 CONFIG_PCNET_COMMON=y
 CONFIG_LANCE=y
+CONFIG_CS4231=y
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index ede019d..6582f5a 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -19,7 +19,7 @@ obj-y += omap_dss.o soc_dma.o omap_gptimer.o omap_synctimer.o \
 obj-y += tsc210x.o
 obj-y += blizzard.o cbus.o tusb6010.o
 obj-y += mst_fpga.o
-obj-y += bitbang_i2c.o marvell_88w8618_audio.o
+obj-y += bitbang_i2c.o
 obj-y += framebuffer.o
 obj-y += strongarm.o
 obj-y += imx_serial.o imx_ccm.o imx_timer.o imx_avic.o
diff --git a/hw/audio/Makefile.objs b/hw/audio/Makefile.objs
index c50c367..2375102 100644
--- a/hw/audio/Makefile.objs
+++ b/hw/audio/Makefile.objs
@@ -13,4 +13,8 @@ common-obj-$(CONFIG_PCSPK) += pcspk.o
 common-obj-$(CONFIG_WM8750) += wm8750.o
 common-obj-$(CONFIG_PL041) += pl041.o lm4549.o
 
+common-obj-$(CONFIG_CS4231) += cs4231.o
+common-obj-$(CONFIG_MARVELL_88W8618) += marvell_88w8618.o
+common-obj-$(CONFIG_MILKYMIST) += milkymist-ac97.o
+
 $(obj)/adlib.o $(obj)/fmopl.o: QEMU_CFLAGS += -DBUILD_Y8950=0
diff --git a/hw/cs4231.c b/hw/audio/cs4231.c
similarity index 100%
rename from hw/cs4231.c
rename to hw/audio/cs4231.c
diff --git a/hw/marvell_88w8618_audio.c b/hw/audio/marvell_88w8618.c
similarity index 100%
rename from hw/marvell_88w8618_audio.c
rename to hw/audio/marvell_88w8618.c
diff --git a/hw/milkymist-ac97.c b/hw/audio/milkymist-ac97.c
similarity index 100%
rename from hw/milkymist-ac97.c
rename to hw/audio/milkymist-ac97.c
diff --git a/hw/lm32/Makefile.objs b/hw/lm32/Makefile.objs
index d72756c..e328ec8 100644
--- a/hw/lm32/Makefile.objs
+++ b/hw/lm32/Makefile.objs
@@ -4,7 +4,6 @@ obj-y += lm32_juart.o
 obj-y += lm32_timer.o
 obj-y += lm32_uart.o
 obj-y += lm32_sys.o
-obj-y += milkymist-ac97.o
 obj-y += milkymist-hpdmc.o
 obj-y += milkymist-memcard.o
 obj-y += milkymist-pfpu.o
diff --git a/hw/sparc/Makefile.objs b/hw/sparc/Makefile.objs
index 56eeb90..b2a921e 100644
--- a/hw/sparc/Makefile.objs
+++ b/hw/sparc/Makefile.objs
@@ -1,6 +1,6 @@
 obj-y = tcx.o sun4m_iommu.o slavio_intctl.o
 obj-y += slavio_timer.o slavio_misc.o sparc32_dma.o
-obj-y += cs4231.o eccmemctl.o sbi.o sun4c_intctl.o
+obj-y += eccmemctl.o sbi.o sun4c_intctl.o
 
 # GRLIB
 obj-y += grlib_gptimer.o grlib_irqmp.o grlib_apbuart.o
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 15/35] hw: move display devices to hw/display/, configure via default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (13 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 14/35] hw: move audio devices to hw/audio/, " Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 16/35] hw: move I2C controllers to hw/i2c/, " Paolo Bonzini
                   ` (19 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak    |  6 ++++++
 default-configs/i386-softmmu.mak   |  1 +
 default-configs/lm32-softmmu.mak   |  1 +
 default-configs/sh4-softmmu.mak    |  1 +
 default-configs/sh4eb-softmmu.mak  |  1 +
 default-configs/sparc-softmmu.mak  |  1 +
 default-configs/x86_64-softmmu.mak |  1 +
 hw/Makefile.objs                   |  5 -----
 hw/arm/Makefile.objs               | 13 ++++++-------
 hw/blizzard_template.h             |  2 +-
 hw/display/Makefile.objs           | 21 +++++++++++++++++++++
 hw/{ => display}/blizzard.c        |  0
 hw/{ => display}/exynos4210_fimd.c |  5 ++---
 hw/{ => display}/framebuffer.c     |  0
 hw/{ => display}/milkymist-tmu2.c  |  0
 hw/{ => display}/milkymist-vgafb.c |  0
 hw/{ => display}/omap_dss.c        |  0
 hw/{ => display}/omap_lcdc.c       |  0
 hw/{ => display}/pxa2xx_lcd.c      |  0
 hw/{ => display}/qxl-logger.c      |  0
 hw/{ => display}/qxl-render.c      |  0
 hw/{ => display}/qxl.c             |  0
 hw/{ => display}/sm501.c           |  0
 hw/{ => display}/tc6393xb.c        |  0
 hw/{ => display}/tcx.c             |  0
 hw/{ => display}/vga.c             |  0
 hw/i386/Makefile.objs              |  1 -
 hw/lm32/Makefile.objs              |  3 ---
 hw/milkymist-vgafb_template.h      |  2 +-
 hw/sh4/Makefile.objs               |  2 +-
 hw/sparc/Makefile.objs             |  2 +-
 31 files changed, 45 insertions(+), 23 deletions(-)
 rename hw/{ => display}/blizzard.c (100%)
 rename hw/{ => display}/exynos4210_fimd.c (99%)
 rename hw/{ => display}/framebuffer.c (100%)
 rename hw/{ => display}/milkymist-tmu2.c (100%)
 rename hw/{ => display}/milkymist-vgafb.c (100%)
 rename hw/{ => display}/omap_dss.c (100%)
 rename hw/{ => display}/omap_lcdc.c (100%)
 rename hw/{ => display}/pxa2xx_lcd.c (100%)
 rename hw/{ => display}/qxl-logger.c (100%)
 rename hw/{ => display}/qxl-render.c (100%)
 rename hw/{ => display}/qxl.c (100%)
 rename hw/{ => display}/sm501.c (100%)
 rename hw/{ => display}/tc6393xb.c (100%)
 rename hw/{ => display}/tcx.c (100%)
 rename hw/{ => display}/vga.c (100%)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index c0e0110..a7dd44a 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -48,8 +48,14 @@ CONFIG_PL310=y
 CONFIG_PL330=y
 CONFIG_CADENCE=y
 CONFIG_XGMAC=y
+CONFIG_EXYNOS4=y
+CONFIG_PXA2XX=y
+CONFIG_FRAMEBUFFER=y
 CONFIG_MARVELL_88W8618=y
+CONFIG_OMAP=y
+CONFIG_BLIZZARD=y
 CONFIG_ONENAND=y
+CONFIG_ZAURUS=y
 
 CONFIG_VERSATILE_PCI=y
 CONFIG_VERSATILE_I2C=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 4f0b3f3..48ed8d4 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -3,6 +3,7 @@
 include pci.mak
 include usb.mak
 CONFIG_VGA=y
+CONFIG_QXL=$(CONFIG_SPICE)
 CONFIG_VGA_PCI=y
 CONFIG_VGA_ISA=y
 CONFIG_VGA_CIRRUS=y
diff --git a/default-configs/lm32-softmmu.mak b/default-configs/lm32-softmmu.mak
index 2654ad6..6b2ee43 100644
--- a/default-configs/lm32-softmmu.mak
+++ b/default-configs/lm32-softmmu.mak
@@ -1,6 +1,7 @@
 # Default configuration for lm32-softmmu
 
 CONFIG_MILKYMIST=y
+CONFIG_FRAMEBUFFER=y
 CONFIG_PTIMER=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_PFLASH_CFI02=y
diff --git a/default-configs/sh4-softmmu.mak b/default-configs/sh4-softmmu.mak
index 20a05f9..f6bf62d 100644
--- a/default-configs/sh4-softmmu.mak
+++ b/default-configs/sh4-softmmu.mak
@@ -8,3 +8,4 @@ CONFIG_PFLASH_CFI02=y
 CONFIG_ISA_MMIO=y
 CONFIG_SH4=y
 CONFIG_IDE_MMIO=y
+CONFIG_SM501=y
diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/sh4eb-softmmu.mak
index 875e7e6..c1d513d 100644
--- a/default-configs/sh4eb-softmmu.mak
+++ b/default-configs/sh4eb-softmmu.mak
@@ -8,3 +8,4 @@ CONFIG_PFLASH_CFI02=y
 CONFIG_ISA_MMIO=y
 CONFIG_SH4=y
 CONFIG_IDE_MMIO=y
+CONFIG_SM501=y
diff --git a/default-configs/sparc-softmmu.mak b/default-configs/sparc-softmmu.mak
index eda8797..25bcbe3 100644
--- a/default-configs/sparc-softmmu.mak
+++ b/default-configs/sparc-softmmu.mak
@@ -9,4 +9,5 @@ CONFIG_FDC=y
 CONFIG_EMPTY_SLOT=y
 CONFIG_PCNET_COMMON=y
 CONFIG_LANCE=y
+CONFIG_TCX=y
 CONFIG_CS4231=y
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index 6fba70f..58b33cf 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -3,6 +3,7 @@
 include pci.mak
 include usb.mak
 CONFIG_VGA=y
+CONFIG_QXL=$(CONFIG_SPICE)
 CONFIG_VGA_PCI=y
 CONFIG_VGA_ISA=y
 CONFIG_VGA_CIRRUS=y
diff --git a/hw/Makefile.objs b/hw/Makefile.objs
index 9dc7596..b2be078 100644
--- a/hw/Makefile.objs
+++ b/hw/Makefile.objs
@@ -31,11 +31,6 @@ obj-y += $(devices-dirs-y)
 
 ifeq ($(CONFIG_SOFTMMU),y)
 
-# Per-target files
-# virtio has to be here due to weird dependency between PCI and virtio-net.
-# need to fix this properly
-obj-$(CONFIG_VGA) += vga.o
-
 # Inter-VM PCI shared memory & VFIO PCI device assignment
 ifeq ($(CONFIG_PCI), y)
 obj-$(CONFIG_KVM) += ivshmem.o
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 6582f5a..3efefe5 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -5,22 +5,21 @@ obj-y += a9scu.o
 obj-y += realview_gic.o arm_sysctl.o arm11mpcore.o a9mpcore.o
 obj-y += exynos4210_gic.o exynos4210_combiner.o
 obj-y += exynos4210_uart.o exynos4210_pwm.o
-obj-y += exynos4210_pmu.o exynos4210_mct.o exynos4210_fimd.o
+obj-y += exynos4210_pmu.o exynos4210_mct.o
 obj-y += exynos4210_rtc.o exynos4210_i2c.o
 obj-y += arm_mptimer.o a15mpcore.o
 obj-y += armv7m_nvic.o
 obj-y += pxa2xx_timer.o pxa2xx_dma.o
-obj-y += pxa2xx_lcd.o pxa2xx_mmci.o pxa2xx_pcmcia.o pxa2xx_keypad.o
-obj-y += zaurus.o tc6393xb.o
-obj-y += omap_lcdc.o omap_dma.o omap_clk.o omap_mmc.o omap_i2c.o \
+obj-y += pxa2xx_mmci.o pxa2xx_pcmcia.o pxa2xx_keypad.o
+obj-y += zaurus.o
+obj-y += omap_dma.o omap_clk.o omap_mmc.o omap_i2c.o \
                 omap_gpio.o omap_intc.o omap_uart.o
-obj-y += omap_dss.o soc_dma.o omap_gptimer.o omap_synctimer.o \
+obj-y += soc_dma.o omap_gptimer.o omap_synctimer.o \
                 omap_gpmc.o omap_sdrc.o omap_spi.o omap_tap.o omap_l4.o
 obj-y += tsc210x.o
-obj-y += blizzard.o cbus.o tusb6010.o
+obj-y += cbus.o tusb6010.o
 obj-y += mst_fpga.o
 obj-y += bitbang_i2c.o
-obj-y += framebuffer.o
 obj-y += strongarm.o
 obj-y += imx_serial.o imx_ccm.o imx_timer.o imx_avic.o
 obj-$(CONFIG_KVM) += kvm/arm_gic.o
diff --git a/hw/blizzard_template.h b/hw/blizzard_template.h
index 42f4e90..a8a8899 100644
--- a/hw/blizzard_template.h
+++ b/hw/blizzard_template.h
@@ -55,7 +55,7 @@ static void glue(blizzard_draw_line16_, DEPTH)(PIXEL_TYPE *dest,
     unsigned int r, g, b;
     const uint16_t *end = (const void *) src + width;
     while (src < end) {
-        data = lduw_raw(src ++);
+        data = *src ++;
         b = (data & 0x1f) << 3;
         data >>= 5;
         g = (data & 0x3f) << 2;
diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
index 3ac154d..3f7027d 100644
--- a/hw/display/Makefile.objs
+++ b/hw/display/Makefile.objs
@@ -11,3 +11,24 @@ common-obj-$(CONFIG_VGA_PCI) += vga-pci.o
 common-obj-$(CONFIG_VGA_ISA) += vga-isa.o
 common-obj-$(CONFIG_VGA_ISA_MM) += vga-isa-mm.o
 common-obj-$(CONFIG_VMWARE_VGA) += vmware_vga.o
+
+common-obj-$(CONFIG_BLIZZARD) += blizzard.o
+common-obj-$(CONFIG_EXYNOS4) += exynos4210_fimd.o
+common-obj-$(CONFIG_FRAMEBUFFER) += framebuffer.o
+common-obj-$(CONFIG_MILKYMIST) += milkymist-vgafb.o
+common-obj-$(CONFIG_ZAURUS) += tc6393xb.o
+
+ifeq ($(CONFIG_GLX),y)
+common-obj-$(CONFIG_MILKYMIST) += milkymist-tmu2.o
+endif
+
+obj-$(CONFIG_OMAP) += omap_dss.o
+obj-$(CONFIG_OMAP) += omap_lcdc.o
+obj-$(CONFIG_PXA2XX) += pxa2xx_lcd.o
+obj-$(CONFIG_SM501) += sm501.o
+obj-$(CONFIG_TCX) += tcx.o
+
+obj-$(CONFIG_VGA) += vga.o
+
+common-obj-$(CONFIG_QXL) += qxl-logger.o qxl-render.o
+obj-$(CONFIG_QXL) += qxl.o
diff --git a/hw/blizzard.c b/hw/display/blizzard.c
similarity index 100%
rename from hw/blizzard.c
rename to hw/display/blizzard.c
diff --git a/hw/exynos4210_fimd.c b/hw/display/exynos4210_fimd.c
similarity index 99%
rename from hw/exynos4210_fimd.c
rename to hw/display/exynos4210_fimd.c
index bf316c6..49cca4b 100644
--- a/hw/exynos4210_fimd.c
+++ b/hw/display/exynos4210_fimd.c
@@ -23,7 +23,6 @@
  */
 
 #include "qemu-common.h"
-#include "exec/cpu-all.h"
 #include "hw/sysbus.h"
 #include "ui/console.h"
 #include "ui/pixel_ops.h"
@@ -783,7 +782,7 @@ static void glue(draw_line_palette_, N)(Exynos4210fimdWindow *w, uint8_t *src, \
     rgba p, p_old; \
     int i; \
     do { \
-        data = ldq_raw((void *)src); \
+        memcpy(&data, src, sizeof(data)); \
         src += 8; \
         fimd_swap_data(swap, &data); \
         for (i = (64 / (N) - 1); i >= 0; i--) { \
@@ -812,7 +811,7 @@ static void glue(draw_line_, N)(Exynos4210fimdWindow *w, uint8_t *src, \
     rgba p, p_old; \
     int i; \
     do { \
-        data = ldq_raw((void *)src); \
+        memcpy(&data, src, sizeof(data)); \
         src += 8; \
         fimd_swap_data(swap, &data); \
         for (i = (64 / (N) - 1); i >= 0; i--) { \
diff --git a/hw/framebuffer.c b/hw/display/framebuffer.c
similarity index 100%
rename from hw/framebuffer.c
rename to hw/display/framebuffer.c
diff --git a/hw/milkymist-tmu2.c b/hw/display/milkymist-tmu2.c
similarity index 100%
rename from hw/milkymist-tmu2.c
rename to hw/display/milkymist-tmu2.c
diff --git a/hw/milkymist-vgafb.c b/hw/display/milkymist-vgafb.c
similarity index 100%
rename from hw/milkymist-vgafb.c
rename to hw/display/milkymist-vgafb.c
diff --git a/hw/omap_dss.c b/hw/display/omap_dss.c
similarity index 100%
rename from hw/omap_dss.c
rename to hw/display/omap_dss.c
diff --git a/hw/omap_lcdc.c b/hw/display/omap_lcdc.c
similarity index 100%
rename from hw/omap_lcdc.c
rename to hw/display/omap_lcdc.c
diff --git a/hw/pxa2xx_lcd.c b/hw/display/pxa2xx_lcd.c
similarity index 100%
rename from hw/pxa2xx_lcd.c
rename to hw/display/pxa2xx_lcd.c
diff --git a/hw/qxl-logger.c b/hw/display/qxl-logger.c
similarity index 100%
rename from hw/qxl-logger.c
rename to hw/display/qxl-logger.c
diff --git a/hw/qxl-render.c b/hw/display/qxl-render.c
similarity index 100%
rename from hw/qxl-render.c
rename to hw/display/qxl-render.c
diff --git a/hw/qxl.c b/hw/display/qxl.c
similarity index 100%
rename from hw/qxl.c
rename to hw/display/qxl.c
diff --git a/hw/sm501.c b/hw/display/sm501.c
similarity index 100%
rename from hw/sm501.c
rename to hw/display/sm501.c
diff --git a/hw/tc6393xb.c b/hw/display/tc6393xb.c
similarity index 100%
rename from hw/tc6393xb.c
rename to hw/display/tc6393xb.c
diff --git a/hw/tcx.c b/hw/display/tcx.c
similarity index 100%
rename from hw/tcx.c
rename to hw/display/tcx.c
diff --git a/hw/vga.c b/hw/display/vga.c
similarity index 100%
rename from hw/vga.c
rename to hw/display/vga.c
diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index 6df5fd9..fe01234 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -7,7 +7,6 @@ obj-$(CONFIG_XEN) += xen_platform.o xen_apic.o
 obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen-host-pci-device.o
 obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen_pt.o xen_pt_config_init.o xen_pt_msi.o
 obj-y += kvm/
-obj-$(CONFIG_SPICE) += qxl.o qxl-logger.o qxl-render.o
 obj-y += pc-testdev.o
 
 obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/lm32/Makefile.objs b/hw/lm32/Makefile.objs
index e328ec8..a894c46 100644
--- a/hw/lm32/Makefile.objs
+++ b/hw/lm32/Makefile.objs
@@ -9,10 +9,7 @@ obj-y += milkymist-memcard.o
 obj-y += milkymist-pfpu.o
 obj-y += milkymist-softusb.o
 obj-y += milkymist-sysctl.o
-obj-$(CONFIG_GLX) += milkymist-tmu2.o
 obj-y += milkymist-uart.o
-obj-y += milkymist-vgafb.o
-obj-y += framebuffer.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/milkymist-vgafb_template.h b/hw/milkymist-vgafb_template.h
index 1d33ee8..e0036e1 100644
--- a/hw/milkymist-vgafb_template.h
+++ b/hw/milkymist-vgafb_template.h
@@ -61,7 +61,7 @@ static void glue(draw_line_, BITS)(void *opaque, uint8_t *d, const uint8_t *s,
     uint8_t r, g, b;
 
     while (width--) {
-        rgb565 = lduw_raw(s);
+        memcpy(&rgb565, s, sizeof(rgb565));
         r = ((rgb565 >> 11) & 0x1f) << 3;
         g = ((rgb565 >>  5) & 0x3f) << 2;
         b = ((rgb565 >>  0) & 0x1f) << 3;
diff --git a/hw/sh4/Makefile.objs b/hw/sh4/Makefile.objs
index efbb9eb..c9b0416 100644
--- a/hw/sh4/Makefile.objs
+++ b/hw/sh4/Makefile.objs
@@ -1,4 +1,4 @@
-obj-y += sh_timer.o sh_serial.o sh_intc.o sh_pci.o sm501.o
+obj-y += sh_timer.o sh_serial.o sh_intc.o sh_pci.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/sparc/Makefile.objs b/hw/sparc/Makefile.objs
index b2a921e..2354616 100644
--- a/hw/sparc/Makefile.objs
+++ b/hw/sparc/Makefile.objs
@@ -1,4 +1,4 @@
-obj-y = tcx.o sun4m_iommu.o slavio_intctl.o
+obj-y = sun4m_iommu.o slavio_intctl.o
 obj-y += slavio_timer.o slavio_misc.o sparc32_dma.o
 obj-y += eccmemctl.o sbi.o sun4c_intctl.o
 
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 16/35] hw: move I2C controllers to hw/i2c/, configure via default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (14 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 15/35] hw: move display devices to hw/display/, " Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 17/35] hw: move SSI controllers to hw/ssi/, " Paolo Bonzini
                   ` (18 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak | 1 +
 hw/arm/Makefile.objs            | 5 ++---
 hw/i2c/Makefile.objs            | 3 +++
 hw/{ => i2c}/bitbang_i2c.c      | 0
 hw/{ => i2c}/exynos4210_i2c.c   | 0
 hw/{ => i2c}/omap_i2c.c         | 0
 6 files changed, 6 insertions(+), 3 deletions(-)
 rename hw/{ => i2c}/bitbang_i2c.c (100%)
 rename hw/{ => i2c}/exynos4210_i2c.c (100%)
 rename hw/{ => i2c}/omap_i2c.c (100%)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index a7dd44a..24b0d41 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -50,6 +50,7 @@ CONFIG_CADENCE=y
 CONFIG_XGMAC=y
 CONFIG_EXYNOS4=y
 CONFIG_PXA2XX=y
+CONFIG_BITBANG_I2C=y
 CONFIG_FRAMEBUFFER=y
 CONFIG_MARVELL_88W8618=y
 CONFIG_OMAP=y
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 3efefe5..45bde58 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -6,20 +6,19 @@ obj-y += realview_gic.o arm_sysctl.o arm11mpcore.o a9mpcore.o
 obj-y += exynos4210_gic.o exynos4210_combiner.o
 obj-y += exynos4210_uart.o exynos4210_pwm.o
 obj-y += exynos4210_pmu.o exynos4210_mct.o
-obj-y += exynos4210_rtc.o exynos4210_i2c.o
+obj-y += exynos4210_rtc.o
 obj-y += arm_mptimer.o a15mpcore.o
 obj-y += armv7m_nvic.o
 obj-y += pxa2xx_timer.o pxa2xx_dma.o
 obj-y += pxa2xx_mmci.o pxa2xx_pcmcia.o pxa2xx_keypad.o
 obj-y += zaurus.o
-obj-y += omap_dma.o omap_clk.o omap_mmc.o omap_i2c.o \
+obj-y += omap_dma.o omap_clk.o omap_mmc.o \
                 omap_gpio.o omap_intc.o omap_uart.o
 obj-y += soc_dma.o omap_gptimer.o omap_synctimer.o \
                 omap_gpmc.o omap_sdrc.o omap_spi.o omap_tap.o omap_l4.o
 obj-y += tsc210x.o
 obj-y += cbus.o tusb6010.o
 obj-y += mst_fpga.o
-obj-y += bitbang_i2c.o
 obj-y += strongarm.o
 obj-y += imx_serial.o imx_ccm.o imx_timer.o imx_avic.o
 obj-$(CONFIG_KVM) += kvm/arm_gic.o
diff --git a/hw/i2c/Makefile.objs b/hw/i2c/Makefile.objs
index f6bd8fa..648278e 100644
--- a/hw/i2c/Makefile.objs
+++ b/hw/i2c/Makefile.objs
@@ -2,3 +2,6 @@ common-obj-y += core.o smbus.o smbus_eeprom.o
 common-obj-$(CONFIG_VERSATILE_I2C) += versatile_i2c.o
 common-obj-$(CONFIG_ACPI) += smbus_ich9.o
 common-obj-$(CONFIG_APM) += pm_smbus.o
+common-obj-$(CONFIG_BITBANG_I2C) += bitbang_i2c.o
+common-obj-$(CONFIG_EXYNOS4) += exynos4210_i2c.o
+obj-$(CONFIG_OMAP) += omap_i2c.o
diff --git a/hw/bitbang_i2c.c b/hw/i2c/bitbang_i2c.c
similarity index 100%
rename from hw/bitbang_i2c.c
rename to hw/i2c/bitbang_i2c.c
diff --git a/hw/exynos4210_i2c.c b/hw/i2c/exynos4210_i2c.c
similarity index 100%
rename from hw/exynos4210_i2c.c
rename to hw/i2c/exynos4210_i2c.c
diff --git a/hw/omap_i2c.c b/hw/i2c/omap_i2c.c
similarity index 100%
rename from hw/omap_i2c.c
rename to hw/i2c/omap_i2c.c
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 17/35] hw: move SSI controllers to hw/ssi/, configure via default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (15 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 16/35] hw: move I2C controllers to hw/i2c/, " Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 18/35] hw: move SCSI controllers to hw/scsi/, " Paolo Bonzini
                   ` (17 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak          | 1 +
 default-configs/microblaze-softmmu.mak   | 1 +
 default-configs/microblazeel-softmmu.mak | 1 +
 hw/arm/Makefile.objs                     | 3 +--
 hw/microblaze/Makefile.objs              | 4 ----
 hw/ssi/Makefile.objs                     | 4 ++++
 hw/{ => ssi}/omap_spi.c                  | 0
 hw/{ => ssi}/xilinx_spi.c                | 0
 hw/{ => ssi}/xilinx_spips.c              | 0
 9 files changed, 8 insertions(+), 6 deletions(-)
 rename hw/{ => ssi}/omap_spi.c (100%)
 rename hw/{ => ssi}/xilinx_spi.c (100%)
 rename hw/{ => ssi}/xilinx_spips.c (100%)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 24b0d41..8eb04e2 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -52,6 +52,7 @@ CONFIG_EXYNOS4=y
 CONFIG_PXA2XX=y
 CONFIG_BITBANG_I2C=y
 CONFIG_FRAMEBUFFER=y
+CONFIG_XILINX_SPIPS=y
 CONFIG_MARVELL_88W8618=y
 CONFIG_OMAP=y
 CONFIG_BLIZZARD=y
diff --git a/default-configs/microblaze-softmmu.mak b/default-configs/microblaze-softmmu.mak
index 050e273..ce26308 100644
--- a/default-configs/microblaze-softmmu.mak
+++ b/default-configs/microblaze-softmmu.mak
@@ -5,6 +5,7 @@ CONFIG_PFLASH_CFI01=y
 CONFIG_SERIAL=y
 CONFIG_XILINX=y
 CONFIG_XILINX_AXI=y
+CONFIG_XILINX_SPI=y
 CONFIG_XILINX_ETHLITE=y
 CONFIG_SSI=y
 CONFIG_SSI_M25P80=y
diff --git a/default-configs/microblazeel-softmmu.mak b/default-configs/microblazeel-softmmu.mak
index db82dd8..acf22c5 100644
--- a/default-configs/microblazeel-softmmu.mak
+++ b/default-configs/microblazeel-softmmu.mak
@@ -5,6 +5,7 @@ CONFIG_PFLASH_CFI01=y
 CONFIG_SERIAL=y
 CONFIG_XILINX=y
 CONFIG_XILINX_AXI=y
+CONFIG_XILINX_SPI=y
 CONFIG_XILINX_ETHLITE=y
 CONFIG_SSI=y
 CONFIG_SSI_M25P80=y
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 45bde58..6f764e6 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -1,5 +1,4 @@
 obj-y += zynq_slcr.o
-obj-y += xilinx_spips.o
 obj-y += arm_gic.o arm_gic_common.o
 obj-y += a9scu.o
 obj-y += realview_gic.o arm_sysctl.o arm11mpcore.o a9mpcore.o
@@ -15,7 +14,7 @@ obj-y += zaurus.o
 obj-y += omap_dma.o omap_clk.o omap_mmc.o \
                 omap_gpio.o omap_intc.o omap_uart.o
 obj-y += soc_dma.o omap_gptimer.o omap_synctimer.o \
-                omap_gpmc.o omap_sdrc.o omap_spi.o omap_tap.o omap_l4.o
+                omap_gpmc.o omap_sdrc.o omap_tap.o omap_l4.o
 obj-y += tsc210x.o
 obj-y += cbus.o tusb6010.o
 obj-y += mst_fpga.o
diff --git a/hw/microblaze/Makefile.objs b/hw/microblaze/Makefile.objs
index 75f5ce6..c65e2aa 100644
--- a/hw/microblaze/Makefile.objs
+++ b/hw/microblaze/Makefile.objs
@@ -1,7 +1,3 @@
-obj-y += xilinx_spi.o
-
-obj-y := $(addprefix ../,$(obj-y))
-
 obj-y += petalogix_s3adsp1800_mmu.o
 obj-y += petalogix_ml605_mmu.o
 obj-y += boot.o
diff --git a/hw/ssi/Makefile.objs b/hw/ssi/Makefile.objs
index daada5c..9555825 100644
--- a/hw/ssi/Makefile.objs
+++ b/hw/ssi/Makefile.objs
@@ -1,2 +1,6 @@
 common-obj-$(CONFIG_PL022) += pl022.o
 common-obj-$(CONFIG_SSI) += ssi.o
+common-obj-$(CONFIG_XILINX_SPI) += xilinx_spi.o
+common-obj-$(CONFIG_XILINX_SPIPS) += xilinx_spips.o
+
+obj-$(CONFIG_OMAP) += omap_spi.o
diff --git a/hw/omap_spi.c b/hw/ssi/omap_spi.c
similarity index 100%
rename from hw/omap_spi.c
rename to hw/ssi/omap_spi.c
diff --git a/hw/xilinx_spi.c b/hw/ssi/xilinx_spi.c
similarity index 100%
rename from hw/xilinx_spi.c
rename to hw/ssi/xilinx_spi.c
diff --git a/hw/xilinx_spips.c b/hw/ssi/xilinx_spips.c
similarity index 100%
rename from hw/xilinx_spips.c
rename to hw/ssi/xilinx_spips.c
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 18/35] hw: move SCSI controllers to hw/scsi/, configure via default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (16 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 17/35] hw: move SSI controllers to hw/ssi/, " Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 19/35] hw: move more files to hw/xen/ Paolo Bonzini
                   ` (16 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/ppc/Makefile.objs        | 2 +-
 hw/scsi/Makefile.objs       | 1 +
 hw/{ => scsi}/spapr_vscsi.c | 0
 3 files changed, 2 insertions(+), 1 deletion(-)
 rename hw/{ => scsi}/spapr_vscsi.c (100%)

diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
index 42c7d08..2d51ae9 100644
--- a/hw/ppc/Makefile.objs
+++ b/hw/ppc/Makefile.objs
@@ -1,5 +1,5 @@
 # IBM pSeries (sPAPR)
-obj-$(CONFIG_PSERIES) += spapr_vty.o spapr_vscsi.o
+obj-$(CONFIG_PSERIES) += spapr_vty.o
 obj-$(CONFIG_PSERIES) += spapr_pci.o
 obj-$(CONFIG_PSERIES) += spapr_nvram.o
 # PowerPC 4xx boards
diff --git a/hw/scsi/Makefile.objs b/hw/scsi/Makefile.objs
index b76b9c3..aab0e9b 100644
--- a/hw/scsi/Makefile.objs
+++ b/hw/scsi/Makefile.objs
@@ -4,4 +4,5 @@ common-obj-$(CONFIG_LSI_SCSI_PCI) += lsi53c895a.o
 common-obj-$(CONFIG_MEGASAS_SCSI_PCI) += megasas.o
 common-obj-$(CONFIG_ESP) += esp.o
 common-obj-$(CONFIG_ESP_PCI) += esp-pci.o
+obj-$(CONFIG_PSERIES) += spapr_vscsi.o
 obj-$(CONFIG_VIRTIO) += virtio-scsi.o
diff --git a/hw/spapr_vscsi.c b/hw/scsi/spapr_vscsi.c
similarity index 100%
rename from hw/spapr_vscsi.c
rename to hw/scsi/spapr_vscsi.c
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 19/35] hw: move more files to hw/xen/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (17 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 18/35] hw: move SCSI controllers to hw/scsi/, " Paolo Bonzini
@ 2013-04-04 19:22 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 20/35] hw: move char devices to hw/char/, configure via default-configs/ Paolo Bonzini
                   ` (15 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:22 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/i386-softmmu.mak   | 1 +
 default-configs/x86_64-softmmu.mak | 1 +
 hw/i386/Makefile.objs              | 3 ---
 hw/xen/Makefile.objs               | 4 ++++
 hw/{ => xen}/xen-host-pci-device.c | 0
 hw/{ => xen}/xen_apic.c            | 0
 hw/{ => xen}/xen_platform.c        | 0
 hw/{ => xen}/xen_pt.c              | 0
 hw/{ => xen}/xen_pt_config_init.c  | 0
 hw/{ => xen}/xen_pt_msi.c          | 0
 10 files changed, 6 insertions(+), 3 deletions(-)
 rename hw/{ => xen}/xen-host-pci-device.c (100%)
 rename hw/{ => xen}/xen_apic.c (100%)
 rename hw/{ => xen}/xen_platform.c (100%)
 rename hw/{ => xen}/xen_pt.c (100%)
 rename hw/{ => xen}/xen_pt_config_init.c (100%)
 rename hw/{ => xen}/xen_pt_msi.c (100%)

diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 48ed8d4..89aaff5 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -33,3 +33,4 @@ CONFIG_PCI_HOTPLUG=y
 CONFIG_MC146818RTC=y
 CONFIG_WDT_IB700=y
 CONFIG_PC_SYSFW=y
+CONFIG_XEN_I386=$(CONFIG_XEN)
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index 58b33cf..c34f8f8 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -33,3 +33,4 @@ CONFIG_PCI_HOTPLUG=y
 CONFIG_MC146818RTC=y
 CONFIG_WDT_IB700=y
 CONFIG_PC_SYSFW=y
+CONFIG_XEN_I386=$(CONFIG_XEN)
diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index fe01234..c85bb3d 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -3,9 +3,6 @@ obj-y += sga.o ioapic_common.o ioapic.o piix_pci.o
 obj-y += vmport.o
 obj-y += debugcon.o debugexit.o
 obj-y += lpc_ich9.o q35.o
-obj-$(CONFIG_XEN) += xen_platform.o xen_apic.o
-obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen-host-pci-device.o
-obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen_pt.o xen_pt_config_init.o xen_pt_msi.o
 obj-y += kvm/
 obj-y += pc-testdev.o
 
diff --git a/hw/xen/Makefile.objs b/hw/xen/Makefile.objs
index 4b209a7..2017560 100644
--- a/hw/xen/Makefile.objs
+++ b/hw/xen/Makefile.objs
@@ -1,2 +1,6 @@
 # xen backend driver support
 common-obj-$(CONFIG_XEN_BACKEND) += xen_backend.o xen_devconfig.o
+
+obj-$(CONFIG_XEN_I386) += xen_platform.o xen_apic.o
+obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen-host-pci-device.o
+obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen_pt.o xen_pt_config_init.o xen_pt_msi.o
diff --git a/hw/xen-host-pci-device.c b/hw/xen/xen-host-pci-device.c
similarity index 100%
rename from hw/xen-host-pci-device.c
rename to hw/xen/xen-host-pci-device.c
diff --git a/hw/xen_apic.c b/hw/xen/xen_apic.c
similarity index 100%
rename from hw/xen_apic.c
rename to hw/xen/xen_apic.c
diff --git a/hw/xen_platform.c b/hw/xen/xen_platform.c
similarity index 100%
rename from hw/xen_platform.c
rename to hw/xen/xen_platform.c
diff --git a/hw/xen_pt.c b/hw/xen/xen_pt.c
similarity index 100%
rename from hw/xen_pt.c
rename to hw/xen/xen_pt.c
diff --git a/hw/xen_pt_config_init.c b/hw/xen/xen_pt_config_init.c
similarity index 100%
rename from hw/xen_pt_config_init.c
rename to hw/xen/xen_pt_config_init.c
diff --git a/hw/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
similarity index 100%
rename from hw/xen_pt_msi.c
rename to hw/xen/xen_pt_msi.c
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 20/35] hw: move char devices to hw/char/, configure via default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (18 preceding siblings ...)
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 19/35] hw: move more files to hw/xen/ Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 21/35] hw: move ISA bridges and devices to hw/isa/, configure with default-configs/ Paolo Bonzini
                   ` (14 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak    |  1 +
 default-configs/i386-softmmu.mak   |  1 +
 default-configs/lm32-softmmu.mak   |  1 +
 default-configs/s390x-softmmu.mak  |  1 +
 default-configs/sparc-softmmu.mak  |  1 +
 default-configs/x86_64-softmmu.mak |  1 +
 hw/arm/Makefile.objs               |  6 +++---
 hw/char/Makefile.objs              | 15 +++++++++++++++
 hw/{ => char}/debugcon.c           |  0
 hw/{ => char}/etraxfs_ser.c        |  2 --
 hw/{ => char}/exynos4210_uart.c    |  0
 hw/{ => char}/grlib_apbuart.c      |  0
 hw/{ => char}/imx_serial.c         |  0
 hw/{ => char}/lm32_juart.c         |  0
 hw/{ => char}/lm32_uart.c          |  0
 hw/{ => char}/mcf_uart.c           |  0
 hw/{ => char}/milkymist-uart.c     |  0
 hw/{ => char}/omap_uart.c          |  0
 hw/{s390x => char}/sclpconsole.c   |  2 +-
 hw/{ => char}/sh_serial.c          |  0
 hw/{ => char}/spapr_vty.c          |  0
 hw/cris/Makefile.objs              |  1 -
 hw/i386/Makefile.objs              |  2 +-
 hw/lm32/Makefile.objs              |  3 ---
 hw/m68k/Makefile.objs              |  4 ----
 hw/ppc/Makefile.objs               |  1 -
 hw/s390x/Makefile.objs             |  2 +-
 hw/sh4/Makefile.objs               |  2 +-
 hw/sparc/Makefile.objs             |  2 +-
 29 files changed, 29 insertions(+), 19 deletions(-)
 rename hw/{ => char}/debugcon.c (100%)
 rename hw/{ => char}/etraxfs_ser.c (98%)
 rename hw/{ => char}/exynos4210_uart.c (100%)
 rename hw/{ => char}/grlib_apbuart.c (100%)
 rename hw/{ => char}/imx_serial.c (100%)
 rename hw/{ => char}/lm32_juart.c (100%)
 rename hw/{ => char}/lm32_uart.c (100%)
 rename hw/{ => char}/mcf_uart.c (100%)
 rename hw/{ => char}/milkymist-uart.c (100%)
 rename hw/{ => char}/omap_uart.c (100%)
 rename hw/{s390x => char}/sclpconsole.c (99%)
 rename hw/{ => char}/sh_serial.c (100%)
 rename hw/{ => char}/spapr_vty.c (100%)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 8eb04e2..8da5ec8 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -57,6 +57,7 @@ CONFIG_MARVELL_88W8618=y
 CONFIG_OMAP=y
 CONFIG_BLIZZARD=y
 CONFIG_ONENAND=y
+CONFIG_IMX=y
 CONFIG_ZAURUS=y
 
 CONFIG_VERSATILE_PCI=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 89aaff5..9d852ff 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -34,3 +34,4 @@ CONFIG_MC146818RTC=y
 CONFIG_WDT_IB700=y
 CONFIG_PC_SYSFW=y
 CONFIG_XEN_I386=$(CONFIG_XEN)
+CONFIG_ISA_DEBUG=y
diff --git a/default-configs/lm32-softmmu.mak b/default-configs/lm32-softmmu.mak
index 6b2ee43..ef0f4ba 100644
--- a/default-configs/lm32-softmmu.mak
+++ b/default-configs/lm32-softmmu.mak
@@ -1,5 +1,6 @@
 # Default configuration for lm32-softmmu
 
+CONFIG_LM32=y
 CONFIG_MILKYMIST=y
 CONFIG_FRAMEBUFFER=y
 CONFIG_PTIMER=y
diff --git a/default-configs/s390x-softmmu.mak b/default-configs/s390x-softmmu.mak
index 3005729..81fbc68 100644
--- a/default-configs/s390x-softmmu.mak
+++ b/default-configs/s390x-softmmu.mak
@@ -1 +1,2 @@
 CONFIG_VIRTIO=y
+CONFIG_SCLPCONSOLE=y
diff --git a/default-configs/sparc-softmmu.mak b/default-configs/sparc-softmmu.mak
index 25bcbe3..da5b02d 100644
--- a/default-configs/sparc-softmmu.mak
+++ b/default-configs/sparc-softmmu.mak
@@ -11,3 +11,4 @@ CONFIG_PCNET_COMMON=y
 CONFIG_LANCE=y
 CONFIG_TCX=y
 CONFIG_CS4231=y
+CONFIG_GRLIB=y
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index c34f8f8..760d51e 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -34,3 +34,4 @@ CONFIG_MC146818RTC=y
 CONFIG_WDT_IB700=y
 CONFIG_PC_SYSFW=y
 CONFIG_XEN_I386=$(CONFIG_XEN)
+CONFIG_ISA_DEBUG=y
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 6f764e6..26e107f 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -3,7 +3,7 @@ obj-y += arm_gic.o arm_gic_common.o
 obj-y += a9scu.o
 obj-y += realview_gic.o arm_sysctl.o arm11mpcore.o a9mpcore.o
 obj-y += exynos4210_gic.o exynos4210_combiner.o
-obj-y += exynos4210_uart.o exynos4210_pwm.o
+obj-y += exynos4210_pwm.o
 obj-y += exynos4210_pmu.o exynos4210_mct.o
 obj-y += exynos4210_rtc.o
 obj-y += arm_mptimer.o a15mpcore.o
@@ -12,14 +12,14 @@ obj-y += pxa2xx_timer.o pxa2xx_dma.o
 obj-y += pxa2xx_mmci.o pxa2xx_pcmcia.o pxa2xx_keypad.o
 obj-y += zaurus.o
 obj-y += omap_dma.o omap_clk.o omap_mmc.o \
-                omap_gpio.o omap_intc.o omap_uart.o
+                omap_gpio.o omap_intc.o
 obj-y += soc_dma.o omap_gptimer.o omap_synctimer.o \
                 omap_gpmc.o omap_sdrc.o omap_tap.o omap_l4.o
 obj-y += tsc210x.o
 obj-y += cbus.o tusb6010.o
 obj-y += mst_fpga.o
 obj-y += strongarm.o
-obj-y += imx_serial.o imx_ccm.o imx_timer.o imx_avic.o
+obj-y += imx_ccm.o imx_timer.o imx_avic.o
 obj-$(CONFIG_KVM) += kvm/arm_gic.o
 
 obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/char/Makefile.objs b/hw/char/Makefile.objs
index ddfd3ec..f8f3dbc 100644
--- a/hw/char/Makefile.objs
+++ b/hw/char/Makefile.objs
@@ -9,4 +9,19 @@ common-obj-$(CONFIG_XILINX) += xilinx_uartlite.o
 common-obj-$(CONFIG_XEN_BACKEND) += xen_console.o
 common-obj-$(CONFIG_CADENCE) += cadence_uart.o
 
+obj-$(CONFIG_EXYNOS4) += exynos4210_uart.o
+obj-$(CONFIG_COLDFIRE) += mcf_uart.o
+obj-$(CONFIG_OMAP) += omap_uart.o
+obj-$(CONFIG_SH4) += sh_serial.o
+obj-$(CONFIG_PSERIES) += spapr_vty.o
+
+common-obj-$(CONFIG_ETRAXFS) += etraxfs_ser.o
+common-obj-$(CONFIG_ISA_DEBUG) += debugcon.o
+common-obj-$(CONFIG_GRLIB) += grlib_apbuart.o
+common-obj-$(CONFIG_IMX) += imx_serial.o
+common-obj-$(CONFIG_LM32) += lm32_juart.o
+common-obj-$(CONFIG_LM32) += lm32_uart.o
+common-obj-$(CONFIG_MILKYMIST) += milkymist-uart.o
+common-obj-$(CONFIG_SCLPCONSOLE) += sclpconsole.o
+
 obj-$(CONFIG_VIRTIO) += virtio-serial-bus.o
diff --git a/hw/debugcon.c b/hw/char/debugcon.c
similarity index 100%
rename from hw/debugcon.c
rename to hw/char/debugcon.c
diff --git a/hw/etraxfs_ser.c b/hw/char/etraxfs_ser.c
similarity index 98%
rename from hw/etraxfs_ser.c
rename to hw/char/etraxfs_ser.c
index 7e24d34..b7499d7 100644
--- a/hw/etraxfs_ser.c
+++ b/hw/char/etraxfs_ser.c
@@ -78,7 +78,6 @@ static uint64_t
 ser_read(void *opaque, hwaddr addr, unsigned int size)
 {
     struct etrax_serial *s = opaque;
-    D(CPUCRISState *env = s->env);
     uint32_t r = 0;
 
     addr >>= 2;
@@ -116,7 +115,6 @@ ser_write(void *opaque, hwaddr addr,
     struct etrax_serial *s = opaque;
     uint32_t value = val64;
     unsigned char ch = val64;
-    D(CPUCRISState *env = s->env);
 
     D(qemu_log("%s " TARGET_FMT_plx "=%x\n",  __func__, addr, value));
     addr >>= 2;
diff --git a/hw/exynos4210_uart.c b/hw/char/exynos4210_uart.c
similarity index 100%
rename from hw/exynos4210_uart.c
rename to hw/char/exynos4210_uart.c
diff --git a/hw/grlib_apbuart.c b/hw/char/grlib_apbuart.c
similarity index 100%
rename from hw/grlib_apbuart.c
rename to hw/char/grlib_apbuart.c
diff --git a/hw/imx_serial.c b/hw/char/imx_serial.c
similarity index 100%
rename from hw/imx_serial.c
rename to hw/char/imx_serial.c
diff --git a/hw/lm32_juart.c b/hw/char/lm32_juart.c
similarity index 100%
rename from hw/lm32_juart.c
rename to hw/char/lm32_juart.c
diff --git a/hw/lm32_uart.c b/hw/char/lm32_uart.c
similarity index 100%
rename from hw/lm32_uart.c
rename to hw/char/lm32_uart.c
diff --git a/hw/mcf_uart.c b/hw/char/mcf_uart.c
similarity index 100%
rename from hw/mcf_uart.c
rename to hw/char/mcf_uart.c
diff --git a/hw/milkymist-uart.c b/hw/char/milkymist-uart.c
similarity index 100%
rename from hw/milkymist-uart.c
rename to hw/char/milkymist-uart.c
diff --git a/hw/omap_uart.c b/hw/char/omap_uart.c
similarity index 100%
rename from hw/omap_uart.c
rename to hw/char/omap_uart.c
diff --git a/hw/s390x/sclpconsole.c b/hw/char/sclpconsole.c
similarity index 99%
rename from hw/s390x/sclpconsole.c
rename to hw/char/sclpconsole.c
index 5c881e5..42ed54c 100644
--- a/hw/s390x/sclpconsole.c
+++ b/hw/char/sclpconsole.c
@@ -234,7 +234,7 @@ static int write_event_data(SCLPEvent *event, EventBufferHeader *evt_buf_hdr)
     return rc;
 }
 
-static void trigger_ascii_console_data(void *env, int n, int level)
+static void trigger_ascii_console_data(void *opaque, int n, int level)
 {
     sclp_service_interrupt(0);
 }
diff --git a/hw/sh_serial.c b/hw/char/sh_serial.c
similarity index 100%
rename from hw/sh_serial.c
rename to hw/char/sh_serial.c
diff --git a/hw/spapr_vty.c b/hw/char/spapr_vty.c
similarity index 100%
rename from hw/spapr_vty.c
rename to hw/char/spapr_vty.c
diff --git a/hw/cris/Makefile.objs b/hw/cris/Makefile.objs
index e02365d..c4d5189 100644
--- a/hw/cris/Makefile.objs
+++ b/hw/cris/Makefile.objs
@@ -2,7 +2,6 @@
 obj-y += etraxfs_dma.o
 obj-y += etraxfs_pic.o
 obj-y += etraxfs_timer.o
-obj-y += etraxfs_ser.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index c85bb3d..5e91d1e 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -1,7 +1,7 @@
 obj-y += apic_common.o apic.o
 obj-y += sga.o ioapic_common.o ioapic.o piix_pci.o
 obj-y += vmport.o
-obj-y += debugcon.o debugexit.o
+obj-y += debugexit.o
 obj-y += lpc_ich9.o q35.o
 obj-y += kvm/
 obj-y += pc-testdev.o
diff --git a/hw/lm32/Makefile.objs b/hw/lm32/Makefile.objs
index a894c46..e116156 100644
--- a/hw/lm32/Makefile.objs
+++ b/hw/lm32/Makefile.objs
@@ -1,15 +1,12 @@
 # LM32 peripherals
 obj-y += lm32_pic.o
-obj-y += lm32_juart.o
 obj-y += lm32_timer.o
-obj-y += lm32_uart.o
 obj-y += lm32_sys.o
 obj-y += milkymist-hpdmc.o
 obj-y += milkymist-memcard.o
 obj-y += milkymist-pfpu.o
 obj-y += milkymist-softusb.o
 obj-y += milkymist-sysctl.o
-obj-y += milkymist-uart.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/m68k/Makefile.objs b/hw/m68k/Makefile.objs
index ebbe003..c4352e7 100644
--- a/hw/m68k/Makefile.objs
+++ b/hw/m68k/Makefile.objs
@@ -1,7 +1,3 @@
-obj-y = mcf_uart.o
-
-obj-y := $(addprefix ../,$(obj-y))
-
 obj-y += an5206.o mcf5208.o
 obj-y += dummy_m68k.o
 
diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
index 2d51ae9..1e24b58 100644
--- a/hw/ppc/Makefile.objs
+++ b/hw/ppc/Makefile.objs
@@ -1,5 +1,4 @@
 # IBM pSeries (sPAPR)
-obj-$(CONFIG_PSERIES) += spapr_vty.o
 obj-$(CONFIG_PSERIES) += spapr_pci.o
 obj-$(CONFIG_PSERIES) += spapr_nvram.o
 # PowerPC 4xx boards
diff --git a/hw/s390x/Makefile.objs b/hw/s390x/Makefile.objs
index 9f2f419..77e1218 100644
--- a/hw/s390x/Makefile.objs
+++ b/hw/s390x/Makefile.objs
@@ -2,7 +2,7 @@ obj-y = s390-virtio-bus.o s390-virtio.o
 obj-y += s390-virtio-hcall.o
 obj-y += sclp.o
 obj-y += event-facility.o
-obj-y += sclpquiesce.o sclpconsole.o
+obj-y += sclpquiesce.o
 obj-y += ipl.o
 obj-y += css.o
 obj-y += s390-virtio-ccw.o
diff --git a/hw/sh4/Makefile.objs b/hw/sh4/Makefile.objs
index c9b0416..10c971a 100644
--- a/hw/sh4/Makefile.objs
+++ b/hw/sh4/Makefile.objs
@@ -1,4 +1,4 @@
-obj-y += sh_timer.o sh_serial.o sh_intc.o sh_pci.o
+obj-y += sh_timer.o sh_intc.o sh_pci.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/sparc/Makefile.objs b/hw/sparc/Makefile.objs
index 2354616..e18bc67 100644
--- a/hw/sparc/Makefile.objs
+++ b/hw/sparc/Makefile.objs
@@ -3,7 +3,7 @@ obj-y += slavio_timer.o slavio_misc.o sparc32_dma.o
 obj-y += eccmemctl.o sbi.o sun4c_intctl.o
 
 # GRLIB
-obj-y += grlib_gptimer.o grlib_irqmp.o grlib_apbuart.o
+obj-y += grlib_gptimer.o grlib_irqmp.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 21/35] hw: move ISA bridges and devices to hw/isa/, configure with default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (19 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 20/35] hw: move char devices to hw/char/, configure via default-configs/ Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 22/35] hw: move timer devices to hw/timer/, " Paolo Bonzini
                   ` (13 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/i386-softmmu.mak     | 1 +
 default-configs/mips-softmmu.mak     | 1 +
 default-configs/mips64-softmmu.mak   | 1 +
 default-configs/mips64el-softmmu.mak | 1 +
 default-configs/mipsel-softmmu.mak   | 1 +
 default-configs/x86_64-softmmu.mak   | 1 +
 hw/i386/Makefile.objs                | 2 +-
 hw/isa/Makefile.objs                 | 2 ++
 hw/{ => isa}/lpc_ich9.c              | 0
 hw/{ => isa}/vt82c686.c              | 0
 hw/mips/Makefile.objs                | 2 +-
 11 files changed, 10 insertions(+), 2 deletions(-)
 rename hw/{ => isa}/lpc_ich9.c (100%)
 rename hw/{ => isa}/vt82c686.c (100%)

diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 9d852ff..717c8f4 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -35,3 +35,4 @@ CONFIG_WDT_IB700=y
 CONFIG_PC_SYSFW=y
 CONFIG_XEN_I386=$(CONFIG_XEN)
 CONFIG_ISA_DEBUG=y
+CONFIG_LPC_ICH9=y
diff --git a/default-configs/mips-softmmu.mak b/default-configs/mips-softmmu.mak
index 2b48452..b764360 100644
--- a/default-configs/mips-softmmu.mak
+++ b/default-configs/mips-softmmu.mak
@@ -33,3 +33,4 @@ CONFIG_G364FB=y
 CONFIG_I8259=y
 CONFIG_JAZZ_LED=y
 CONFIG_MC146818RTC=y
+CONFIG_VT82C686=y
diff --git a/default-configs/mips64-softmmu.mak b/default-configs/mips64-softmmu.mak
index 5713320..0e4e65d 100644
--- a/default-configs/mips64-softmmu.mak
+++ b/default-configs/mips64-softmmu.mak
@@ -33,3 +33,4 @@ CONFIG_G364FB=y
 CONFIG_I8259=y
 CONFIG_JAZZ_LED=y
 CONFIG_MC146818RTC=y
+CONFIG_VT82C686=y
diff --git a/default-configs/mips64el-softmmu.mak b/default-configs/mips64el-softmmu.mak
index 096dc80..0a6c4f7 100644
--- a/default-configs/mips64el-softmmu.mak
+++ b/default-configs/mips64el-softmmu.mak
@@ -35,3 +35,4 @@ CONFIG_G364FB=y
 CONFIG_I8259=y
 CONFIG_JAZZ_LED=y
 CONFIG_MC146818RTC=y
+CONFIG_VT82C686=y
diff --git a/default-configs/mipsel-softmmu.mak b/default-configs/mipsel-softmmu.mak
index 5509f0e..9f9c6da 100644
--- a/default-configs/mipsel-softmmu.mak
+++ b/default-configs/mipsel-softmmu.mak
@@ -33,3 +33,4 @@ CONFIG_G364FB=y
 CONFIG_I8259=y
 CONFIG_JAZZ_LED=y
 CONFIG_MC146818RTC=y
+CONFIG_VT82C686=y
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index 760d51e..31de945 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -35,3 +35,4 @@ CONFIG_WDT_IB700=y
 CONFIG_PC_SYSFW=y
 CONFIG_XEN_I386=$(CONFIG_XEN)
 CONFIG_ISA_DEBUG=y
+CONFIG_LPC_ICH9=y
diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index 5e91d1e..af7f4b1 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -2,7 +2,7 @@ obj-y += apic_common.o apic.o
 obj-y += sga.o ioapic_common.o ioapic.o piix_pci.o
 obj-y += vmport.o
 obj-y += debugexit.o
-obj-y += lpc_ich9.o q35.o
+obj-y += q35.o
 obj-y += kvm/
 obj-y += pc-testdev.o
 
diff --git a/hw/isa/Makefile.objs b/hw/isa/Makefile.objs
index ad3643b..193746a 100644
--- a/hw/isa/Makefile.objs
+++ b/hw/isa/Makefile.objs
@@ -4,4 +4,6 @@ common-obj-$(CONFIG_I82378) += i82378.o
 common-obj-$(CONFIG_ISA_MMIO) += isa_mmio.o
 common-obj-$(CONFIG_PC87312) += pc87312.o
 common-obj-$(CONFIG_PIIX4) += piix4.o
+common-obj-$(CONFIG_VT82C686) += vt82c686.o
 
+obj-$(CONFIG_LPC_ICH9) += lpc_ich9.o
diff --git a/hw/lpc_ich9.c b/hw/isa/lpc_ich9.c
similarity index 100%
rename from hw/lpc_ich9.c
rename to hw/isa/lpc_ich9.c
diff --git a/hw/vt82c686.c b/hw/isa/vt82c686.c
similarity index 100%
rename from hw/vt82c686.c
rename to hw/isa/vt82c686.c
diff --git a/hw/mips/Makefile.objs b/hw/mips/Makefile.objs
index e173a2d..af4d1f9 100644
--- a/hw/mips/Makefile.objs
+++ b/hw/mips/Makefile.objs
@@ -1,5 +1,5 @@
 obj-y += gt64xxx.o
-obj-$(CONFIG_FULONG) += bonito.o vt82c686.o
+obj-$(CONFIG_FULONG) += bonito.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 22/35] hw: move timer devices to hw/timer/, configure with default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (20 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 21/35] hw: move ISA bridges and devices to hw/isa/, configure with default-configs/ Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 23/35] hw: move SD/MMC devices to hw/sd/, " Paolo Bonzini
                   ` (12 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak    |  4 ++++
 default-configs/sparc-softmmu.mak  |  1 +
 hw/arm/Makefile.objs               | 17 +++++++----------
 hw/cris/Makefile.objs              |  1 -
 hw/input/Makefile.objs             |  4 ++++
 hw/{ => input}/milkymist-softusb.c |  0
 hw/{ => input}/pxa2xx_keypad.c     |  0
 hw/{ => input}/tsc210x.c           |  0
 hw/lm32/Makefile.objs              |  3 ---
 hw/sh4/Makefile.objs               |  2 +-
 hw/sparc/Makefile.objs             |  4 ++--
 hw/timer/Makefile.objs             | 16 ++++++++++++++++
 hw/{ => timer}/arm_mptimer.c       |  0
 hw/{ => timer}/etraxfs_timer.c     |  0
 hw/{ => timer}/exynos4210_mct.c    |  0
 hw/{ => timer}/exynos4210_pwm.c    |  0
 hw/{ => timer}/exynos4210_rtc.c    |  0
 hw/{ => timer}/grlib_gptimer.c     |  0
 hw/{ => timer}/imx_timer.c         |  0
 hw/{ => timer}/lm32_timer.c        |  0
 hw/{ => timer}/milkymist-sysctl.c  |  0
 hw/{ => timer}/omap_gptimer.c      |  0
 hw/{ => timer}/omap_synctimer.c    |  0
 hw/{ => timer}/pxa2xx_timer.c      |  0
 hw/{ => timer}/sh_timer.c          |  0
 hw/{ => timer}/slavio_timer.c      |  0
 hw/{ => timer}/tusb6010.c          |  0
 include/hw/sparc/sun4m.h           |  2 ++
 28 files changed, 37 insertions(+), 17 deletions(-)
 rename hw/{ => input}/milkymist-softusb.c (100%)
 rename hw/{ => input}/pxa2xx_keypad.c (100%)
 rename hw/{ => input}/tsc210x.c (100%)
 rename hw/{ => timer}/arm_mptimer.c (100%)
 rename hw/{ => timer}/etraxfs_timer.c (100%)
 rename hw/{ => timer}/exynos4210_mct.c (100%)
 rename hw/{ => timer}/exynos4210_pwm.c (100%)
 rename hw/{ => timer}/exynos4210_rtc.c (100%)
 rename hw/{ => timer}/grlib_gptimer.c (100%)
 rename hw/{ => timer}/imx_timer.c (100%)
 rename hw/{ => timer}/lm32_timer.c (100%)
 rename hw/{ => timer}/milkymist-sysctl.c (100%)
 rename hw/{ => timer}/omap_gptimer.c (100%)
 rename hw/{ => timer}/omap_synctimer.c (100%)
 rename hw/{ => timer}/pxa2xx_timer.c (100%)
 rename hw/{ => timer}/sh_timer.c (100%)
 rename hw/{ => timer}/slavio_timer.c (100%)
 rename hw/{ => timer}/tusb6010.c (100%)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 8da5ec8..94b52da 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -34,6 +34,7 @@ CONFIG_MICRODRIVE=y
 CONFIG_USB_MUSB=y
 
 CONFIG_ARM_TIMER=y
+CONFIG_ARM_MPTIMER=y
 CONFIG_PL011=y
 CONFIG_PL022=y
 CONFIG_PL031=y
@@ -53,10 +54,13 @@ CONFIG_PXA2XX=y
 CONFIG_BITBANG_I2C=y
 CONFIG_FRAMEBUFFER=y
 CONFIG_XILINX_SPIPS=y
+
 CONFIG_MARVELL_88W8618=y
 CONFIG_OMAP=y
+CONFIG_TSC210X=y
 CONFIG_BLIZZARD=y
 CONFIG_ONENAND=y
+CONFIG_TUSB6010=y
 CONFIG_IMX=y
 CONFIG_ZAURUS=y
 
diff --git a/default-configs/sparc-softmmu.mak b/default-configs/sparc-softmmu.mak
index da5b02d..6a2bad3 100644
--- a/default-configs/sparc-softmmu.mak
+++ b/default-configs/sparc-softmmu.mak
@@ -10,5 +10,6 @@ CONFIG_EMPTY_SLOT=y
 CONFIG_PCNET_COMMON=y
 CONFIG_LANCE=y
 CONFIG_TCX=y
+CONFIG_SLAVIO=y
 CONFIG_CS4231=y
 CONFIG_GRLIB=y
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 26e107f..7691540 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -3,23 +3,20 @@ obj-y += arm_gic.o arm_gic_common.o
 obj-y += a9scu.o
 obj-y += realview_gic.o arm_sysctl.o arm11mpcore.o a9mpcore.o
 obj-y += exynos4210_gic.o exynos4210_combiner.o
-obj-y += exynos4210_pwm.o
-obj-y += exynos4210_pmu.o exynos4210_mct.o
-obj-y += exynos4210_rtc.o
-obj-y += arm_mptimer.o a15mpcore.o
+obj-y += exynos4210_pmu.o
+obj-y += a15mpcore.o
 obj-y += armv7m_nvic.o
-obj-y += pxa2xx_timer.o pxa2xx_dma.o
-obj-y += pxa2xx_mmci.o pxa2xx_pcmcia.o pxa2xx_keypad.o
+obj-y += pxa2xx_dma.o
+obj-y += pxa2xx_mmci.o pxa2xx_pcmcia.o
 obj-y += zaurus.o
 obj-y += omap_dma.o omap_clk.o omap_mmc.o \
                 omap_gpio.o omap_intc.o
-obj-y += soc_dma.o omap_gptimer.o omap_synctimer.o \
+obj-y += soc_dma.o \
                 omap_gpmc.o omap_sdrc.o omap_tap.o omap_l4.o
-obj-y += tsc210x.o
-obj-y += cbus.o tusb6010.o
+obj-y += cbus.o
 obj-y += mst_fpga.o
 obj-y += strongarm.o
-obj-y += imx_ccm.o imx_timer.o imx_avic.o
+obj-y += imx_ccm.o imx_avic.o
 obj-$(CONFIG_KVM) += kvm/arm_gic.o
 
 obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/cris/Makefile.objs b/hw/cris/Makefile.objs
index c4d5189..a8a4a9e 100644
--- a/hw/cris/Makefile.objs
+++ b/hw/cris/Makefile.objs
@@ -1,7 +1,6 @@
 # IO blocks
 obj-y += etraxfs_dma.o
 obj-y += etraxfs_pic.o
-obj-y += etraxfs_timer.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/input/Makefile.objs b/hw/input/Makefile.objs
index 824997e..e8c80b9 100644
--- a/hw/input/Makefile.objs
+++ b/hw/input/Makefile.objs
@@ -7,3 +7,7 @@ common-obj-y += ps2.o
 common-obj-$(CONFIG_STELLARIS_INPUT) += stellaris_input.o
 common-obj-$(CONFIG_TSC2005) += tsc2005.o
 common-obj-$(CONFIG_VMMOUSE) += vmmouse.o
+
+obj-$(CONFIG_MILKYMIST) += milkymist-softusb.o
+obj-$(CONFIG_PXA2XX) += pxa2xx_keypad.o
+obj-$(CONFIG_TSC210X) += tsc210x.o
diff --git a/hw/milkymist-softusb.c b/hw/input/milkymist-softusb.c
similarity index 100%
rename from hw/milkymist-softusb.c
rename to hw/input/milkymist-softusb.c
diff --git a/hw/pxa2xx_keypad.c b/hw/input/pxa2xx_keypad.c
similarity index 100%
rename from hw/pxa2xx_keypad.c
rename to hw/input/pxa2xx_keypad.c
diff --git a/hw/tsc210x.c b/hw/input/tsc210x.c
similarity index 100%
rename from hw/tsc210x.c
rename to hw/input/tsc210x.c
diff --git a/hw/lm32/Makefile.objs b/hw/lm32/Makefile.objs
index e116156..f911ac6 100644
--- a/hw/lm32/Makefile.objs
+++ b/hw/lm32/Makefile.objs
@@ -1,12 +1,9 @@
 # LM32 peripherals
 obj-y += lm32_pic.o
-obj-y += lm32_timer.o
 obj-y += lm32_sys.o
 obj-y += milkymist-hpdmc.o
 obj-y += milkymist-memcard.o
 obj-y += milkymist-pfpu.o
-obj-y += milkymist-softusb.o
-obj-y += milkymist-sysctl.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/sh4/Makefile.objs b/hw/sh4/Makefile.objs
index 10c971a..76b37bb 100644
--- a/hw/sh4/Makefile.objs
+++ b/hw/sh4/Makefile.objs
@@ -1,4 +1,4 @@
-obj-y += sh_timer.o sh_intc.o sh_pci.o
+obj-y += sh_intc.o sh_pci.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/sparc/Makefile.objs b/hw/sparc/Makefile.objs
index e18bc67..ab1d91c 100644
--- a/hw/sparc/Makefile.objs
+++ b/hw/sparc/Makefile.objs
@@ -1,9 +1,9 @@
 obj-y = sun4m_iommu.o slavio_intctl.o
-obj-y += slavio_timer.o slavio_misc.o sparc32_dma.o
+obj-y += slavio_misc.o sparc32_dma.o
 obj-y += eccmemctl.o sbi.o sun4c_intctl.o
 
 # GRLIB
-obj-y += grlib_gptimer.o grlib_irqmp.o
+obj-y += grlib_irqmp.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/timer/Makefile.objs b/hw/timer/Makefile.objs
index a1ef26c..e4bd17f 100644
--- a/hw/timer/Makefile.objs
+++ b/hw/timer/Makefile.objs
@@ -8,5 +8,21 @@ common-obj-$(CONFIG_PL031) += pl031.o
 common-obj-$(CONFIG_PUV3) += puv3_ost.o
 common-obj-$(CONFIG_TWL92230) += twl92230.o
 common-obj-$(CONFIG_XILINX) += xilinx_timer.o
+common-obj-$(CONFIG_SLAVIO) += slavio_timer.o
+common-obj-$(CONFIG_ETRAXFS) += etraxfs_timer.o
+common-obj-$(CONFIG_GRLIB) += grlib_gptimer.o
+common-obj-$(CONFIG_IMX) += imx_timer.o
+common-obj-$(CONFIG_LM32) += lm32_timer.o
+common-obj-$(CONFIG_MILKYMIST) += milkymist-sysctl.o
 
+obj-$(CONFIG_EXYNOS4) += exynos4210_mct.o
+obj-$(CONFIG_EXYNOS4) += exynos4210_pwm.o
+obj-$(CONFIG_EXYNOS4) += exynos4210_rtc.o
+obj-$(CONFIG_OMAP) += omap_gptimer.o
+obj-$(CONFIG_OMAP) += omap_synctimer.o
+obj-$(CONFIG_PXA2XX) += pxa2xx_timer.o
+obj-$(CONFIG_SH4) += sh_timer.o
+obj-$(CONFIG_TUSB6010) += tusb6010.o
+
+obj-$(CONFIG_ARM_MPTIMER) += arm_mptimer.o
 obj-$(CONFIG_MC146818RTC) += mc146818rtc.o
diff --git a/hw/arm_mptimer.c b/hw/timer/arm_mptimer.c
similarity index 100%
rename from hw/arm_mptimer.c
rename to hw/timer/arm_mptimer.c
diff --git a/hw/etraxfs_timer.c b/hw/timer/etraxfs_timer.c
similarity index 100%
rename from hw/etraxfs_timer.c
rename to hw/timer/etraxfs_timer.c
diff --git a/hw/exynos4210_mct.c b/hw/timer/exynos4210_mct.c
similarity index 100%
rename from hw/exynos4210_mct.c
rename to hw/timer/exynos4210_mct.c
diff --git a/hw/exynos4210_pwm.c b/hw/timer/exynos4210_pwm.c
similarity index 100%
rename from hw/exynos4210_pwm.c
rename to hw/timer/exynos4210_pwm.c
diff --git a/hw/exynos4210_rtc.c b/hw/timer/exynos4210_rtc.c
similarity index 100%
rename from hw/exynos4210_rtc.c
rename to hw/timer/exynos4210_rtc.c
diff --git a/hw/grlib_gptimer.c b/hw/timer/grlib_gptimer.c
similarity index 100%
rename from hw/grlib_gptimer.c
rename to hw/timer/grlib_gptimer.c
diff --git a/hw/imx_timer.c b/hw/timer/imx_timer.c
similarity index 100%
rename from hw/imx_timer.c
rename to hw/timer/imx_timer.c
diff --git a/hw/lm32_timer.c b/hw/timer/lm32_timer.c
similarity index 100%
rename from hw/lm32_timer.c
rename to hw/timer/lm32_timer.c
diff --git a/hw/milkymist-sysctl.c b/hw/timer/milkymist-sysctl.c
similarity index 100%
rename from hw/milkymist-sysctl.c
rename to hw/timer/milkymist-sysctl.c
diff --git a/hw/omap_gptimer.c b/hw/timer/omap_gptimer.c
similarity index 100%
rename from hw/omap_gptimer.c
rename to hw/timer/omap_gptimer.c
diff --git a/hw/omap_synctimer.c b/hw/timer/omap_synctimer.c
similarity index 100%
rename from hw/omap_synctimer.c
rename to hw/timer/omap_synctimer.c
diff --git a/hw/pxa2xx_timer.c b/hw/timer/pxa2xx_timer.c
similarity index 100%
rename from hw/pxa2xx_timer.c
rename to hw/timer/pxa2xx_timer.c
diff --git a/hw/sh_timer.c b/hw/timer/sh_timer.c
similarity index 100%
rename from hw/sh_timer.c
rename to hw/timer/sh_timer.c
diff --git a/hw/slavio_timer.c b/hw/timer/slavio_timer.c
similarity index 100%
rename from hw/slavio_timer.c
rename to hw/timer/slavio_timer.c
diff --git a/hw/tusb6010.c b/hw/timer/tusb6010.c
similarity index 100%
rename from hw/tusb6010.c
rename to hw/timer/tusb6010.c
diff --git a/include/hw/sparc/sun4m.h b/include/hw/sparc/sun4m.h
index e984671..a587700 100644
--- a/include/hw/sparc/sun4m.h
+++ b/include/hw/sparc/sun4m.h
@@ -2,6 +2,8 @@
 #define SUN4M_H
 
 #include "qemu-common.h"
+#include "exec/hwaddr.h"
+#include "qapi/qmp/types.h"
 
 /* Devices used by sparc32 system.  */
 
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 23/35] hw: move SD/MMC devices to hw/sd/, configure with default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (21 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 22/35] hw: move timer devices to hw/timer/, " Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 24/35] hw: move PCI bridges to hw/pci-* or hw/ARCH Paolo Bonzini
                   ` (11 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/arm/Makefile.objs            | 4 ++--
 hw/lm32/Makefile.objs           | 1 -
 hw/sd/Makefile.objs             | 4 ++++
 hw/{ => sd}/milkymist-memcard.c | 0
 hw/{ => sd}/omap_mmc.c          | 0
 hw/{ => sd}/pxa2xx_mmci.c       | 0
 6 files changed, 6 insertions(+), 3 deletions(-)
 rename hw/{ => sd}/milkymist-memcard.c (100%)
 rename hw/{ => sd}/omap_mmc.c (100%)
 rename hw/{ => sd}/pxa2xx_mmci.c (100%)

diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 7691540..8e8e799 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -7,9 +7,9 @@ obj-y += exynos4210_pmu.o
 obj-y += a15mpcore.o
 obj-y += armv7m_nvic.o
 obj-y += pxa2xx_dma.o
-obj-y += pxa2xx_mmci.o pxa2xx_pcmcia.o
+obj-y += pxa2xx_pcmcia.o
 obj-y += zaurus.o
-obj-y += omap_dma.o omap_clk.o omap_mmc.o \
+obj-y += omap_dma.o omap_clk.o \
                 omap_gpio.o omap_intc.o
 obj-y += soc_dma.o \
                 omap_gpmc.o omap_sdrc.o omap_tap.o omap_l4.o
diff --git a/hw/lm32/Makefile.objs b/hw/lm32/Makefile.objs
index f911ac6..bf8d152 100644
--- a/hw/lm32/Makefile.objs
+++ b/hw/lm32/Makefile.objs
@@ -2,7 +2,6 @@
 obj-y += lm32_pic.o
 obj-y += lm32_sys.o
 obj-y += milkymist-hpdmc.o
-obj-y += milkymist-memcard.o
 obj-y += milkymist-pfpu.o
 
 obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/sd/Makefile.objs b/hw/sd/Makefile.objs
index 8acce02..f1aed83 100644
--- a/hw/sd/Makefile.objs
+++ b/hw/sd/Makefile.objs
@@ -2,3 +2,7 @@ common-obj-$(CONFIG_PL181) += pl181.o
 common-obj-$(CONFIG_SSI_SD) += ssi-sd.o
 common-obj-$(CONFIG_SD) += sd.o
 common-obj-$(CONFIG_SDHCI) += sdhci.o
+
+obj-$(CONFIG_MILKYMIST) += milkymist-memcard.o
+obj-$(CONFIG_OMAP) += omap_mmc.o
+obj-$(CONFIG_PXA2XX) += pxa2xx_mmci.o
diff --git a/hw/milkymist-memcard.c b/hw/sd/milkymist-memcard.c
similarity index 100%
rename from hw/milkymist-memcard.c
rename to hw/sd/milkymist-memcard.c
diff --git a/hw/omap_mmc.c b/hw/sd/omap_mmc.c
similarity index 100%
rename from hw/omap_mmc.c
rename to hw/sd/omap_mmc.c
diff --git a/hw/pxa2xx_mmci.c b/hw/sd/pxa2xx_mmci.c
similarity index 100%
rename from hw/pxa2xx_mmci.c
rename to hw/sd/pxa2xx_mmci.c
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 24/35] hw: move PCI bridges to hw/pci-* or hw/ARCH
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (22 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 23/35] hw: move SD/MMC devices to hw/sd/, " Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 25/35] hw: move VFIO and ivshmem to hw/misc/ Paolo Bonzini
                   ` (10 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/i386-softmmu.mak                   | 4 ++++
 default-configs/sparc64-softmmu.mak                | 1 +
 default-configs/x86_64-softmmu.mak                 | 4 ++++
 hw/Makefile.objs                                   | 1 +
 hw/alpha/Makefile.objs                             | 6 +-----
 hw/{alpha_typhoon.c => alpha/typhoon.c}            | 0
 hw/i386/Makefile.objs                              | 3 +--
 hw/mips/Makefile.objs                              | 6 +-----
 hw/{gt64xxx.c => mips/gt64xxx_pci.c}               | 0
 hw/{pci/bridge => pci-bridge}/Makefile.objs        | 0
 hw/{pci/bridge => pci-bridge}/i82801b11.c          | 0
 hw/{pci/bridge => pci-bridge}/ioh3420.c            | 0
 hw/{pci/bridge => pci-bridge}/pci_bridge_dev.c     | 0
 hw/{pci/bridge => pci-bridge}/xio3130_downstream.c | 0
 hw/{pci/bridge => pci-bridge}/xio3130_upstream.c   | 0
 hw/{pci/host => pci-host}/Makefile.objs            | 5 +++++
 hw/{apb_pci.c => pci-host/apb.c}                   | 8 ++++----
 hw/{ => pci-host}/bonito.c                         | 0
 hw/{pci/host => pci-host}/dec.c                    | 0
 hw/{pci/host => pci-host}/grackle.c                | 0
 hw/{pci/host => pci-host}/pam.c                    | 0
 hw/{piix_pci.c => pci-host/piix.c}                 | 0
 hw/{pci/host => pci-host}/ppce500.c                | 0
 hw/{pci/host => pci-host}/prep.c                   | 0
 hw/{ => pci-host}/q35.c                            | 0
 hw/{pci/host => pci-host}/uninorth.c               | 0
 hw/{pci/host => pci-host}/versatile.c              | 0
 hw/pci/Makefile.objs                               | 2 --
 hw/ppc/Makefile.objs                               | 5 ++---
 hw/{ => ppc}/ppc4xx_pci.c                          | 0
 hw/{ => ppc}/spapr_pci.c                           | 0
 hw/sh4/Makefile.objs                               | 3 ++-
 hw/{ => sh4}/sh_pci.c                              | 0
 hw/sparc64/Makefile.objs                           | 4 ----
 include/hw/pci-host/q35.h                          | 1 -
 35 files changed, 26 insertions(+), 27 deletions(-)
 rename hw/{alpha_typhoon.c => alpha/typhoon.c} (100%)
 rename hw/{gt64xxx.c => mips/gt64xxx_pci.c} (100%)
 rename hw/{pci/bridge => pci-bridge}/Makefile.objs (100%)
 rename hw/{pci/bridge => pci-bridge}/i82801b11.c (100%)
 rename hw/{pci/bridge => pci-bridge}/ioh3420.c (100%)
 rename hw/{pci/bridge => pci-bridge}/pci_bridge_dev.c (100%)
 rename hw/{pci/bridge => pci-bridge}/xio3130_downstream.c (100%)
 rename hw/{pci/bridge => pci-bridge}/xio3130_upstream.c (100%)
 rename hw/{pci/host => pci-host}/Makefile.objs (69%)
 rename hw/{apb_pci.c => pci-host/apb.c} (97%)
 rename hw/{ => pci-host}/bonito.c (100%)
 rename hw/{pci/host => pci-host}/dec.c (100%)
 rename hw/{pci/host => pci-host}/grackle.c (100%)
 rename hw/{pci/host => pci-host}/pam.c (100%)
 rename hw/{piix_pci.c => pci-host/piix.c} (100%)
 rename hw/{pci/host => pci-host}/ppce500.c (100%)
 rename hw/{pci/host => pci-host}/prep.c (100%)
 rename hw/{ => pci-host}/q35.c (100%)
 rename hw/{pci/host => pci-host}/uninorth.c (100%)
 rename hw/{pci/host => pci-host}/versatile.c (100%)
 rename hw/{ => ppc}/ppc4xx_pci.c (100%)
 rename hw/{ => ppc}/spapr_pci.c (100%)
 rename hw/{ => sh4}/sh_pci.c (100%)

diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 717c8f4..fa070cd 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -31,8 +31,12 @@ CONFIG_TPM_TIS=y
 CONFIG_TPM_PASSTHROUGH=y
 CONFIG_PCI_HOTPLUG=y
 CONFIG_MC146818RTC=y
+CONFIG_PAM=y
+CONFIG_PCI_PIIX=y
+CONFIG_PCI_HOTPLUG=y
 CONFIG_WDT_IB700=y
 CONFIG_PC_SYSFW=y
 CONFIG_XEN_I386=$(CONFIG_XEN)
 CONFIG_ISA_DEBUG=y
 CONFIG_LPC_ICH9=y
+CONFIG_Q35=y
diff --git a/default-configs/sparc64-softmmu.mak b/default-configs/sparc64-softmmu.mak
index 3b3dc55..9b08ee8 100644
--- a/default-configs/sparc64-softmmu.mak
+++ b/default-configs/sparc64-softmmu.mak
@@ -13,4 +13,5 @@ CONFIG_PCKBD=y
 CONFIG_FDC=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_CMD646=y
+CONFIG_PCI_APB=y
 CONFIG_MC146818RTC=y
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index 31de945..3102c09 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -31,8 +31,12 @@ CONFIG_TPM_TIS=y
 CONFIG_TPM_PASSTHROUGH=y
 CONFIG_PCI_HOTPLUG=y
 CONFIG_MC146818RTC=y
+CONFIG_PAM=y
+CONFIG_PCI_PIIX=y
+CONFIG_PCI_HOTPLUG=y
 CONFIG_WDT_IB700=y
 CONFIG_PC_SYSFW=y
 CONFIG_XEN_I386=$(CONFIG_XEN)
 CONFIG_ISA_DEBUG=y
 CONFIG_LPC_ICH9=y
+CONFIG_Q35=y
diff --git a/hw/Makefile.objs b/hw/Makefile.objs
index b2be078..297efce 100644
--- a/hw/Makefile.objs
+++ b/hw/Makefile.objs
@@ -17,6 +17,7 @@ devices-dirs-$(CONFIG_SOFTMMU) += misc/
 devices-dirs-$(CONFIG_SOFTMMU) += net/
 devices-dirs-$(CONFIG_SOFTMMU) += nvram/
 devices-dirs-$(CONFIG_SOFTMMU) += pci/
+devices-dirs-$(CONFIG_PCI) += pci-bridge/ pci-host/
 devices-dirs-$(CONFIG_SOFTMMU) += scsi/
 devices-dirs-$(CONFIG_SOFTMMU) += sd/
 devices-dirs-$(CONFIG_SOFTMMU) += ssi/
diff --git a/hw/alpha/Makefile.objs b/hw/alpha/Makefile.objs
index 5dfea7a..5c74275 100644
--- a/hw/alpha/Makefile.objs
+++ b/hw/alpha/Makefile.objs
@@ -1,5 +1 @@
-obj-y += alpha_typhoon.o
-
-obj-y := $(addprefix ../,$(obj-y))
-
-obj-y += dp264.o pci.o
+obj-y += dp264.o pci.o typhoon.o
diff --git a/hw/alpha_typhoon.c b/hw/alpha/typhoon.c
similarity index 100%
rename from hw/alpha_typhoon.c
rename to hw/alpha/typhoon.c
diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index af7f4b1..a531d3a 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -1,8 +1,7 @@
 obj-y += apic_common.o apic.o
-obj-y += sga.o ioapic_common.o ioapic.o piix_pci.o
+obj-y += sga.o ioapic_common.o ioapic.o
 obj-y += vmport.o
 obj-y += debugexit.o
-obj-y += q35.o
 obj-y += kvm/
 obj-y += pc-testdev.o
 
diff --git a/hw/mips/Makefile.objs b/hw/mips/Makefile.objs
index af4d1f9..0a652f8 100644
--- a/hw/mips/Makefile.objs
+++ b/hw/mips/Makefile.objs
@@ -1,8 +1,4 @@
-obj-y += gt64xxx.o
-obj-$(CONFIG_FULONG) += bonito.o
-
-obj-y := $(addprefix ../,$(obj-y))
-
 obj-y += mips_r4k.o mips_jazz.o mips_malta.o mips_mipssim.o
 obj-y += addr.o cputimer.o mips_int.o
 obj-$(CONFIG_FULONG) += mips_fulong2e.o
+obj-y += gt64xxx_pci.o
diff --git a/hw/gt64xxx.c b/hw/mips/gt64xxx_pci.c
similarity index 100%
rename from hw/gt64xxx.c
rename to hw/mips/gt64xxx_pci.c
diff --git a/hw/pci/bridge/Makefile.objs b/hw/pci-bridge/Makefile.objs
similarity index 100%
rename from hw/pci/bridge/Makefile.objs
rename to hw/pci-bridge/Makefile.objs
diff --git a/hw/pci/bridge/i82801b11.c b/hw/pci-bridge/i82801b11.c
similarity index 100%
rename from hw/pci/bridge/i82801b11.c
rename to hw/pci-bridge/i82801b11.c
diff --git a/hw/pci/bridge/ioh3420.c b/hw/pci-bridge/ioh3420.c
similarity index 100%
rename from hw/pci/bridge/ioh3420.c
rename to hw/pci-bridge/ioh3420.c
diff --git a/hw/pci/bridge/pci_bridge_dev.c b/hw/pci-bridge/pci_bridge_dev.c
similarity index 100%
rename from hw/pci/bridge/pci_bridge_dev.c
rename to hw/pci-bridge/pci_bridge_dev.c
diff --git a/hw/pci/bridge/xio3130_downstream.c b/hw/pci-bridge/xio3130_downstream.c
similarity index 100%
rename from hw/pci/bridge/xio3130_downstream.c
rename to hw/pci-bridge/xio3130_downstream.c
diff --git a/hw/pci/bridge/xio3130_upstream.c b/hw/pci-bridge/xio3130_upstream.c
similarity index 100%
rename from hw/pci/bridge/xio3130_upstream.c
rename to hw/pci-bridge/xio3130_upstream.c
diff --git a/hw/pci/host/Makefile.objs b/hw/pci-host/Makefile.objs
similarity index 69%
rename from hw/pci/host/Makefile.objs
rename to hw/pci-host/Makefile.objs
index e1d6cce..909e702 100644
--- a/hw/pci/host/Makefile.objs
+++ b/hw/pci-host/Makefile.objs
@@ -11,3 +11,8 @@ common-obj-$(CONFIG_PPCE500_PCI) += ppce500.o
 
 # ARM devices
 common-obj-$(CONFIG_VERSATILE_PCI) += versatile.o
+
+common-obj-$(CONFIG_PCI_APB) += apb.o
+common-obj-$(CONFIG_FULONG) += bonito.o
+common-obj-$(CONFIG_PCI_PIIX) += piix.o
+common-obj-$(CONFIG_PCI_Q35) += q35.o
diff --git a/hw/apb_pci.c b/hw/pci-host/apb.c
similarity index 97%
rename from hw/apb_pci.c
rename to hw/pci-host/apb.c
index fe15ae8..b4981d7 100644
--- a/hw/apb_pci.c
+++ b/hw/pci-host/apb.c
@@ -92,7 +92,7 @@ static void apb_config_writel (void *opaque, hwaddr addr,
 {
     APBState *s = opaque;
 
-    APB_DPRINTF("%s: addr " TARGET_FMT_lx " val %" PRIx64 "\n", __func__, addr, val);
+    APB_DPRINTF("%s: addr " TARGET_FMT_plx " val %" PRIx64 "\n", __func__, addr, val);
 
     switch (addr & 0xffff) {
     case 0x30 ... 0x4f: /* DMA error registers */
@@ -201,7 +201,7 @@ static uint64_t apb_config_readl (void *opaque,
         val = 0;
         break;
     }
-    APB_DPRINTF("%s: addr " TARGET_FMT_lx " -> %x\n", __func__, addr, val);
+    APB_DPRINTF("%s: addr " TARGET_FMT_plx " -> %x\n", __func__, addr, val);
 
     return val;
 }
@@ -218,7 +218,7 @@ static void apb_pci_config_write(void *opaque, hwaddr addr,
     APBState *s = opaque;
 
     val = qemu_bswap_len(val, size);
-    APB_DPRINTF("%s: addr " TARGET_FMT_lx " val %" PRIx64 "\n", __func__, addr, val);
+    APB_DPRINTF("%s: addr " TARGET_FMT_plx " val %" PRIx64 "\n", __func__, addr, val);
     pci_data_write(s->bus, addr, val, size);
 }
 
@@ -230,7 +230,7 @@ static uint64_t apb_pci_config_read(void *opaque, hwaddr addr,
 
     ret = pci_data_read(s->bus, addr, size);
     ret = qemu_bswap_len(ret, size);
-    APB_DPRINTF("%s: addr " TARGET_FMT_lx " -> %x\n", __func__, addr, ret);
+    APB_DPRINTF("%s: addr " TARGET_FMT_plx " -> %x\n", __func__, addr, ret);
     return ret;
 }
 
diff --git a/hw/bonito.c b/hw/pci-host/bonito.c
similarity index 100%
rename from hw/bonito.c
rename to hw/pci-host/bonito.c
diff --git a/hw/pci/host/dec.c b/hw/pci-host/dec.c
similarity index 100%
rename from hw/pci/host/dec.c
rename to hw/pci-host/dec.c
diff --git a/hw/pci/host/grackle.c b/hw/pci-host/grackle.c
similarity index 100%
rename from hw/pci/host/grackle.c
rename to hw/pci-host/grackle.c
diff --git a/hw/pci/host/pam.c b/hw/pci-host/pam.c
similarity index 100%
rename from hw/pci/host/pam.c
rename to hw/pci-host/pam.c
diff --git a/hw/piix_pci.c b/hw/pci-host/piix.c
similarity index 100%
rename from hw/piix_pci.c
rename to hw/pci-host/piix.c
diff --git a/hw/pci/host/ppce500.c b/hw/pci-host/ppce500.c
similarity index 100%
rename from hw/pci/host/ppce500.c
rename to hw/pci-host/ppce500.c
diff --git a/hw/pci/host/prep.c b/hw/pci-host/prep.c
similarity index 100%
rename from hw/pci/host/prep.c
rename to hw/pci-host/prep.c
diff --git a/hw/q35.c b/hw/pci-host/q35.c
similarity index 100%
rename from hw/q35.c
rename to hw/pci-host/q35.c
diff --git a/hw/pci/host/uninorth.c b/hw/pci-host/uninorth.c
similarity index 100%
rename from hw/pci/host/uninorth.c
rename to hw/pci-host/uninorth.c
diff --git a/hw/pci/host/versatile.c b/hw/pci-host/versatile.c
similarity index 100%
rename from hw/pci/host/versatile.c
rename to hw/pci-host/versatile.c
diff --git a/hw/pci/Makefile.objs b/hw/pci/Makefile.objs
index a1511ab..a7fb9d0 100644
--- a/hw/pci/Makefile.objs
+++ b/hw/pci/Makefile.objs
@@ -8,6 +8,4 @@ common-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o pcie_port.o
 common-obj-$(CONFIG_NO_PCI) += pci-stub.o
 common-obj-$(CONFIG_ALL) += pci-stub.o
 
-common-obj-$(CONFIG_PCI) += bridge/ host/
-
 obj-$(CONFIG_PCI_HOTPLUG) += pci-hotplug.o
diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
index 1e24b58..70342c2 100644
--- a/hw/ppc/Makefile.objs
+++ b/hw/ppc/Makefile.objs
@@ -1,8 +1,5 @@
 # IBM pSeries (sPAPR)
-obj-$(CONFIG_PSERIES) += spapr_pci.o
 obj-$(CONFIG_PSERIES) += spapr_nvram.o
-# PowerPC 4xx boards
-obj-y += ppc4xx_pci.o
 # PowerPC OpenPIC
 obj-y += openpic.o
 
@@ -13,8 +10,10 @@ obj-y += ppc.o ppc_booke.o
 # IBM pSeries (sPAPR)
 obj-$(CONFIG_PSERIES) += spapr.o xics.o spapr_vio.o spapr_events.o
 obj-$(CONFIG_PSERIES) += spapr_hcall.o spapr_iommu.o spapr_rtas.o
+obj-$(CONFIG_PSERIES) += spapr_pci.o
 # PowerPC 4xx boards
 obj-y += ppc405_boards.o ppc4xx_devs.o ppc405_uc.o ppc440_bamboo.o
+obj-y += ppc4xx_pci.o
 # PReP
 obj-y += prep.o
 # OldWorld PowerMac
diff --git a/hw/ppc4xx_pci.c b/hw/ppc/ppc4xx_pci.c
similarity index 100%
rename from hw/ppc4xx_pci.c
rename to hw/ppc/ppc4xx_pci.c
diff --git a/hw/spapr_pci.c b/hw/ppc/spapr_pci.c
similarity index 100%
rename from hw/spapr_pci.c
rename to hw/ppc/spapr_pci.c
diff --git a/hw/sh4/Makefile.objs b/hw/sh4/Makefile.objs
index 76b37bb..0387b96 100644
--- a/hw/sh4/Makefile.objs
+++ b/hw/sh4/Makefile.objs
@@ -1,7 +1,8 @@
-obj-y += sh_intc.o sh_pci.o
+obj-y += sh_intc.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
 obj-y += shix.o r2d.o
 
 obj-y += sh7750.o sh7750_regnames.o
+obj-y += sh_pci.o
diff --git a/hw/sh_pci.c b/hw/sh4/sh_pci.c
similarity index 100%
rename from hw/sh_pci.c
rename to hw/sh4/sh_pci.c
diff --git a/hw/sparc64/Makefile.objs b/hw/sparc64/Makefile.objs
index 178464b..a84cfe3 100644
--- a/hw/sparc64/Makefile.objs
+++ b/hw/sparc64/Makefile.objs
@@ -1,5 +1 @@
-obj-y = apb_pci.o
-
-obj-y := $(addprefix ../,$(obj-y))
-
 obj-y += sun4u.o
diff --git a/include/hw/pci-host/q35.h b/include/hw/pci-host/q35.h
index 6b50b5f..e182c82 100644
--- a/include/hw/pci-host/q35.h
+++ b/include/hw/pci-host/q35.h
@@ -28,7 +28,6 @@
 #include "hw/sysbus.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/acpi.h"
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 25/35] hw: move VFIO and ivshmem to hw/misc/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (23 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 24/35] hw: move PCI bridges to hw/pci-* or hw/ARCH Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 26/35] hw: move DMA controllers to hw/dma/, configure with default-configs/ Paolo Bonzini
                   ` (9 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/Makefile.objs               | 10 ----------
 hw/misc/Makefile.objs          |  6 ++++++
 hw/{ => misc}/ivshmem.c        |  0
 hw/{vfio_pci.c => misc/vfio.c} |  0
 4 files changed, 6 insertions(+), 10 deletions(-)
 rename hw/{ => misc}/ivshmem.c (100%)
 rename hw/{vfio_pci.c => misc/vfio.c} (100%)

diff --git a/hw/Makefile.objs b/hw/Makefile.objs
index 297efce..c25e228 100644
--- a/hw/Makefile.objs
+++ b/hw/Makefile.objs
@@ -29,13 +29,3 @@ devices-dirs-$(CONFIG_SOFTMMU) += xen/
 common-obj-y += core/
 common-obj-y += $(devices-dirs-y)
 obj-y += $(devices-dirs-y)
-
-ifeq ($(CONFIG_SOFTMMU),y)
-
-# Inter-VM PCI shared memory & VFIO PCI device assignment
-ifeq ($(CONFIG_PCI), y)
-obj-$(CONFIG_KVM) += ivshmem.o
-obj-$(CONFIG_LINUX) += vfio_pci.o
-endif
-
-endif
diff --git a/hw/misc/Makefile.objs b/hw/misc/Makefile.objs
index 009b1d9..9b1ab39 100644
--- a/hw/misc/Makefile.objs
+++ b/hw/misc/Makefile.objs
@@ -9,3 +9,9 @@ common-obj-$(CONFIG_PL310) += arm_l2x0.o
 common-obj-$(CONFIG_PUV3) += puv3_pm.o
 
 common-obj-$(CONFIG_MACIO) += macio/
+
+ifeq ($(CONFIG_PCI), y)
+obj-$(CONFIG_KVM) += ivshmem.o
+obj-$(CONFIG_LINUX) += vfio.o
+endif
+
diff --git a/hw/ivshmem.c b/hw/misc/ivshmem.c
similarity index 100%
rename from hw/ivshmem.c
rename to hw/misc/ivshmem.c
diff --git a/hw/vfio_pci.c b/hw/misc/vfio.c
similarity index 100%
rename from hw/vfio_pci.c
rename to hw/misc/vfio.c
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 26/35] hw: move DMA controllers to hw/dma/, configure with default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (24 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 25/35] hw: move VFIO and ivshmem to hw/misc/ Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 27/35] hw: move interrupt controllers to hw/intc/, " Paolo Bonzini
                   ` (8 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/sparc-softmmu.mak | 2 ++
 hw/arm/Makefile.objs              | 7 ++-----
 hw/cris/Makefile.objs             | 1 -
 hw/dma/Makefile.objs              | 6 ++++++
 hw/{ => dma}/etraxfs_dma.c        | 0
 hw/{ => dma}/omap_dma.c           | 0
 hw/{ => dma}/pxa2xx_dma.c         | 0
 hw/{ => dma}/soc_dma.c            | 0
 hw/{ => dma}/sparc32_dma.c        | 0
 hw/{ => dma}/sun4m_iommu.c        | 3 +--
 hw/sparc/Makefile.objs            | 4 ++--
 11 files changed, 13 insertions(+), 10 deletions(-)
 rename hw/{ => dma}/etraxfs_dma.c (100%)
 rename hw/{ => dma}/omap_dma.c (100%)
 rename hw/{ => dma}/pxa2xx_dma.c (100%)
 rename hw/{ => dma}/soc_dma.c (100%)
 rename hw/{ => dma}/sparc32_dma.c (100%)
 rename hw/{ => dma}/sun4m_iommu.c (99%)

diff --git a/default-configs/sparc-softmmu.mak b/default-configs/sparc-softmmu.mak
index 6a2bad3..8c4d0a6 100644
--- a/default-configs/sparc-softmmu.mak
+++ b/default-configs/sparc-softmmu.mak
@@ -13,3 +13,5 @@ CONFIG_TCX=y
 CONFIG_SLAVIO=y
 CONFIG_CS4231=y
 CONFIG_GRLIB=y
+CONFIG_STP2000=y
+CONFIG_SUN4M=y
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 8e8e799..59b5cf6 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -6,13 +6,10 @@ obj-y += exynos4210_gic.o exynos4210_combiner.o
 obj-y += exynos4210_pmu.o
 obj-y += a15mpcore.o
 obj-y += armv7m_nvic.o
-obj-y += pxa2xx_dma.o
 obj-y += pxa2xx_pcmcia.o
 obj-y += zaurus.o
-obj-y += omap_dma.o omap_clk.o \
-                omap_gpio.o omap_intc.o
-obj-y += soc_dma.o \
-                omap_gpmc.o omap_sdrc.o omap_tap.o omap_l4.o
+obj-y += omap_clk.o omap_gpio.o omap_intc.o
+obj-y += omap_gpmc.o omap_sdrc.o omap_tap.o omap_l4.o
 obj-y += cbus.o
 obj-y += mst_fpga.o
 obj-y += strongarm.o
diff --git a/hw/cris/Makefile.objs b/hw/cris/Makefile.objs
index a8a4a9e..f8c85a4 100644
--- a/hw/cris/Makefile.objs
+++ b/hw/cris/Makefile.objs
@@ -1,5 +1,4 @@
 # IO blocks
-obj-y += etraxfs_dma.o
 obj-y += etraxfs_pic.o
 
 obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/dma/Makefile.objs b/hw/dma/Makefile.objs
index bce31cd..0e65ed0 100644
--- a/hw/dma/Makefile.objs
+++ b/hw/dma/Makefile.objs
@@ -5,3 +5,9 @@ common-obj-$(CONFIG_PL330) += pl330.o
 common-obj-$(CONFIG_I82374) += i82374.o
 common-obj-$(CONFIG_I8257) += i8257.o
 common-obj-$(CONFIG_XILINX_AXI) += xilinx_axidma.o
+common-obj-$(CONFIG_ETRAXFS) += etraxfs_dma.o
+common-obj-$(CONFIG_STP2000) += sparc32_dma.o
+common-obj-$(CONFIG_SUN4M) += sun4m_iommu.o
+
+obj-$(CONFIG_OMAP) += omap_dma.o soc_dma.o
+obj-$(CONFIG_PXA2XX) += pxa2xx_dma.o
diff --git a/hw/etraxfs_dma.c b/hw/dma/etraxfs_dma.c
similarity index 100%
rename from hw/etraxfs_dma.c
rename to hw/dma/etraxfs_dma.c
diff --git a/hw/omap_dma.c b/hw/dma/omap_dma.c
similarity index 100%
rename from hw/omap_dma.c
rename to hw/dma/omap_dma.c
diff --git a/hw/pxa2xx_dma.c b/hw/dma/pxa2xx_dma.c
similarity index 100%
rename from hw/pxa2xx_dma.c
rename to hw/dma/pxa2xx_dma.c
diff --git a/hw/soc_dma.c b/hw/dma/soc_dma.c
similarity index 100%
rename from hw/soc_dma.c
rename to hw/dma/soc_dma.c
diff --git a/hw/sparc32_dma.c b/hw/dma/sparc32_dma.c
similarity index 100%
rename from hw/sparc32_dma.c
rename to hw/dma/sparc32_dma.c
diff --git a/hw/sun4m_iommu.c b/hw/dma/sun4m_iommu.c
similarity index 99%
rename from hw/sun4m_iommu.c
rename to hw/dma/sun4m_iommu.c
index 744b584..8312bff 100644
--- a/hw/sun4m_iommu.c
+++ b/hw/dma/sun4m_iommu.c
@@ -258,8 +258,7 @@ static uint32_t iommu_page_get_flags(IOMMUState *s, hwaddr addr)
     iopte = s->regs[IOMMU_BASE] << 4;
     addr &= ~s->iostart;
     iopte += (addr >> (IOMMU_PAGE_SHIFT - 2)) & ~3;
-    cpu_physical_memory_read(iopte, (uint8_t *)&ret, 4);
-    tswap32s(&ret);
+    ret = ldl_be_phys(iopte);
     trace_sun4m_iommu_page_get_flags(pa, iopte, ret);
     return ret;
 }
diff --git a/hw/sparc/Makefile.objs b/hw/sparc/Makefile.objs
index ab1d91c..3de10ff 100644
--- a/hw/sparc/Makefile.objs
+++ b/hw/sparc/Makefile.objs
@@ -1,5 +1,5 @@
-obj-y = sun4m_iommu.o slavio_intctl.o
-obj-y += slavio_misc.o sparc32_dma.o
+obj-y = slavio_intctl.o
+obj-y += slavio_misc.o
 obj-y += eccmemctl.o sbi.o sun4c_intctl.o
 
 # GRLIB
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 27/35] hw: move interrupt controllers to hw/intc/, configure with default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (25 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 26/35] hw: move DMA controllers to hw/dma/, configure with default-configs/ Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 28/35] hw: move GPIO interfaces to hw/gpio/, " Paolo Bonzini
                   ` (7 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak          |  4 ++++
 default-configs/i386-softmmu.mak         |  2 ++
 default-configs/ppc-softmmu.mak          |  1 +
 default-configs/ppc64-softmmu.mak        |  1 +
 default-configs/ppcemb-softmmu.mak       |  1 +
 default-configs/x86_64-softmmu.mak       |  2 ++
 hw/arm/Makefile.objs                     | 10 +++-------
 hw/cris/Makefile.objs                    |  6 ------
 hw/i386/Makefile.objs                    |  3 +--
 hw/intc/Makefile.objs                    | 18 ++++++++++++++++++
 hw/{ => intc}/apic.c                     |  0
 hw/{ => intc}/apic_common.c              |  0
 hw/{ => intc}/arm_gic.c                  |  0
 hw/{ => intc}/arm_gic_common.c           |  0
 hw/{kvm/arm_gic.c => intc/arm_gic_kvm.c} |  0
 hw/{ => intc}/armv7m_nvic.c              |  0
 hw/{ => intc}/etraxfs_pic.c              |  0
 hw/{ => intc}/exynos4210_combiner.c      |  0
 hw/{ => intc}/exynos4210_gic.c           |  0
 hw/{ => intc}/grlib_irqmp.c              |  0
 hw/{ => intc}/imx_avic.c                 |  0
 hw/{ => intc}/ioapic.c                   |  1 -
 hw/{ => intc}/ioapic_common.c            |  0
 hw/{ => intc}/lm32_pic.c                 |  0
 hw/{ => intc}/omap_intc.c                |  0
 hw/{ => intc}/openpic.c                  |  0
 hw/{ => intc}/realview_gic.c             |  0
 hw/{ => intc}/sbi.c                      |  0
 hw/{ => intc}/sh_intc.c                  |  0
 hw/{ => intc}/slavio_intctl.c            |  0
 hw/{ => intc}/sun4c_intctl.c             |  0
 hw/lm32/Makefile.objs                    |  1 -
 hw/ppc/Makefile.objs                     |  2 --
 hw/sh4/Makefile.objs                     |  4 ----
 hw/sparc/Makefile.objs                   |  6 +-----
 35 files changed, 34 insertions(+), 28 deletions(-)
 rename hw/{ => intc}/apic.c (100%)
 rename hw/{ => intc}/apic_common.c (100%)
 rename hw/{ => intc}/arm_gic.c (100%)
 rename hw/{ => intc}/arm_gic_common.c (100%)
 rename hw/{kvm/arm_gic.c => intc/arm_gic_kvm.c} (100%)
 rename hw/{ => intc}/armv7m_nvic.c (100%)
 rename hw/{ => intc}/etraxfs_pic.c (100%)
 rename hw/{ => intc}/exynos4210_combiner.c (100%)
 rename hw/{ => intc}/exynos4210_gic.c (100%)
 rename hw/{ => intc}/grlib_irqmp.c (100%)
 rename hw/{ => intc}/imx_avic.c (100%)
 rename hw/{ => intc}/ioapic.c (99%)
 rename hw/{ => intc}/ioapic_common.c (100%)
 rename hw/{ => intc}/lm32_pic.c (100%)
 rename hw/{ => intc}/omap_intc.c (100%)
 rename hw/{ => intc}/openpic.c (100%)
 rename hw/{ => intc}/realview_gic.c (100%)
 rename hw/{ => intc}/sbi.c (100%)
 rename hw/{ => intc}/sh_intc.c (100%)
 rename hw/{ => intc}/slavio_intctl.c (100%)
 rename hw/{ => intc}/sun4c_intctl.c (100%)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 94b52da..93c7d95 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -16,6 +16,7 @@ CONFIG_TWL92230=y
 CONFIG_TSC2005=y
 CONFIG_LM832X=y
 CONFIG_TMP105=y
+CONFIG_STELLARIS=y
 CONFIG_STELLARIS_INPUT=y
 CONFIG_STELLARIS_ENET=y
 CONFIG_SSD0303=y
@@ -33,6 +34,8 @@ CONFIG_PFLASH_CFI02=y
 CONFIG_MICRODRIVE=y
 CONFIG_USB_MUSB=y
 
+CONFIG_ARM_GIC=y
+CONFIG_ARM_GIC_KVM=$(CONFIG_KVM)
 CONFIG_ARM_TIMER=y
 CONFIG_ARM_MPTIMER=y
 CONFIG_PL011=y
@@ -62,6 +65,7 @@ CONFIG_BLIZZARD=y
 CONFIG_ONENAND=y
 CONFIG_TUSB6010=y
 CONFIG_IMX=y
+CONFIG_REALVIEW=y
 CONFIG_ZAURUS=y
 
 CONFIG_VERSATILE_PCI=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index fa070cd..79851bd 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -40,3 +40,5 @@ CONFIG_XEN_I386=$(CONFIG_XEN)
 CONFIG_ISA_DEBUG=y
 CONFIG_LPC_ICH9=y
 CONFIG_Q35=y
+CONFIG_APIC=y
+CONFIG_IOAPIC=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index 36a8ed3..50034fc 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -41,6 +41,7 @@ CONFIG_PTIMER=y
 CONFIG_I8259=y
 CONFIG_XILINX=y
 CONFIG_XILINX_ETHLITE=y
+CONFIG_OPENPIC=y
 CONFIG_E500=$(CONFIG_FDT)
 # For PReP
 CONFIG_MC146818RTC=y
diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
index 2d5df77..6398d60 100644
--- a/default-configs/ppc64-softmmu.mak
+++ b/default-configs/ppc64-softmmu.mak
@@ -41,6 +41,7 @@ CONFIG_PTIMER=y
 CONFIG_I8259=y
 CONFIG_XILINX=y
 CONFIG_XILINX_ETHLITE=y
+CONFIG_OPENPIC=y
 CONFIG_PSERIES=$(CONFIG_FDT)
 CONFIG_E500=$(CONFIG_FDT)
 # For pSeries
diff --git a/default-configs/ppcemb-softmmu.mak b/default-configs/ppcemb-softmmu.mak
index ce705a9..05b50d6 100644
--- a/default-configs/ppcemb-softmmu.mak
+++ b/default-configs/ppcemb-softmmu.mak
@@ -36,6 +36,7 @@ CONFIG_PTIMER=y
 CONFIG_I8259=y
 CONFIG_XILINX=y
 CONFIG_XILINX_ETHLITE=y
+CONFIG_OPENPIC=y
 CONFIG_E500=$(CONFIG_FDT)
 # For PReP
 CONFIG_MC146818RTC=y
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index 3102c09..176f493 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -40,3 +40,5 @@ CONFIG_XEN_I386=$(CONFIG_XEN)
 CONFIG_ISA_DEBUG=y
 CONFIG_LPC_ICH9=y
 CONFIG_Q35=y
+CONFIG_APIC=y
+CONFIG_IOAPIC=y
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 59b5cf6..915073b 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -1,20 +1,16 @@
 obj-y += zynq_slcr.o
-obj-y += arm_gic.o arm_gic_common.o
 obj-y += a9scu.o
-obj-y += realview_gic.o arm_sysctl.o arm11mpcore.o a9mpcore.o
-obj-y += exynos4210_gic.o exynos4210_combiner.o
+obj-y += arm_sysctl.o arm11mpcore.o a9mpcore.o
 obj-y += exynos4210_pmu.o
 obj-y += a15mpcore.o
-obj-y += armv7m_nvic.o
 obj-y += pxa2xx_pcmcia.o
 obj-y += zaurus.o
-obj-y += omap_clk.o omap_gpio.o omap_intc.o
+obj-y += omap_clk.o omap_gpio.o
 obj-y += omap_gpmc.o omap_sdrc.o omap_tap.o omap_l4.o
 obj-y += cbus.o
 obj-y += mst_fpga.o
 obj-y += strongarm.o
-obj-y += imx_ccm.o imx_avic.o
-obj-$(CONFIG_KVM) += kvm/arm_gic.o
+obj-y += imx_ccm.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/cris/Makefile.objs b/hw/cris/Makefile.objs
index f8c85a4..776db7c 100644
--- a/hw/cris/Makefile.objs
+++ b/hw/cris/Makefile.objs
@@ -1,9 +1,3 @@
-# IO blocks
-obj-y += etraxfs_pic.o
-
-obj-y := $(addprefix ../,$(obj-y))
-
-# Boards
 obj-y += pic_cpu.o
 obj-y += boot.o
 obj-y += axis_dev88.o
diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index a531d3a..533d337 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -1,5 +1,4 @@
-obj-y += apic_common.o apic.o
-obj-y += sga.o ioapic_common.o ioapic.o
+obj-y += sga.o
 obj-y += vmport.o
 obj-y += debugexit.o
 obj-y += kvm/
diff --git a/hw/intc/Makefile.objs b/hw/intc/Makefile.objs
index 2813adb..718d97a 100644
--- a/hw/intc/Makefile.objs
+++ b/hw/intc/Makefile.objs
@@ -3,3 +3,21 @@ common-obj-$(CONFIG_I8259) += i8259_common.o i8259.o
 common-obj-$(CONFIG_PL190) += pl190.o
 common-obj-$(CONFIG_PUV3) += puv3_intc.o
 common-obj-$(CONFIG_XILINX) += xilinx_intc.o
+common-obj-$(CONFIG_ETRAXFS) += etraxfs_pic.o
+common-obj-$(CONFIG_IMX) += imx_avic.o
+common-obj-$(CONFIG_LM32) += lm32_pic.o
+common-obj-$(CONFIG_REALVIEW) += realview_gic.o
+common-obj-$(CONFIG_SLAVIO) += sbi.o slavio_intctl.o sun4c_intctl.o
+common-obj-$(CONFIG_IOAPIC) += ioapic_common.o
+common-obj-$(CONFIG_ARM_GIC) += arm_gic_common.o
+
+obj-$(CONFIG_APIC) += apic.o apic_common.o
+obj-$(CONFIG_ARM_GIC) += arm_gic.o
+obj-$(CONFIG_ARM_GIC_KVM) += arm_gic_kvm.o
+obj-$(CONFIG_STELLARIS) += armv7m_nvic.o
+obj-$(CONFIG_EXYNOS4) += exynos4210_gic.o exynos4210_combiner.o
+obj-$(CONFIG_GRLIB) += grlib_irqmp.o
+obj-$(CONFIG_IOAPIC) += ioapic.o
+obj-$(CONFIG_OMAP) += omap_intc.o
+obj-$(CONFIG_OPENPIC) += openpic.o
+obj-$(CONFIG_SH4) += sh_intc.o
diff --git a/hw/apic.c b/hw/intc/apic.c
similarity index 100%
rename from hw/apic.c
rename to hw/intc/apic.c
diff --git a/hw/apic_common.c b/hw/intc/apic_common.c
similarity index 100%
rename from hw/apic_common.c
rename to hw/intc/apic_common.c
diff --git a/hw/arm_gic.c b/hw/intc/arm_gic.c
similarity index 100%
rename from hw/arm_gic.c
rename to hw/intc/arm_gic.c
diff --git a/hw/arm_gic_common.c b/hw/intc/arm_gic_common.c
similarity index 100%
rename from hw/arm_gic_common.c
rename to hw/intc/arm_gic_common.c
diff --git a/hw/kvm/arm_gic.c b/hw/intc/arm_gic_kvm.c
similarity index 100%
rename from hw/kvm/arm_gic.c
rename to hw/intc/arm_gic_kvm.c
diff --git a/hw/armv7m_nvic.c b/hw/intc/armv7m_nvic.c
similarity index 100%
rename from hw/armv7m_nvic.c
rename to hw/intc/armv7m_nvic.c
diff --git a/hw/etraxfs_pic.c b/hw/intc/etraxfs_pic.c
similarity index 100%
rename from hw/etraxfs_pic.c
rename to hw/intc/etraxfs_pic.c
diff --git a/hw/exynos4210_combiner.c b/hw/intc/exynos4210_combiner.c
similarity index 100%
rename from hw/exynos4210_combiner.c
rename to hw/intc/exynos4210_combiner.c
diff --git a/hw/exynos4210_gic.c b/hw/intc/exynos4210_gic.c
similarity index 100%
rename from hw/exynos4210_gic.c
rename to hw/intc/exynos4210_gic.c
diff --git a/hw/grlib_irqmp.c b/hw/intc/grlib_irqmp.c
similarity index 100%
rename from hw/grlib_irqmp.c
rename to hw/intc/grlib_irqmp.c
diff --git a/hw/imx_avic.c b/hw/intc/imx_avic.c
similarity index 100%
rename from hw/imx_avic.c
rename to hw/intc/imx_avic.c
diff --git a/hw/ioapic.c b/hw/intc/ioapic.c
similarity index 99%
rename from hw/ioapic.c
rename to hw/intc/ioapic.c
index 7089fa8..c6f09f4 100644
--- a/hw/ioapic.c
+++ b/hw/intc/ioapic.c
@@ -22,7 +22,6 @@
 
 #include "hw/hw.h"
 #include "hw/i386/pc.h"
-#include "hw/i386/apic.h"
 #include "hw/i386/ioapic.h"
 #include "hw/i386/ioapic_internal.h"
 
diff --git a/hw/ioapic_common.c b/hw/intc/ioapic_common.c
similarity index 100%
rename from hw/ioapic_common.c
rename to hw/intc/ioapic_common.c
diff --git a/hw/lm32_pic.c b/hw/intc/lm32_pic.c
similarity index 100%
rename from hw/lm32_pic.c
rename to hw/intc/lm32_pic.c
diff --git a/hw/omap_intc.c b/hw/intc/omap_intc.c
similarity index 100%
rename from hw/omap_intc.c
rename to hw/intc/omap_intc.c
diff --git a/hw/openpic.c b/hw/intc/openpic.c
similarity index 100%
rename from hw/openpic.c
rename to hw/intc/openpic.c
diff --git a/hw/realview_gic.c b/hw/intc/realview_gic.c
similarity index 100%
rename from hw/realview_gic.c
rename to hw/intc/realview_gic.c
diff --git a/hw/sbi.c b/hw/intc/sbi.c
similarity index 100%
rename from hw/sbi.c
rename to hw/intc/sbi.c
diff --git a/hw/sh_intc.c b/hw/intc/sh_intc.c
similarity index 100%
rename from hw/sh_intc.c
rename to hw/intc/sh_intc.c
diff --git a/hw/slavio_intctl.c b/hw/intc/slavio_intctl.c
similarity index 100%
rename from hw/slavio_intctl.c
rename to hw/intc/slavio_intctl.c
diff --git a/hw/sun4c_intctl.c b/hw/intc/sun4c_intctl.c
similarity index 100%
rename from hw/sun4c_intctl.c
rename to hw/intc/sun4c_intctl.c
diff --git a/hw/lm32/Makefile.objs b/hw/lm32/Makefile.objs
index bf8d152..1e59ac5 100644
--- a/hw/lm32/Makefile.objs
+++ b/hw/lm32/Makefile.objs
@@ -1,5 +1,4 @@
 # LM32 peripherals
-obj-y += lm32_pic.o
 obj-y += lm32_sys.o
 obj-y += milkymist-hpdmc.o
 obj-y += milkymist-pfpu.o
diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
index 70342c2..280ed26 100644
--- a/hw/ppc/Makefile.objs
+++ b/hw/ppc/Makefile.objs
@@ -1,7 +1,5 @@
 # IBM pSeries (sPAPR)
 obj-$(CONFIG_PSERIES) += spapr_nvram.o
-# PowerPC OpenPIC
-obj-y += openpic.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/sh4/Makefile.objs b/hw/sh4/Makefile.objs
index 0387b96..2393702 100644
--- a/hw/sh4/Makefile.objs
+++ b/hw/sh4/Makefile.objs
@@ -1,7 +1,3 @@
-obj-y += sh_intc.o
-
-obj-y := $(addprefix ../,$(obj-y))
-
 obj-y += shix.o r2d.o
 
 obj-y += sh7750.o sh7750_regnames.o
diff --git a/hw/sparc/Makefile.objs b/hw/sparc/Makefile.objs
index 3de10ff..3246bb1 100644
--- a/hw/sparc/Makefile.objs
+++ b/hw/sparc/Makefile.objs
@@ -1,9 +1,5 @@
-obj-y = slavio_intctl.o
 obj-y += slavio_misc.o
-obj-y += eccmemctl.o sbi.o sun4c_intctl.o
-
-# GRLIB
-obj-y += grlib_irqmp.o
+obj-y += eccmemctl.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 28/35] hw: move GPIO interfaces to hw/gpio/, configure with default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (26 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 27/35] hw: move interrupt controllers to hw/intc/, " Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 29/35] hw: move NVRAM interfaces to hw/nvram/, " Paolo Bonzini
                   ` (6 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/arm/Makefile.objs      | 3 +--
 hw/gpio/Makefile.objs     | 3 +++
 hw/{ => gpio}/omap_gpio.c | 0
 hw/{ => gpio}/zaurus.c    | 0
 4 files changed, 4 insertions(+), 2 deletions(-)
 rename hw/{ => gpio}/omap_gpio.c (100%)
 rename hw/{ => gpio}/zaurus.c (100%)

diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 915073b..ec4d0cb 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -4,8 +4,7 @@ obj-y += arm_sysctl.o arm11mpcore.o a9mpcore.o
 obj-y += exynos4210_pmu.o
 obj-y += a15mpcore.o
 obj-y += pxa2xx_pcmcia.o
-obj-y += zaurus.o
-obj-y += omap_clk.o omap_gpio.o
+obj-y += omap_clk.o
 obj-y += omap_gpmc.o omap_sdrc.o omap_tap.o omap_l4.o
 obj-y += cbus.o
 obj-y += mst_fpga.o
diff --git a/hw/gpio/Makefile.objs b/hw/gpio/Makefile.objs
index f8d8ee8..2c8b51f 100644
--- a/hw/gpio/Makefile.objs
+++ b/hw/gpio/Makefile.objs
@@ -1,3 +1,6 @@
 common-obj-$(CONFIG_MAX7310) += max7310.o
 common-obj-$(CONFIG_PL061) += pl061.o
 common-obj-$(CONFIG_PUV3) += puv3_gpio.o
+common-obj-$(CONFIG_ZAURUS) += zaurus.o
+
+obj-$(CONFIG_OMAP) += omap_gpio.o
diff --git a/hw/omap_gpio.c b/hw/gpio/omap_gpio.c
similarity index 100%
rename from hw/omap_gpio.c
rename to hw/gpio/omap_gpio.c
diff --git a/hw/zaurus.c b/hw/gpio/zaurus.c
similarity index 100%
rename from hw/zaurus.c
rename to hw/gpio/zaurus.c
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 29/35] hw: move NVRAM interfaces to hw/nvram/, configure with default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (27 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 28/35] hw: move GPIO interfaces to hw/gpio/, " Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 30/35] hw: move other devices to hw/misc/, " Paolo Bonzini
                   ` (5 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/nvram/Makefile.objs       | 1 +
 hw/{ => nvram}/spapr_nvram.c | 0
 hw/ppc/Makefile.objs         | 5 -----
 3 files changed, 1 insertion(+), 5 deletions(-)
 rename hw/{ => nvram}/spapr_nvram.c (100%)

diff --git a/hw/nvram/Makefile.objs b/hw/nvram/Makefile.objs
index 80fb1b0..e9a6694 100644
--- a/hw/nvram/Makefile.objs
+++ b/hw/nvram/Makefile.objs
@@ -2,3 +2,4 @@ common-obj-$(CONFIG_DS1225Y) += ds1225y.o
 common-obj-y += eeprom93xx.o
 common-obj-y += fw_cfg.o
 common-obj-$(CONFIG_MAC_NVRAM) += mac_nvram.o
+obj-$(CONFIG_PSERIES) += spapr_nvram.o
diff --git a/hw/spapr_nvram.c b/hw/nvram/spapr_nvram.c
similarity index 100%
rename from hw/spapr_nvram.c
rename to hw/nvram/spapr_nvram.c
diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
index 280ed26..be00d1d 100644
--- a/hw/ppc/Makefile.objs
+++ b/hw/ppc/Makefile.objs
@@ -1,8 +1,3 @@
-# IBM pSeries (sPAPR)
-obj-$(CONFIG_PSERIES) += spapr_nvram.o
-
-obj-y := $(addprefix ../,$(obj-y))
-
 # shared objects
 obj-y += ppc.o ppc_booke.o
 # IBM pSeries (sPAPR)
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 30/35] hw: move other devices to hw/misc/, configure with default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (28 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 29/35] hw: move NVRAM interfaces to hw/nvram/, " Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 31/35] hw: move ARM CPU cores to hw/cpu/, " Paolo Bonzini
                   ` (4 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak    |  4 ++++
 default-configs/i386-softmmu.mak   |  3 +++
 default-configs/sparc-softmmu.mak  |  1 +
 default-configs/x86_64-softmmu.mak |  3 +++
 hw/arm/Makefile.objs               | 11 +----------
 hw/i386/Makefile.objs              |  4 ----
 hw/lm32/Makefile.objs              |  7 -------
 hw/misc/Makefile.objs              | 23 +++++++++++++++++++++++
 hw/{ => misc}/a9scu.c              |  0
 hw/{ => misc}/arm_sysctl.c         |  0
 hw/{ => misc}/cbus.c               |  0
 hw/{ => misc}/debugexit.c          |  0
 hw/{ => misc}/eccmemctl.c          |  0
 hw/{ => misc}/exynos4210_pmu.c     |  0
 hw/{ => misc}/imx_ccm.c            |  0
 hw/{ => misc}/lm32_sys.c           |  0
 hw/{ => misc}/milkymist-hpdmc.c    |  0
 hw/{ => misc}/milkymist-pfpu.c     |  0
 hw/{ => misc}/mst_fpga.c           |  0
 hw/{ => misc}/omap_clk.c           |  0
 hw/{ => misc}/omap_gpmc.c          |  0
 hw/{ => misc}/omap_l4.c            |  0
 hw/{ => misc}/omap_sdrc.c          |  0
 hw/{ => misc}/omap_tap.c           |  0
 hw/{ => misc}/pc-testdev.c         |  0
 hw/{ => misc}/pxa2xx_pcmcia.c      |  0
 hw/{ => misc}/sga.c                |  0
 hw/{ => misc}/slavio_misc.c        |  0
 hw/{ => misc}/vmport.c             |  0
 hw/{ => misc}/zynq_slcr.c          |  0
 hw/sparc/Makefile.objs             |  5 -----
 31 files changed, 35 insertions(+), 26 deletions(-)
 rename hw/{ => misc}/a9scu.c (100%)
 rename hw/{ => misc}/arm_sysctl.c (100%)
 rename hw/{ => misc}/cbus.c (100%)
 rename hw/{ => misc}/debugexit.c (100%)
 rename hw/{ => misc}/eccmemctl.c (100%)
 rename hw/{ => misc}/exynos4210_pmu.c (100%)
 rename hw/{ => misc}/imx_ccm.c (100%)
 rename hw/{ => misc}/lm32_sys.c (100%)
 rename hw/{ => misc}/milkymist-hpdmc.c (100%)
 rename hw/{ => misc}/milkymist-pfpu.c (100%)
 rename hw/{ => misc}/mst_fpga.c (100%)
 rename hw/{ => misc}/omap_clk.c (100%)
 rename hw/{ => misc}/omap_gpmc.c (100%)
 rename hw/{ => misc}/omap_l4.c (100%)
 rename hw/{ => misc}/omap_sdrc.c (100%)
 rename hw/{ => misc}/omap_tap.c (100%)
 rename hw/{ => misc}/pc-testdev.c (100%)
 rename hw/{ => misc}/pxa2xx_pcmcia.c (100%)
 rename hw/{ => misc}/sga.c (100%)
 rename hw/{ => misc}/slavio_misc.c (100%)
 rename hw/{ => misc}/vmport.c (100%)
 rename hw/{ => misc}/zynq_slcr.c (100%)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 93c7d95..e03840e 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -58,6 +58,7 @@ CONFIG_BITBANG_I2C=y
 CONFIG_FRAMEBUFFER=y
 CONFIG_XILINX_SPIPS=y
 
+CONFIG_A9SCU=y
 CONFIG_MARVELL_88W8618=y
 CONFIG_OMAP=y
 CONFIG_TSC210X=y
@@ -65,8 +66,11 @@ CONFIG_BLIZZARD=y
 CONFIG_ONENAND=y
 CONFIG_TUSB6010=y
 CONFIG_IMX=y
+CONFIG_MAINSTONE=y
+CONFIG_NSERIES=y
 CONFIG_REALVIEW=y
 CONFIG_ZAURUS=y
+CONFIG_ZYNQ=y
 
 CONFIG_VERSATILE_PCI=y
 CONFIG_VERSATILE_I2C=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 79851bd..4ac0694 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -38,6 +38,9 @@ CONFIG_WDT_IB700=y
 CONFIG_PC_SYSFW=y
 CONFIG_XEN_I386=$(CONFIG_XEN)
 CONFIG_ISA_DEBUG=y
+CONFIG_ISA_TESTDEV=y
+CONFIG_VMPORT=y
+CONFIG_SGA=y
 CONFIG_LPC_ICH9=y
 CONFIG_Q35=y
 CONFIG_APIC=y
diff --git a/default-configs/sparc-softmmu.mak b/default-configs/sparc-softmmu.mak
index 8c4d0a6..8fc93dd 100644
--- a/default-configs/sparc-softmmu.mak
+++ b/default-configs/sparc-softmmu.mak
@@ -14,4 +14,5 @@ CONFIG_SLAVIO=y
 CONFIG_CS4231=y
 CONFIG_GRLIB=y
 CONFIG_STP2000=y
+CONFIG_ECCMEMCTL=y
 CONFIG_SUN4M=y
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index 176f493..bf4091c 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -38,6 +38,9 @@ CONFIG_WDT_IB700=y
 CONFIG_PC_SYSFW=y
 CONFIG_XEN_I386=$(CONFIG_XEN)
 CONFIG_ISA_DEBUG=y
+CONFIG_ISA_TESTDEV=y
+CONFIG_VMPORT=y
+CONFIG_SGA=y
 CONFIG_LPC_ICH9=y
 CONFIG_Q35=y
 CONFIG_APIC=y
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index ec4d0cb..cb94927 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -1,15 +1,6 @@
-obj-y += zynq_slcr.o
-obj-y += a9scu.o
-obj-y += arm_sysctl.o arm11mpcore.o a9mpcore.o
-obj-y += exynos4210_pmu.o
+obj-y += arm11mpcore.o a9mpcore.o
 obj-y += a15mpcore.o
-obj-y += pxa2xx_pcmcia.o
-obj-y += omap_clk.o
-obj-y += omap_gpmc.o omap_sdrc.o omap_tap.o omap_l4.o
-obj-y += cbus.o
-obj-y += mst_fpga.o
 obj-y += strongarm.o
-obj-y += imx_ccm.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index 533d337..c1d73a8 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -1,8 +1,4 @@
-obj-y += sga.o
-obj-y += vmport.o
-obj-y += debugexit.o
 obj-y += kvm/
-obj-y += pc-testdev.o
 
 obj-y := $(addprefix ../,$(obj-y))
 
diff --git a/hw/lm32/Makefile.objs b/hw/lm32/Makefile.objs
index 1e59ac5..ea6418a 100644
--- a/hw/lm32/Makefile.objs
+++ b/hw/lm32/Makefile.objs
@@ -1,10 +1,3 @@
-# LM32 peripherals
-obj-y += lm32_sys.o
-obj-y += milkymist-hpdmc.o
-obj-y += milkymist-pfpu.o
-
-obj-y := $(addprefix ../,$(obj-y))
-
 # LM32 boards
 obj-y += lm32_boards.o
 obj-y += milkymist.o
diff --git a/hw/misc/Makefile.objs b/hw/misc/Makefile.objs
index 9b1ab39..03699c3 100644
--- a/hw/misc/Makefile.objs
+++ b/hw/misc/Makefile.objs
@@ -1,6 +1,11 @@
 common-obj-$(CONFIG_APPLESMC) += applesmc.o
 common-obj-$(CONFIG_MAX111X) += max111x.o
 common-obj-$(CONFIG_TMP105) += tmp105.o
+common-obj-$(CONFIG_ISA_DEBUG) += debugexit.o
+common-obj-$(CONFIG_SGA) += sga.o
+common-obj-$(CONFIG_ISA_TESTDEV) += pc-testdev.o
+
+obj-$(CONFIG_VMPORT) += vmport.o
 
 # ARM devices
 common-obj-$(CONFIG_PL310) += arm_l2x0.o
@@ -15,3 +20,21 @@ obj-$(CONFIG_KVM) += ivshmem.o
 obj-$(CONFIG_LINUX) += vfio.o
 endif
 
+obj-$(CONFIG_REALVIEW) += arm_sysctl.o
+obj-$(CONFIG_A9SCU) += a9scu.o
+obj-$(CONFIG_NSERIES) += cbus.o
+obj-$(CONFIG_ECCMEMCTL) += eccmemctl.o
+obj-$(CONFIG_EXYNOS4) += exynos4210_pmu.o
+obj-$(CONFIG_IMX) += imx_ccm.o
+obj-$(CONFIG_LM32) += lm32_sys.o
+obj-$(CONFIG_MILKYMIST) += milkymist-hpdmc.o
+obj-$(CONFIG_MILKYMIST) += milkymist-pfpu.o
+obj-$(CONFIG_MAINSTONE) += mst_fpga.o
+obj-$(CONFIG_OMAP) += omap_clk.o
+obj-$(CONFIG_OMAP) += omap_gpmc.o
+obj-$(CONFIG_OMAP) += omap_l4.o
+obj-$(CONFIG_OMAP) += omap_sdrc.o
+obj-$(CONFIG_OMAP) += omap_tap.o
+obj-$(CONFIG_PXA2XX) += pxa2xx_pcmcia.o
+obj-$(CONFIG_SLAVIO) += slavio_misc.o
+obj-$(CONFIG_ZYNQ) += zynq_slcr.o
diff --git a/hw/a9scu.c b/hw/misc/a9scu.c
similarity index 100%
rename from hw/a9scu.c
rename to hw/misc/a9scu.c
diff --git a/hw/arm_sysctl.c b/hw/misc/arm_sysctl.c
similarity index 100%
rename from hw/arm_sysctl.c
rename to hw/misc/arm_sysctl.c
diff --git a/hw/cbus.c b/hw/misc/cbus.c
similarity index 100%
rename from hw/cbus.c
rename to hw/misc/cbus.c
diff --git a/hw/debugexit.c b/hw/misc/debugexit.c
similarity index 100%
rename from hw/debugexit.c
rename to hw/misc/debugexit.c
diff --git a/hw/eccmemctl.c b/hw/misc/eccmemctl.c
similarity index 100%
rename from hw/eccmemctl.c
rename to hw/misc/eccmemctl.c
diff --git a/hw/exynos4210_pmu.c b/hw/misc/exynos4210_pmu.c
similarity index 100%
rename from hw/exynos4210_pmu.c
rename to hw/misc/exynos4210_pmu.c
diff --git a/hw/imx_ccm.c b/hw/misc/imx_ccm.c
similarity index 100%
rename from hw/imx_ccm.c
rename to hw/misc/imx_ccm.c
diff --git a/hw/lm32_sys.c b/hw/misc/lm32_sys.c
similarity index 100%
rename from hw/lm32_sys.c
rename to hw/misc/lm32_sys.c
diff --git a/hw/milkymist-hpdmc.c b/hw/misc/milkymist-hpdmc.c
similarity index 100%
rename from hw/milkymist-hpdmc.c
rename to hw/misc/milkymist-hpdmc.c
diff --git a/hw/milkymist-pfpu.c b/hw/misc/milkymist-pfpu.c
similarity index 100%
rename from hw/milkymist-pfpu.c
rename to hw/misc/milkymist-pfpu.c
diff --git a/hw/mst_fpga.c b/hw/misc/mst_fpga.c
similarity index 100%
rename from hw/mst_fpga.c
rename to hw/misc/mst_fpga.c
diff --git a/hw/omap_clk.c b/hw/misc/omap_clk.c
similarity index 100%
rename from hw/omap_clk.c
rename to hw/misc/omap_clk.c
diff --git a/hw/omap_gpmc.c b/hw/misc/omap_gpmc.c
similarity index 100%
rename from hw/omap_gpmc.c
rename to hw/misc/omap_gpmc.c
diff --git a/hw/omap_l4.c b/hw/misc/omap_l4.c
similarity index 100%
rename from hw/omap_l4.c
rename to hw/misc/omap_l4.c
diff --git a/hw/omap_sdrc.c b/hw/misc/omap_sdrc.c
similarity index 100%
rename from hw/omap_sdrc.c
rename to hw/misc/omap_sdrc.c
diff --git a/hw/omap_tap.c b/hw/misc/omap_tap.c
similarity index 100%
rename from hw/omap_tap.c
rename to hw/misc/omap_tap.c
diff --git a/hw/pc-testdev.c b/hw/misc/pc-testdev.c
similarity index 100%
rename from hw/pc-testdev.c
rename to hw/misc/pc-testdev.c
diff --git a/hw/pxa2xx_pcmcia.c b/hw/misc/pxa2xx_pcmcia.c
similarity index 100%
rename from hw/pxa2xx_pcmcia.c
rename to hw/misc/pxa2xx_pcmcia.c
diff --git a/hw/sga.c b/hw/misc/sga.c
similarity index 100%
rename from hw/sga.c
rename to hw/misc/sga.c
diff --git a/hw/slavio_misc.c b/hw/misc/slavio_misc.c
similarity index 100%
rename from hw/slavio_misc.c
rename to hw/misc/slavio_misc.c
diff --git a/hw/vmport.c b/hw/misc/vmport.c
similarity index 100%
rename from hw/vmport.c
rename to hw/misc/vmport.c
diff --git a/hw/zynq_slcr.c b/hw/misc/zynq_slcr.c
similarity index 100%
rename from hw/zynq_slcr.c
rename to hw/misc/zynq_slcr.c
diff --git a/hw/sparc/Makefile.objs b/hw/sparc/Makefile.objs
index 3246bb1..c987b5b 100644
--- a/hw/sparc/Makefile.objs
+++ b/hw/sparc/Makefile.objs
@@ -1,6 +1 @@
-obj-y += slavio_misc.o
-obj-y += eccmemctl.o
-
-obj-y := $(addprefix ../,$(obj-y))
-
 obj-y += sun4m.o leon3.o
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 31/35] hw: move ARM CPU cores to hw/cpu/, configure with default-configs/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (29 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 30/35] hw: move other devices to hw/misc/, " Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 32/35] hw: move hw/kvm/ to hw/i386/kvm Paolo Bonzini
                   ` (3 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak | 4 ++++
 hw/arm/Makefile.objs            | 2 --
 hw/cpu/Makefile.objs            | 4 ++++
 hw/{ => cpu}/a15mpcore.c        | 0
 hw/{ => cpu}/a9mpcore.c         | 0
 hw/{ => cpu}/arm11mpcore.c      | 0
 6 files changed, 8 insertions(+), 2 deletions(-)
 rename hw/{ => cpu}/a15mpcore.c (100%)
 rename hw/{ => cpu}/a9mpcore.c (100%)
 rename hw/{ => cpu}/arm11mpcore.c (100%)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index e03840e..31725a9 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -34,6 +34,10 @@ CONFIG_PFLASH_CFI02=y
 CONFIG_MICRODRIVE=y
 CONFIG_USB_MUSB=y
 
+CONFIG_ARM5MPCORE=y
+CONFIG_ARM9MPCORE=y
+CONFIG_ARM15MPCORE=y
+
 CONFIG_ARM_GIC=y
 CONFIG_ARM_GIC_KVM=$(CONFIG_KVM)
 CONFIG_ARM_TIMER=y
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index cb94927..35c5f11 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -1,5 +1,3 @@
-obj-y += arm11mpcore.o a9mpcore.o
-obj-y += a15mpcore.o
 obj-y += strongarm.o
 
 obj-y := $(addprefix ../,$(obj-y))
diff --git a/hw/cpu/Makefile.objs b/hw/cpu/Makefile.objs
index e69de29..a49ca04 100644
--- a/hw/cpu/Makefile.objs
+++ b/hw/cpu/Makefile.objs
@@ -0,0 +1,4 @@
+obj-$(CONFIG_ARM11MPCORE) += arm11mpcore.o
+obj-$(CONFIG_ARM9MPCORE) += a9mpcore.o
+obj-$(CONFIG_ARM15MPCORE) += a15mpcore.o
+
diff --git a/hw/a15mpcore.c b/hw/cpu/a15mpcore.c
similarity index 100%
rename from hw/a15mpcore.c
rename to hw/cpu/a15mpcore.c
diff --git a/hw/a9mpcore.c b/hw/cpu/a9mpcore.c
similarity index 100%
rename from hw/a9mpcore.c
rename to hw/cpu/a9mpcore.c
diff --git a/hw/arm11mpcore.c b/hw/cpu/arm11mpcore.c
similarity index 100%
rename from hw/arm11mpcore.c
rename to hw/cpu/arm11mpcore.c
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 32/35] hw: move hw/kvm/ to hw/i386/kvm
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (30 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 31/35] hw: move ARM CPU cores to hw/cpu/, " Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 33/35] hw: move last file to hw/arm/ Paolo Bonzini
                   ` (2 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Peter requested the KVM GIC to be in hw/intc.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/i386/Makefile.objs          | 5 +----
 hw/i386/kvm/Makefile.objs      | 1 +
 hw/{ => i386}/kvm/apic.c       | 0
 hw/{ => i386}/kvm/clock.c      | 0
 hw/{ => i386}/kvm/i8254.c      | 0
 hw/{ => i386}/kvm/i8259.c      | 0
 hw/{ => i386}/kvm/ioapic.c     | 0
 hw/{ => i386}/kvm/pci-assign.c | 0
 hw/kvm/Makefile.objs           | 1 -
 9 files changed, 2 insertions(+), 5 deletions(-)
 create mode 100644 hw/i386/kvm/Makefile.objs
 rename hw/{ => i386}/kvm/apic.c (100%)
 rename hw/{ => i386}/kvm/clock.c (100%)
 rename hw/{ => i386}/kvm/i8254.c (100%)
 rename hw/{ => i386}/kvm/i8259.c (100%)
 rename hw/{ => i386}/kvm/ioapic.c (100%)
 rename hw/{ => i386}/kvm/pci-assign.c (100%)
 delete mode 100644 hw/kvm/Makefile.objs

diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index c1d73a8..205d22e 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -1,7 +1,4 @@
-obj-y += kvm/
-
-obj-y := $(addprefix ../,$(obj-y))
-
+obj-$(CONFIG_KVM) += kvm/
 obj-y += multiboot.o smbios.o
 obj-y += pc.o pc_piix.o pc_q35.o
 obj-$(CONFIG_XEN) += xen_domainbuild.o xen_machine_pv.o
diff --git a/hw/i386/kvm/Makefile.objs b/hw/i386/kvm/Makefile.objs
new file mode 100644
index 0000000..d8bce20
--- /dev/null
+++ b/hw/i386/kvm/Makefile.objs
@@ -0,0 +1 @@
+obj-y += clock.o apic.o i8259.o ioapic.o i8254.o pci-assign.o
diff --git a/hw/kvm/apic.c b/hw/i386/kvm/apic.c
similarity index 100%
rename from hw/kvm/apic.c
rename to hw/i386/kvm/apic.c
diff --git a/hw/kvm/clock.c b/hw/i386/kvm/clock.c
similarity index 100%
rename from hw/kvm/clock.c
rename to hw/i386/kvm/clock.c
diff --git a/hw/kvm/i8254.c b/hw/i386/kvm/i8254.c
similarity index 100%
rename from hw/kvm/i8254.c
rename to hw/i386/kvm/i8254.c
diff --git a/hw/kvm/i8259.c b/hw/i386/kvm/i8259.c
similarity index 100%
rename from hw/kvm/i8259.c
rename to hw/i386/kvm/i8259.c
diff --git a/hw/kvm/ioapic.c b/hw/i386/kvm/ioapic.c
similarity index 100%
rename from hw/kvm/ioapic.c
rename to hw/i386/kvm/ioapic.c
diff --git a/hw/kvm/pci-assign.c b/hw/i386/kvm/pci-assign.c
similarity index 100%
rename from hw/kvm/pci-assign.c
rename to hw/i386/kvm/pci-assign.c
diff --git a/hw/kvm/Makefile.objs b/hw/kvm/Makefile.objs
deleted file mode 100644
index f620d7f..0000000
--- a/hw/kvm/Makefile.objs
+++ /dev/null
@@ -1 +0,0 @@
-obj-$(CONFIG_KVM) += clock.o apic.o i8259.o ioapic.o i8254.o pci-assign.o
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 33/35] hw: move last file to hw/arm/
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (31 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 32/35] hw: move hw/kvm/ to hw/i386/kvm Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 34/35] MAINTAINERS: update for source code movement Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 35/35] hw: move private headers to hw/ subdirectories Paolo Bonzini
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/arm/Makefile.objs     | 6 +-----
 hw/{ => arm}/strongarm.c | 0
 2 files changed, 1 insertion(+), 5 deletions(-)
 rename hw/{ => arm}/strongarm.c (100%)

diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 35c5f11..9e3a06f 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -1,11 +1,7 @@
-obj-y += strongarm.o
-
-obj-y := $(addprefix ../,$(obj-y))
-
 obj-y += boot.o collie.o exynos4_boards.o gumstix.o highbank.o
 obj-y += integratorcp.o kzm.o mainstone.o musicpal.o nseries.o
 obj-y += omap_sx1.o palm.o pic_cpu.o realview.o spitz.o stellaris.o
 obj-y += tosa.o versatilepb.o vexpress.o xilinx_zynq.o z2.o
 
 obj-y += armv7m.o exynos4210.o pxa2xx.o pxa2xx_gpio.o pxa2xx_pic.o
-obj-y += omap1.o omap2.o
+obj-y += omap1.o omap2.o strongarm.o
diff --git a/hw/strongarm.c b/hw/arm/strongarm.c
similarity index 100%
rename from hw/strongarm.c
rename to hw/arm/strongarm.c
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 34/35] MAINTAINERS: update for source code movement
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (32 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 33/35] hw: move last file to hw/arm/ Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 35/35] hw: move private headers to hw/ subdirectories Paolo Bonzini
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 MAINTAINERS | 174 +++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 95 insertions(+), 79 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index db14ffc..4dfd8bf 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -59,37 +59,45 @@ Alpha
 M: Richard Henderson <rth@twiddle.net>
 S: Maintained
 F: target-alpha/
+F: hw/alpha/
 
 ARM
 M: Paul Brook <paul@codesourcery.com>
 M: Peter Maydell <peter.maydell@linaro.org>
 S: Maintained
 F: target-arm/
+F: hw/arm/
+F: hw/cpu/a*mpcore.c
 
 CRIS
 M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
 S: Maintained
 F: target-cris/
+F: hw/cris/
 
 LM32
 M: Michael Walle <michael@walle.cc>
 S: Maintained
 F: target-lm32/
+F: hw/lm32/
 
 M68K
 M: Paul Brook <paul@codesourcery.com>
 S: Odd Fixes
 F: target-m68k/
+F: hw/m68k/
 
 MicroBlaze
 M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
 S: Maintained
 F: target-microblaze/
+F: hw/microblaze/
 
 MIPS
 M: Aurelien Jarno <aurelien@aurel32.net>
 S: Odd Fixes
 F: target-mips/
+F: hw/mips/
 
 Moxie
 M: Anthony Green <green@moxielogic.com>
@@ -101,38 +109,46 @@ M: Alexander Graf <agraf@suse.de>
 L: qemu-ppc@nongnu.org
 S: Maintained
 F: target-ppc/
+F: hw/ppc/
 
 S390
 M: Richard Henderson <rth@twiddle.net>
 M: Alexander Graf <agraf@suse.de>
 S: Maintained
 F: target-s390x/
+F: hw/s390x/
 
 SH4
 M: Aurelien Jarno <aurelien@aurel32.net>
 S: Odd Fixes
 F: target-sh4/
+F: hw/sh4/
 
 SPARC
 M: Blue Swirl <blauwirbel@gmail.com>
 S: Maintained
 F: target-sparc/
+F: hw/sparc/
+F: hw/sparc64/
 
 UniCore32
 M: Guan Xuetao <gxt@mprc.pku.edu.cn>
 S: Maintained
 F: target-unicore32/
+F: hw/unicore32/
 
 X86
 M: qemu-devel@nongnu.org
 S: Odd Fixes
 F: target-i386/
+F: hw/i386/
 
 Xtensa
 M: Max Filippov <jcmvbkbc@gmail.com>
 W: http://wiki.osll.spb.ru/doku.php?id=etc:users:jcmvbkbc:qemu-target-xtensa
 S: Maintained
 F: target-xtensa/
+F: hw/xtensa/
 
 Guest CPU Cores (KVM):
 ----------------------
@@ -205,156 +221,156 @@ M: Maksim Kozlov <m.kozlov@samsung.com>
 M: Igor Mitsyanko <i.mitsyanko@samsung.com>
 M: Dmitry Solodkiy <d.solodkiy@samsung.com>
 S: Maintained
-F: hw/exynos*
+F: hw/*/exynos*
 
 Calxeda Highbank
 M: Mark Langsdorf <mark.langsdorf@calxeda.com>
 S: Supported
-F: hw/highbank.c
-F: hw/xgmac.c
+F: hw/arm/highbank.c
+F: hw/net/xgmac.c
 
 Gumstix
 M: qemu-devel@nongnu.org
 S: Orphan
-F: hw/gumstix.c
+F: hw/arm/gumstix.c
 
 i.MX31
 M: Peter Chubb <peter.chubb@nicta.com.au>
 S: Odd fixes
-F: hw/imx*
-F: hw/kzm.c
+F: hw/*/imx*
+F: hw/arm/kzm.c
 
 Integrator CP
 M: Paul Brook <paul@codesourcery.com>
 M: Peter Maydell <peter.maydell@linaro.org>
 S: Maintained
-F: hw/integratorcp.c
+F: hw/arm/integratorcp.c
 
 Mainstone
 M: qemu-devel@nongnu.org
 S: Orphan
-F: hw/mainstone.c
+F: hw/arm/mainstone.c
 
 Musicpal
 M: Jan Kiszka <jan.kiszka@web.de>
 S: Maintained
-F: hw/musicpal.c
+F: hw/arm/musicpal.c
 
 nSeries
 M: Andrzej Zaborowski <balrogg@gmail.com>
 S: Maintained
-F: hw/nseries.c
+F: hw/arm/nseries.c
 
 Palm
 M: Andrzej Zaborowski <balrogg@gmail.com>
 S: Maintained
-F: hw/palm.c
+F: hw/arm/palm.c
 
 Real View
 M: Paul Brook <paul@codesourcery.com>
 M: Peter Maydell <peter.maydell@linaro.org>
 S: Maintained
-F: hw/realview*
+F: hw/arm/realview*
 
 Spitz
 M: Andrzej Zaborowski <balrogg@gmail.com>
 S: Maintained
-F: hw/spitz.c
+F: hw/arm/spitz.c
 
 Stellaris
 M: Paul Brook <paul@codesourcery.com>
 M: Peter Maydell <peter.maydell@linaro.org>
 S: Maintained
-F: hw/stellaris.c
+F: hw/*/stellaris*
 
 Versatile PB
 M: Paul Brook <paul@codesourcery.com>
 M: Peter Maydell <peter.maydell@linaro.org>
 S: Maintained
-F: hw/versatilepb.c
+F: hw/*/versatile*
 
 Xilinx Zynq
 M: Peter Crosthwaite <peter.crosthwaite@petalogix.com>
 S: Maintained
-F: hw/xilinx_zynq.c
-F: hw/zynq_slcr.c
-F: hw/cadence_*
-F: hw/xilinx_spips.c
+F: hw/arm/xilinx_zynq.c
+F: hw/misc/zynq_slcr.c
+F: hw/*/cadence_*
+F: hw/ssi/xilinx_spips.c
 
 CRIS Machines
 -------------
 Axis Dev88
 M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
 S: Maintained
-F: hw/axis_dev88.c
+F: hw/cris/axis_dev88.c
 
 etraxfs
 M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
 S: Maintained
-F: hw/etraxfs.c
+F: hw/cris/etraxfs.c
 
 LM32 Machines
 -------------
 EVR32 and uclinux BSP
 M: Michael Walle <michael@walle.cc>
 S: Maintained
-F: hw/lm32_boards.c
+F: hw/lm32/lm32_boards.c
 
 milkymist
 M: Michael Walle <michael@walle.cc>
 S: Maintained
-F: hw/milkymist.c
+F: hw/lm32/milkymist.c
 
 M68K Machines
 -------------
 an5206
 M: Paul Brook <paul@codesourcery.com>
 S: Maintained
-F: hw/an5206.c
+F: hw/m68k/an5206.c
 
 dummy_m68k
 M: Paul Brook <paul@codesourcery.com>
 S: Maintained
-F: hw/dummy_m68k.c
+F: hw/m68k/dummy_m68k.c
 
 mcf5208
 M: Paul Brook <paul@codesourcery.com>
 S: Maintained
-F: hw/mcf5208.c
+F: hw/m68k/mcf5208.c
 
 MicroBlaze Machines
 -------------------
 petalogix_s3adsp1800
 M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
 S: Maintained
-F: hw/petalogix_s3adsp1800.c
+F: hw/microblaze/petalogix_s3adsp1800.c
 
 petalogix_ml605
 M: Peter Crosthwaite <peter.crosthwaite@petalogix.com>
 S: Maintained
-F: hw/petalogix_ml605_mmu.c
+F: hw/microblaze/petalogix_ml605_mmu.c
 
 MIPS Machines
 -------------
 Jazz
 M: Hervé Poussineau <hpoussin@reactos.org>
 S: Maintained
-F: hw/mips_jazz.c
+F: hw/mips/mips_jazz.c
 
 Malta
 M: Aurelien Jarno <aurelien@aurel32.net>
 S: Maintained
-F: hw/mips_malta.c
+F: hw/mips/mips_malta.c
 
 Mipssim
 M: qemu-devel@nongnu.org
 S: Orphan
-F: hw/mips_mipssim.c
+F: hw/mips/mips_mipssim.c
 
 R4000
 M: Aurelien Jarno <aurelien@aurel32.net>
 S: Maintained
-F: hw/mips_r4k.c
+F: hw/mips/mips_r4k.c
 
 PowerPC Machines
 ----------------
@@ -362,13 +378,13 @@ PowerPC Machines
 M: Alexander Graf <agraf@suse.de>
 L: qemu-ppc@nongnu.org
 S: Odd Fixes
-F: hw/ppc405_boards.c
+F: hw/ppc/ppc405_boards.c
 
 Bamboo
 M: Alexander Graf <agraf@suse.de>
 L: qemu-ppc@nongnu.org
 S: Odd Fixes
-F: hw/ppc440_bamboo.c
+F: hw/ppc/ppc440_bamboo.c
 
 e500
 M: Alexander Graf <agraf@suse.de>
@@ -384,80 +400,82 @@ M: Scott Wood <scottwood@freescale.com>
 L: qemu-ppc@nongnu.org
 S: Supported
 F: hw/ppc/mpc8544ds.c
-F: hw/mpc8544_guts.c
+F: hw/ppc/mpc8544_guts.c
 
 New World
 M: Alexander Graf <agraf@suse.de>
 L: qemu-ppc@nongnu.org
 S: Maintained
 F: hw/ppc/mac_newworld.c
-F: hw/unin_pci.c
-F: hw/dec_pci.[hc]
+F: hw/pci/devices/host-uninorth.c
+F: hw/pci/devices/host-dec.[hc]
+F: hw/misc/macio/
 
 Old World
 M: Alexander Graf <agraf@suse.de>
 L: qemu-ppc@nongnu.org
 S: Maintained
 F: hw/ppc/mac_oldworld.c
-F: hw/grackle_pci.c
+F: hw/pci/devices/host-grackle.c
+F: hw/misc/macio/
 
 PReP
 M: Andreas Färber <andreas.faerber@web.de>
 L: qemu-ppc@nongnu.org
 S: Odd Fixes
 F: hw/ppc/prep.c
-F: hw/prep_pci.[hc]
-F: hw/pc87312.[hc]
+F: hw/pci/devices/host-prep.[hc]
+F: hw/isa/pc87312.[hc]
 
 sPAPR
 M: David Gibson <david@gibson.dropbear.id.au>
 M: Alexander Graf <agraf@suse.de>
 L: qemu-ppc@nongnu.org
 S: Supported
-F: hw/spapr*
+F: hw/*/spapr*
 
 virtex_ml507
 M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
 L: qemu-ppc@nongnu.org
 S: Odd Fixes
-F: hw/virtex_ml507.c
+F: hw/pci/virtex_ml507.c
 
 SH4 Machines
 ------------
 R2D
 M: Magnus Damm <magnus.damm@gmail.com>
 S: Maintained
-F: hw/r2d.c
+F: hw/sh/r2d.c
 
 Shix
 M: Magnus Damm <magnus.damm@gmail.com>
 S: Orphan
-F: hw/shix.c
+F: hw/sh/shix.c
 
 SPARC Machines
 --------------
 Sun4m
 M: Blue Swirl <blauwirbel@gmail.com>
 S: Maintained
-F: hw/sun4m.c
+F: hw/sparc/sun4m.c
 
 Sun4u
 M: Blue Swirl <blauwirbel@gmail.com>
 S: Maintained
-F: hw/sun4u.c
+F: hw/sparc64/sun4u.c
 
 Leon3
 M: Fabien Chouteau <chouteau@adacore.com>
 S: Maintained
-F: hw/leon3.c
-F: hw/grlib*
+F: hw/sparc/leon3.c
+F: hw/*/grlib*
 
 S390 Machines
 -------------
 S390 Virtio
 M: Alexander Graf <agraf@suse.de>
 S: Maintained
-F: hw/s390-*.c
+F: hw/s390/s390-*.c
 
 S390 Virtio-ccw
 M: Cornelia Huck <cornelia.huck@de.ibm.com>
@@ -472,7 +490,7 @@ UniCore32 Machines
 PKUnity-3 SoC initramfs-with-busybox
 M: Guan Xuetao <gxt@mprc.pku.edu.cn>
 S: Maintained
-F: hw/puv3*
+F: hw/*/puv3*
 F: hw/unicore32/
 
 X86 Machines
@@ -480,90 +498,91 @@ X86 Machines
 PC
 M: Anthony Liguori <aliguori@us.ibm.com>
 S: Supported
-F: hw/pc.[ch]
-F: hw/pc_piix.c
+F: hw/i386/pc.[ch]
+F: hw/i386/pc_piix.c
 
 Xtensa Machines
 ---------------
 sim
 M: Max Filippov <jcmvbkbc@gmail.com>
 S: Maintained
-F: hw/xtensa_sim.c
+F: hw/xtensa/xtensa_sim.c
 
 Avnet LX60
 M: Max Filippov <jcmvbkbc@gmail.com>
 S: Maintained
-F: hw/xtensa_lx60.c
+F: hw/xtensa/xtensa_lx60.c
 
 Devices
 -------
 IDE
 M: Kevin Wolf <kwolf@redhat.com>
 S: Odd Fixes
+F: include/hw/ide.h
 F: hw/ide/
 
 OMAP
 M: Peter Maydell <peter.maydell@linaro.org>
 S: Maintained
-F: hw/omap*
+F: hw/*/omap*
 
 PCI
 M: Michael S. Tsirkin <mst@redhat.com>
 S: Supported
+F: include/hw/pci/*
 F: hw/pci/*
-F: hw/pci*
-F: hw/piix*
+F: hw/acpi/*
 
 ppc4xx
 M: Alexander Graf <agraf@suse.de>
 L: qemu-ppc@nongnu.org
 S: Odd Fixes
-F: hw/ppc4xx*.[hc]
+F: hw/ppc/ppc4*.c
 
 ppce500
 M: Alexander Graf <agraf@suse.de>
 M: Scott Wood <scottwood@freescale.com>
 L: qemu-ppc@nongnu.org
 S: Supported
-F: hw/ppce500_*
+F: hw/ppc/e500_*
 
 SCSI
 M: Paolo Bonzini <pbonzini@redhat.com>
 S: Supported
-F: hw/virtio-scsi.*
-F: hw/scsi*
+F: include/hw/scsi*
+F: hw/scsi/*
 T: git git://github.com/bonzini/qemu.git scsi-next
 
 LSI53C895A
 M: Paul Brook <paul@codesourcery.com>
 S: Odd Fixes
-F: hw/lsi53c895a.c
+F: hw/scsi/lsi53c895a.c
 
 SSI
 M: Peter Crosthwaite <peter.crosthwaite@petalogix.com>
 S: Maintained
-F: hw/ssi.*
-F: hw/m25p80.c
+F: hw/ssi/*
+F: hw/block/m25p80.c
 
 USB
 M: Gerd Hoffmann <kraxel@redhat.com>
 S: Maintained
-F: hw/usb*
+F: hw/usb/*
 
 VFIO
 M: Alex Williamson <alex.williamson@redhat.com>
 S: Supported
-F: hw/vfio*
+F: hw/pci/vfio.c
 
 vhost
 M: Michael S. Tsirkin <mst@redhat.com>
 S: Supported
-F: hw/vhost*
+F: hw/*/*vhost*
 
 virtio
 M: Anthony Liguori <aliguori@us.ibm.com>
 S: Supported
-F: hw/virtio*
+F: hw/*/virtio*
 
 virtio-9p
 M: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
@@ -576,7 +595,7 @@ virtio-blk
 M: Kevin Wolf <kwolf@redhat.com>
 M: Stefan Hajnoczi <stefanha@redhat.com>
 S: Supported
-F: hw/virtio-blk*
+F: hw/block/virtio-blk.c
 
 virtio-ccw
 M: Cornelia Huck <cornelia.huck@de.ibm.com>
@@ -587,20 +606,15 @@ T: git git://github.com/cohuck/qemu virtio-ccw-upstr
 virtio-serial
 M: Amit Shah <amit.shah@redhat.com>
 S: Supported
-F: hw/virtio-serial*
-F: hw/virtio-console*
+F: hw/char/virtio-serial-bus.c
+F: hw/char/virtio-console.c
 
 Xilinx EDK
 M: Peter Crosthwaite <peter.crosthwaite@petalogix.com>
 M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
 S: Maintained
-F: hw/xilinx_axi*
-F: hw/xilinx_uartlite.c
-F: hw/xilinx_intc.c
-F: hw/xilinx_ethlite.c
-F: hw/xilinx_timer.c
-F: hw/xilinx.h
-F: hw/xilinx_spi.c
+F: hw/*/xilinx_*
+F: include/hw/xilinx.h
 
 Subsystems
 ----------
@@ -608,6 +622,7 @@ Audio
 M: Vassili Karpov (malc) <av1474@comtv.ru>
 S: Maintained
 F: audio/
+F: hw/audio/
 
 Block
 M: Kevin Wolf <kwolf@redhat.com>
@@ -615,6 +630,7 @@ M: Stefan Hajnoczi <stefanha@redhat.com>
 S: Supported
 F: block*
 F: block/
+F: hw/block/
 
 Character Devices
 M: Anthony Liguori <aliguori@us.ibm.com>
@@ -646,7 +662,7 @@ S: Supported
 F: ui/qemu-spice.h
 F: ui/spice-*.c
 F: audio/spiceaudio.c
-F: hw/qxl*
+F: hw/display/qxl*
 
 Graphics
 M: Anthony Liguori <aliguori@us.ibm.com>
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* [Qemu-devel] [PATCH 35/35] hw: move private headers to hw/ subdirectories.
  2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
                   ` (33 preceding siblings ...)
  2013-04-04 19:23 ` [Qemu-devel] [PATCH 34/35] MAINTAINERS: update for source code movement Paolo Bonzini
@ 2013-04-04 19:23 ` Paolo Bonzini
  34 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-04 19:23 UTC (permalink / raw)
  To: qemu-devel

Many headers are used only in a single directory.  These can be
kept in hw/.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/{ => alpha}/alpha_sys.h                        |  0
 hw/alpha/dp264.c                                  |  2 +-
 hw/alpha/pci.c                                    |  2 +-
 hw/alpha/typhoon.c                                |  2 +-
 hw/arm/collie.c                                   |  2 +-
 hw/arm/strongarm.c                                |  2 +-
 hw/{ => arm}/strongarm.h                          |  0
 hw/audio/adlib.c                                  |  2 +-
 hw/audio/fmopl.c                                  |  2 +-
 hw/{ => audio}/fmopl.h                            |  0
 hw/audio/gus.c                                    |  4 +--
 hw/{ => audio}/gusemu.h                           |  0
 hw/audio/gusemu_hal.c                             |  4 +--
 hw/audio/gusemu_mixer.c                           |  4 +--
 hw/{ => audio}/gustate.h                          |  0
 hw/audio/hda-codec.c                              |  4 +--
 hw/{ => audio}/intel-hda-defs.h                   |  0
 hw/audio/intel-hda.c                              |  4 +--
 hw/{ => audio}/intel-hda.h                        |  0
 hw/audio/lm4549.c                                 |  2 +-
 hw/{ => audio}/lm4549.h                           |  0
 hw/audio/pl041.c                                  |  4 +--
 hw/{ => audio}/pl041.h                            |  0
 hw/{ => block}/xen_blkif.h                        |  0
 hw/block/xen_disk.c                               |  2 +-
 hw/char/ipack.c                                   |  2 +-
 hw/{ => char}/ipack.h                             |  0
 hw/char/ipoctal232.c                              |  2 +-
 hw/char/tpci200.c                                 |  2 +-
 hw/core/loader.c                                  |  2 +-
 hw/{ => core}/uboot_image.h                       |  0
 hw/cris/axis_dev88.c                              |  2 +-
 hw/cris/boot.c                                    |  2 +-
 hw/{cris-boot.h => cris/boot.h}                   |  0
 hw/display/blizzard.c                             | 12 +++----
 hw/{ => display}/blizzard_template.h              |  0
 hw/display/cirrus_vga.c                           | 38 +++++++++++------------
 hw/{ => display}/cirrus_vga_rop.h                 |  8 ++---
 hw/{ => display}/cirrus_vga_rop2.h                |  0
 hw/{ => display}/cirrus_vga_template.h            |  0
 hw/display/framebuffer.c                          |  2 +-
 hw/{ => display}/framebuffer.h                    |  0
 hw/display/milkymist-vgafb.c                      | 12 +++----
 hw/{ => display}/milkymist-vgafb_template.h       |  0
 hw/{ => display}/omap_lcd_template.h              |  0
 hw/display/omap_lcdc.c                            | 10 +++---
 hw/display/pl110.c                                | 12 +++----
 hw/{ => display}/pl110_template.h                 | 12 +++----
 hw/display/pxa2xx_lcd.c                           | 12 +++----
 hw/{ => display}/pxa2xx_template.h                |  0
 hw/display/qxl-logger.c                           |  2 +-
 hw/display/qxl-render.c                           |  2 +-
 hw/display/qxl.c                                  |  2 +-
 hw/{ => display}/qxl.h                            |  2 +-
 hw/display/sm501.c                                | 14 ++++-----
 hw/{ => display}/sm501_template.h                 |  0
 hw/display/tc6393xb.c                             | 10 +++---
 hw/{ => display}/tc6393xb_template.h              |  0
 hw/display/vga-isa-mm.c                           |  2 +-
 hw/display/vga-isa.c                              |  2 +-
 hw/display/vga-pci.c                              |  2 +-
 hw/display/vga.c                                  | 18 +++++------
 hw/{ => display}/vga.h                            |  0
 hw/{ => display}/vga_int.h                        |  0
 hw/{ => display}/vga_template.h                   |  0
 hw/display/vmware_vga.c                           |  2 +-
 hw/i2c/bitbang_i2c.c                              |  2 +-
 hw/{ => i2c}/bitbang_i2c.h                        |  0
 hw/i2c/versatile_i2c.c                            |  2 +-
 hw/i386/multiboot.c                               |  2 +-
 hw/{ => i386}/multiboot.h                         |  0
 hw/i386/pc.c                                      |  2 +-
 hw/i386/xen_domainbuild.c                         |  2 +-
 hw/{ => i386}/xen_domainbuild.h                   |  0
 hw/i386/xen_machine_pv.c                          |  2 +-
 hw/intc/arm_gic.c                                 |  2 +-
 hw/intc/arm_gic_common.c                          |  2 +-
 hw/intc/arm_gic_kvm.c                             |  2 +-
 hw/intc/armv7m_nvic.c                             |  2 +-
 hw/{arm_gic_internal.h => intc/gic_internal.h}    |  0
 hw/{ => lm32}/lm32.h                              |  0
 hw/lm32/lm32_boards.c                             |  4 +--
 hw/{ => lm32}/lm32_hwsetup.h                      |  0
 hw/{ => lm32}/milkymist-hw.h                      |  0
 hw/lm32/milkymist.c                               |  4 +--
 hw/microblaze/boot.c                              |  2 +-
 hw/{microblaze_boot.h => microblaze/boot.h}       |  0
 hw/microblaze/petalogix_ml605_mmu.c               |  4 +--
 hw/microblaze/petalogix_s3adsp1800_mmu.c          |  4 +--
 hw/microblaze/pic_cpu.c                           |  2 +-
 hw/{microblaze_pic_cpu.h => microblaze/pic_cpu.h} |  0
 hw/misc/tmp105.c                                  |  2 +-
 hw/{ => misc}/tmp105.h                            |  0
 hw/net/e1000.c                                    |  2 +-
 hw/{e1000_hw.h => net/e1000_regs.h}               |  0
 hw/net/lance.c                                    |  2 +-
 hw/net/ne2000-isa.c                               |  2 +-
 hw/net/ne2000.c                                   |  2 +-
 hw/{ => net}/ne2000.h                             |  0
 hw/net/pcnet-pci.c                                |  2 +-
 hw/net/pcnet.c                                    |  2 +-
 hw/{ => net}/pcnet.h                              |  0
 hw/pci-bridge/ioh3420.c                           |  2 +-
 hw/{ => pci-bridge}/ioh3420.h                     |  0
 hw/pci-bridge/xio3130_downstream.c                |  2 +-
 hw/{ => pci-bridge}/xio3130_downstream.h          |  0
 hw/pci-bridge/xio3130_upstream.c                  |  2 +-
 hw/{ => pci-bridge}/xio3130_upstream.h            |  0
 hw/pci-host/dec.c                                 |  2 +-
 hw/{dec_pci.h => pci-host/dec.h}                  |  0
 hw/{ => ppc}/ppc405.h                             |  0
 hw/ppc/ppc405_boards.c                            |  2 +-
 hw/ppc/ppc405_uc.c                                |  2 +-
 hw/ppc/ppc440_bamboo.c                            |  2 +-
 hw/ppc/virtex_ml507.c                             |  2 +-
 hw/scsi/megasas.c                                 |  2 +-
 hw/{ => scsi}/mfi.h                               |  0
 hw/scsi/spapr_vscsi.c                             |  4 +--
 hw/{ => scsi}/srp.h                               |  0
 hw/{ppc-viosrp.h => scsi/viosrp.h}                |  0
 hw/sd/sdhci.c                                     |  2 +-
 hw/{ => sd}/sdhci.h                               |  0
 hw/sh4/r2d.c                                      |  2 +-
 hw/sh4/sh7750.c                                   |  4 +--
 hw/sh4/sh7750_regnames.c                          |  4 +--
 hw/{ => sh4}/sh7750_regnames.h                    |  0
 hw/{ => sh4}/sh7750_regs.h                        |  0
 hw/usb/ccid-card-emulated.c                       |  2 +-
 hw/usb/ccid-card-passthru.c                       |  2 +-
 hw/{ => usb}/ccid.h                               |  0
 hw/usb/dev-smartcard-reader.c                     |  2 +-
 hw/virtio/virtio-pci.c                            |  2 +-
 hw/{ => virtio}/virtio-pci.h                      |  0
 hw/xen/xen-host-pci-device.c                      |  2 +-
 hw/{ => xen}/xen-host-pci-device.h                |  0
 hw/xen/xen_pt.c                                   |  2 +-
 hw/{ => xen}/xen_pt.h                             |  2 +-
 hw/xen/xen_pt_config_init.c                       |  2 +-
 hw/xen/xen_pt_msi.c                               |  2 +-
 hw/{ => xtensa}/xtensa_bootparam.h                |  0
 hw/xtensa/xtensa_lx60.c                           |  2 +-
 141 files changed, 169 insertions(+), 169 deletions(-)
 rename hw/{ => alpha}/alpha_sys.h (100%)
 rename hw/{ => arm}/strongarm.h (100%)
 rename hw/{ => audio}/fmopl.h (100%)
 rename hw/{ => audio}/gusemu.h (100%)
 rename hw/{ => audio}/gustate.h (100%)
 rename hw/{ => audio}/intel-hda-defs.h (100%)
 rename hw/{ => audio}/intel-hda.h (100%)
 rename hw/{ => audio}/lm4549.h (100%)
 rename hw/{ => audio}/pl041.h (100%)
 rename hw/{ => block}/xen_blkif.h (100%)
 rename hw/{ => char}/ipack.h (100%)
 rename hw/{ => core}/uboot_image.h (100%)
 rename hw/{cris-boot.h => cris/boot.h} (100%)
 rename hw/{ => display}/blizzard_template.h (100%)
 rename hw/{ => display}/cirrus_vga_rop.h (97%)
 rename hw/{ => display}/cirrus_vga_rop2.h (100%)
 rename hw/{ => display}/cirrus_vga_template.h (100%)
 rename hw/{ => display}/framebuffer.h (100%)
 rename hw/{ => display}/milkymist-vgafb_template.h (100%)
 rename hw/{ => display}/omap_lcd_template.h (100%)
 rename hw/{ => display}/pl110_template.h (98%)
 rename hw/{ => display}/pxa2xx_template.h (100%)
 rename hw/{ => display}/qxl.h (99%)
 rename hw/{ => display}/sm501_template.h (100%)
 rename hw/{ => display}/tc6393xb_template.h (100%)
 rename hw/{ => display}/vga.h (100%)
 rename hw/{ => display}/vga_int.h (100%)
 rename hw/{ => display}/vga_template.h (100%)
 rename hw/{ => i2c}/bitbang_i2c.h (100%)
 rename hw/{ => i386}/multiboot.h (100%)
 rename hw/{ => i386}/xen_domainbuild.h (100%)
 rename hw/{arm_gic_internal.h => intc/gic_internal.h} (100%)
 rename hw/{ => lm32}/lm32.h (100%)
 rename hw/{ => lm32}/lm32_hwsetup.h (100%)
 rename hw/{ => lm32}/milkymist-hw.h (100%)
 rename hw/{microblaze_boot.h => microblaze/boot.h} (100%)
 rename hw/{microblaze_pic_cpu.h => microblaze/pic_cpu.h} (100%)
 rename hw/{ => misc}/tmp105.h (100%)
 rename hw/{e1000_hw.h => net/e1000_regs.h} (100%)
 rename hw/{ => net}/ne2000.h (100%)
 rename hw/{ => net}/pcnet.h (100%)
 rename hw/{ => pci-bridge}/ioh3420.h (100%)
 rename hw/{ => pci-bridge}/xio3130_downstream.h (100%)
 rename hw/{ => pci-bridge}/xio3130_upstream.h (100%)
 rename hw/{dec_pci.h => pci-host/dec.h} (100%)
 rename hw/{ => ppc}/ppc405.h (100%)
 rename hw/{ => scsi}/mfi.h (100%)
 rename hw/{ => scsi}/srp.h (100%)
 rename hw/{ppc-viosrp.h => scsi/viosrp.h} (100%)
 rename hw/{ => sd}/sdhci.h (100%)
 rename hw/{ => sh4}/sh7750_regnames.h (100%)
 rename hw/{ => sh4}/sh7750_regs.h (100%)
 rename hw/{ => usb}/ccid.h (100%)
 rename hw/{ => virtio}/virtio-pci.h (100%)
 rename hw/{ => xen}/xen-host-pci-device.h (100%)
 rename hw/{ => xen}/xen_pt.h (99%)
 rename hw/{ => xtensa}/xtensa_bootparam.h (100%)

diff --git a/hw/alpha_sys.h b/hw/alpha/alpha_sys.h
similarity index 100%
rename from hw/alpha_sys.h
rename to hw/alpha/alpha_sys.h
diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c
index a0dd12c..8695efb 100644
--- a/hw/alpha/dp264.c
+++ b/hw/alpha/dp264.c
@@ -10,7 +10,7 @@
 #include "elf.h"
 #include "hw/loader.h"
 #include "hw/boards.h"
-#include "hw/alpha_sys.h"
+#include "alpha_sys.h"
 #include "sysemu/sysemu.h"
 #include "hw/timer/mc146818rtc.h"
 #include "hw/ide.h"
diff --git a/hw/alpha/pci.c b/hw/alpha/pci.c
index 8462868..7327d48 100644
--- a/hw/alpha/pci.c
+++ b/hw/alpha/pci.c
@@ -7,7 +7,7 @@
  */
 
 #include "config.h"
-#include "hw/alpha_sys.h"
+#include "alpha_sys.h"
 #include "qemu/log.h"
 #include "sysemu/sysemu.h"
 
diff --git a/hw/alpha/typhoon.c b/hw/alpha/typhoon.c
index 41a0ebc..faec8dc 100644
--- a/hw/alpha/typhoon.c
+++ b/hw/alpha/typhoon.c
@@ -11,7 +11,7 @@
 #include "hw/hw.h"
 #include "hw/arm/devices.h"
 #include "sysemu/sysemu.h"
-#include "hw/alpha_sys.h"
+#include "alpha_sys.h"
 #include "exec/address-spaces.h"
 
 
diff --git a/hw/arm/collie.c b/hw/arm/collie.c
index 76eda8e..5420bb4 100644
--- a/hw/arm/collie.c
+++ b/hw/arm/collie.c
@@ -12,7 +12,7 @@
 #include "hw/sysbus.h"
 #include "hw/boards.h"
 #include "hw/arm/devices.h"
-#include "hw/strongarm.h"
+#include "strongarm.h"
 #include "hw/arm.h"
 #include "hw/block/flash.h"
 #include "sysemu/blockdev.h"
diff --git a/hw/arm/strongarm.c b/hw/arm/strongarm.c
index 0e5262d..5873a3c 100644
--- a/hw/arm/strongarm.c
+++ b/hw/arm/strongarm.c
@@ -27,7 +27,7 @@
  *  GNU GPL, version 2 or (at your option) any later version.
  */
 #include "hw/sysbus.h"
-#include "hw/strongarm.h"
+#include "strongarm.h"
 #include "qemu/error-report.h"
 #include "hw/arm.h"
 #include "char/char.h"
diff --git a/hw/strongarm.h b/hw/arm/strongarm.h
similarity index 100%
rename from hw/strongarm.h
rename to hw/arm/strongarm.h
diff --git a/hw/audio/adlib.c b/hw/audio/adlib.c
index 133c0ff..4a58e6e 100644
--- a/hw/audio/adlib.c
+++ b/hw/audio/adlib.c
@@ -47,7 +47,7 @@
 void YMF262UpdateOneQEMU (int which, INT16 *dst, int length);
 #define SHIFT 2
 #else
-#include "hw/fmopl.h"
+#include "fmopl.h"
 #define SHIFT 1
 #endif
 
diff --git a/hw/audio/fmopl.c b/hw/audio/fmopl.c
index e50ba6c..f0a0234 100644
--- a/hw/audio/fmopl.c
+++ b/hw/audio/fmopl.c
@@ -39,7 +39,7 @@
 #include <stdarg.h>
 #include <math.h>
 //#include "driver.h"		/* use M.A.M.E. */
-#include "hw/fmopl.h"
+#include "fmopl.h"
 
 #ifndef PI
 #define PI 3.14159265358979323846
diff --git a/hw/fmopl.h b/hw/audio/fmopl.h
similarity index 100%
rename from hw/fmopl.h
rename to hw/audio/fmopl.h
diff --git a/hw/audio/gus.c b/hw/audio/gus.c
index e44704b..0604d6e 100644
--- a/hw/audio/gus.c
+++ b/hw/audio/gus.c
@@ -25,8 +25,8 @@
 #include "hw/audio/audio.h"
 #include "audio/audio.h"
 #include "hw/isa/isa.h"
-#include "hw/gusemu.h"
-#include "hw/gustate.h"
+#include "gusemu.h"
+#include "gustate.h"
 
 #define dolog(...) AUD_log ("audio", __VA_ARGS__)
 #ifdef DEBUG
diff --git a/hw/gusemu.h b/hw/audio/gusemu.h
similarity index 100%
rename from hw/gusemu.h
rename to hw/audio/gusemu.h
diff --git a/hw/audio/gusemu_hal.c b/hw/audio/gusemu_hal.c
index 0eee617..6096690 100644
--- a/hw/audio/gusemu_hal.c
+++ b/hw/audio/gusemu_hal.c
@@ -26,8 +26,8 @@
  * TODO: check mixer: see 7.20 of sdk for panning pos (applies to all gus models?)?
  */
 
-#include "hw/gustate.h"
-#include "hw/gusemu.h"
+#include "gustate.h"
+#include "gusemu.h"
 
 #define GUSregb(position) (*            (gusptr+(position)))
 #define GUSregw(position) (*(GUSword *) (gusptr+(position)))
diff --git a/hw/audio/gusemu_mixer.c b/hw/audio/gusemu_mixer.c
index 816c58a..6d8d9ce 100644
--- a/hw/audio/gusemu_mixer.c
+++ b/hw/audio/gusemu_mixer.c
@@ -22,8 +22,8 @@
  * THE SOFTWARE.
  */
 
-#include "hw/gusemu.h"
-#include "hw/gustate.h"
+#include "gusemu.h"
+#include "gustate.h"
 
 #define GUSregb(position)  (*            (gusptr+(position)))
 #define GUSregw(position)  (*(GUSword *) (gusptr+(position)))
diff --git a/hw/gustate.h b/hw/audio/gustate.h
similarity index 100%
rename from hw/gustate.h
rename to hw/audio/gustate.h
diff --git a/hw/audio/hda-codec.c b/hw/audio/hda-codec.c
index 6bdd820..362d8c0 100644
--- a/hw/audio/hda-codec.c
+++ b/hw/audio/hda-codec.c
@@ -19,8 +19,8 @@
 
 #include "hw/hw.h"
 #include "hw/pci/pci.h"
-#include "hw/intel-hda.h"
-#include "hw/intel-hda-defs.h"
+#include "intel-hda.h"
+#include "intel-hda-defs.h"
 #include "audio/audio.h"
 
 /* -------------------------------------------------------------------------- */
diff --git a/hw/intel-hda-defs.h b/hw/audio/intel-hda-defs.h
similarity index 100%
rename from hw/intel-hda-defs.h
rename to hw/audio/intel-hda-defs.h
diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c
index 68201cd..3d8077a 100644
--- a/hw/audio/intel-hda.c
+++ b/hw/audio/intel-hda.c
@@ -22,8 +22,8 @@
 #include "hw/pci/msi.h"
 #include "qemu/timer.h"
 #include "hw/audio/audio.h"
-#include "hw/intel-hda.h"
-#include "hw/intel-hda-defs.h"
+#include "intel-hda.h"
+#include "intel-hda-defs.h"
 #include "sysemu/dma.h"
 
 /* --------------------------------------------------------------------- */
diff --git a/hw/intel-hda.h b/hw/audio/intel-hda.h
similarity index 100%
rename from hw/intel-hda.h
rename to hw/audio/intel-hda.h
diff --git a/hw/audio/lm4549.c b/hw/audio/lm4549.c
index 67335cb..d75f7ec 100644
--- a/hw/audio/lm4549.c
+++ b/hw/audio/lm4549.c
@@ -15,7 +15,7 @@
 
 #include "hw/hw.h"
 #include "audio/audio.h"
-#include "hw/lm4549.h"
+#include "lm4549.h"
 
 #if 0
 #define LM4549_DEBUG  1
diff --git a/hw/lm4549.h b/hw/audio/lm4549.h
similarity index 100%
rename from hw/lm4549.h
rename to hw/audio/lm4549.h
diff --git a/hw/audio/pl041.c b/hw/audio/pl041.c
index 92dddc2..653ab4f 100644
--- a/hw/audio/pl041.c
+++ b/hw/audio/pl041.c
@@ -22,8 +22,8 @@
 
 #include "hw/sysbus.h"
 
-#include "hw/pl041.h"
-#include "hw/lm4549.h"
+#include "pl041.h"
+#include "lm4549.h"
 
 #if 0
 #define PL041_DEBUG_LEVEL 1
diff --git a/hw/pl041.h b/hw/audio/pl041.h
similarity index 100%
rename from hw/pl041.h
rename to hw/audio/pl041.h
diff --git a/hw/xen_blkif.h b/hw/block/xen_blkif.h
similarity index 100%
rename from hw/xen_blkif.h
rename to hw/block/xen_blkif.h
diff --git a/hw/block/xen_disk.c b/hw/block/xen_disk.c
index e341168..1104b1a 100644
--- a/hw/block/xen_disk.c
+++ b/hw/block/xen_disk.c
@@ -37,7 +37,7 @@
 
 #include "hw/hw.h"
 #include "hw/xen/xen_backend.h"
-#include "hw/xen_blkif.h"
+#include "xen_blkif.h"
 #include "sysemu/blockdev.h"
 
 /* ------------------------------------------------------------- */
diff --git a/hw/char/ipack.c b/hw/char/ipack.c
index b1f46c1..e15540d 100644
--- a/hw/char/ipack.c
+++ b/hw/char/ipack.c
@@ -8,7 +8,7 @@
  * later version.
  */
 
-#include "hw/ipack.h"
+#include "ipack.h"
 
 IPackDevice *ipack_device_find(IPackBus *bus, int32_t slot)
 {
diff --git a/hw/ipack.h b/hw/char/ipack.h
similarity index 100%
rename from hw/ipack.h
rename to hw/char/ipack.h
diff --git a/hw/char/ipoctal232.c b/hw/char/ipoctal232.c
index 1da6a99..c1e3b19 100644
--- a/hw/char/ipoctal232.c
+++ b/hw/char/ipoctal232.c
@@ -8,7 +8,7 @@
  * later version.
  */
 
-#include "hw/ipack.h"
+#include "ipack.h"
 #include "qemu/bitops.h"
 #include "char/char.h"
 
diff --git a/hw/char/tpci200.c b/hw/char/tpci200.c
index e3408ef..0170602 100644
--- a/hw/char/tpci200.c
+++ b/hw/char/tpci200.c
@@ -8,7 +8,7 @@
  * later version.
  */
 
-#include "hw/ipack.h"
+#include "ipack.h"
 #include "hw/pci/pci.h"
 #include "qemu/bitops.h"
 #include <stdio.h>
diff --git a/hw/core/loader.c b/hw/core/loader.c
index 2f5072d..7507914 100644
--- a/hw/core/loader.c
+++ b/hw/core/loader.c
@@ -46,7 +46,7 @@
 #include "disas/disas.h"
 #include "monitor/monitor.h"
 #include "sysemu/sysemu.h"
-#include "hw/uboot_image.h"
+#include "uboot_image.h"
 #include "hw/loader.h"
 #include "hw/nvram/fw_cfg.h"
 #include "exec/memory.h"
diff --git a/hw/uboot_image.h b/hw/core/uboot_image.h
similarity index 100%
rename from hw/uboot_image.h
rename to hw/core/uboot_image.h
diff --git a/hw/cris/axis_dev88.c b/hw/cris/axis_dev88.c
index 00daceb..7475671 100644
--- a/hw/cris/axis_dev88.c
+++ b/hw/cris/axis_dev88.c
@@ -29,7 +29,7 @@
 #include "hw/cris/etraxfs.h"
 #include "hw/loader.h"
 #include "elf.h"
-#include "hw/cris-boot.h"
+#include "boot.h"
 #include "sysemu/blockdev.h"
 #include "exec/address-spaces.h"
 
diff --git a/hw/cris/boot.c b/hw/cris/boot.c
index c330e22..622f353 100644
--- a/hw/cris/boot.c
+++ b/hw/cris/boot.c
@@ -25,7 +25,7 @@
 #include "hw/hw.h"
 #include "hw/loader.h"
 #include "elf.h"
-#include "hw/cris-boot.h"
+#include "boot.h"
 
 static void main_cpu_reset(void *opaque)
 {
diff --git a/hw/cris-boot.h b/hw/cris/boot.h
similarity index 100%
rename from hw/cris-boot.h
rename to hw/cris/boot.h
diff --git a/hw/display/blizzard.c b/hw/display/blizzard.c
index bdb0b15..175c5cd 100644
--- a/hw/display/blizzard.c
+++ b/hw/display/blizzard.c
@@ -21,7 +21,7 @@
 #include "qemu-common.h"
 #include "ui/console.h"
 #include "hw/arm/devices.h"
-#include "hw/vga_int.h"
+#include "vga_int.h"
 #include "ui/pixel_ops.h"
 
 typedef void (*blizzard_fn_t)(uint8_t *, const uint8_t *, unsigned int);
@@ -946,15 +946,15 @@ static void blizzard_screen_dump(void *opaque, const char *filename,
 }
 
 #define DEPTH 8
-#include "hw/blizzard_template.h"
+#include "blizzard_template.h"
 #define DEPTH 15
-#include "hw/blizzard_template.h"
+#include "blizzard_template.h"
 #define DEPTH 16
-#include "hw/blizzard_template.h"
+#include "blizzard_template.h"
 #define DEPTH 24
-#include "hw/blizzard_template.h"
+#include "blizzard_template.h"
 #define DEPTH 32
-#include "hw/blizzard_template.h"
+#include "blizzard_template.h"
 
 void *s1d13745_init(qemu_irq gpio_int)
 {
diff --git a/hw/blizzard_template.h b/hw/display/blizzard_template.h
similarity index 100%
rename from hw/blizzard_template.h
rename to hw/display/blizzard_template.h
diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c
index 7a4d634..bf2181a 100644
--- a/hw/display/cirrus_vga.c
+++ b/hw/display/cirrus_vga.c
@@ -29,7 +29,7 @@
 #include "hw/hw.h"
 #include "hw/pci/pci.h"
 #include "ui/console.h"
-#include "hw/vga_int.h"
+#include "vga_int.h"
 #include "hw/loader.h"
 
 /*
@@ -288,63 +288,63 @@ static void cirrus_bitblt_fill_nop(CirrusVGAState *s,
 
 #define ROP_NAME 0
 #define ROP_FN(d, s) 0
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 #define ROP_NAME src_and_dst
 #define ROP_FN(d, s) (s) & (d)
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 #define ROP_NAME src_and_notdst
 #define ROP_FN(d, s) (s) & (~(d))
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 #define ROP_NAME notdst
 #define ROP_FN(d, s) ~(d)
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 #define ROP_NAME src
 #define ROP_FN(d, s) s
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 #define ROP_NAME 1
 #define ROP_FN(d, s) ~0
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 #define ROP_NAME notsrc_and_dst
 #define ROP_FN(d, s) (~(s)) & (d)
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 #define ROP_NAME src_xor_dst
 #define ROP_FN(d, s) (s) ^ (d)
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 #define ROP_NAME src_or_dst
 #define ROP_FN(d, s) (s) | (d)
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 #define ROP_NAME notsrc_or_notdst
 #define ROP_FN(d, s) (~(s)) | (~(d))
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 #define ROP_NAME src_notxor_dst
 #define ROP_FN(d, s) ~((s) ^ (d))
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 #define ROP_NAME src_or_notdst
 #define ROP_FN(d, s) (s) | (~(d))
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 #define ROP_NAME notsrc
 #define ROP_FN(d, s) (~(s))
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 #define ROP_NAME notsrc_or_dst
 #define ROP_FN(d, s) (~(s)) | (d)
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 #define ROP_NAME notsrc_and_notdst
 #define ROP_FN(d, s) (~(s)) & (~(d))
-#include "hw/cirrus_vga_rop.h"
+#include "cirrus_vga_rop.h"
 
 static const cirrus_bitblt_rop_t cirrus_fwd_rop[16] = {
     cirrus_bitblt_rop_fwd_0,
@@ -2166,13 +2166,13 @@ static void cirrus_cursor_invalidate(VGACommonState *s1)
 }
 
 #define DEPTH 8
-#include "hw/cirrus_vga_template.h"
+#include "cirrus_vga_template.h"
 
 #define DEPTH 16
-#include "hw/cirrus_vga_template.h"
+#include "cirrus_vga_template.h"
 
 #define DEPTH 32
-#include "hw/cirrus_vga_template.h"
+#include "cirrus_vga_template.h"
 
 static void cirrus_cursor_draw_line(VGACommonState *s1, uint8_t *d1, int scr_y)
 {
diff --git a/hw/cirrus_vga_rop.h b/hw/display/cirrus_vga_rop.h
similarity index 97%
rename from hw/cirrus_vga_rop.h
rename to hw/display/cirrus_vga_rop.h
index 894610c..9c7bb09 100644
--- a/hw/cirrus_vga_rop.h
+++ b/hw/display/cirrus_vga_rop.h
@@ -191,16 +191,16 @@ glue(glue(cirrus_bitblt_rop_bkwd_transp_, ROP_NAME),_16)(CirrusVGAState *s,
 }
 
 #define DEPTH 8
-#include "hw/cirrus_vga_rop2.h"
+#include "cirrus_vga_rop2.h"
 
 #define DEPTH 16
-#include "hw/cirrus_vga_rop2.h"
+#include "cirrus_vga_rop2.h"
 
 #define DEPTH 24
-#include "hw/cirrus_vga_rop2.h"
+#include "cirrus_vga_rop2.h"
 
 #define DEPTH 32
-#include "hw/cirrus_vga_rop2.h"
+#include "cirrus_vga_rop2.h"
 
 #undef ROP_NAME
 #undef ROP_OP
diff --git a/hw/cirrus_vga_rop2.h b/hw/display/cirrus_vga_rop2.h
similarity index 100%
rename from hw/cirrus_vga_rop2.h
rename to hw/display/cirrus_vga_rop2.h
diff --git a/hw/cirrus_vga_template.h b/hw/display/cirrus_vga_template.h
similarity index 100%
rename from hw/cirrus_vga_template.h
rename to hw/display/cirrus_vga_template.h
diff --git a/hw/display/framebuffer.c b/hw/display/framebuffer.c
index 7326a98..6be31db 100644
--- a/hw/display/framebuffer.c
+++ b/hw/display/framebuffer.c
@@ -19,7 +19,7 @@
 
 #include "hw/hw.h"
 #include "ui/console.h"
-#include "hw/framebuffer.h"
+#include "framebuffer.h"
 
 /* Render an image from a shared memory framebuffer.  */
    
diff --git a/hw/framebuffer.h b/hw/display/framebuffer.h
similarity index 100%
rename from hw/framebuffer.h
rename to hw/display/framebuffer.h
diff --git a/hw/display/milkymist-vgafb.c b/hw/display/milkymist-vgafb.c
index 98762ec..3219041 100644
--- a/hw/display/milkymist-vgafb.c
+++ b/hw/display/milkymist-vgafb.c
@@ -26,20 +26,20 @@
 #include "hw/sysbus.h"
 #include "trace.h"
 #include "ui/console.h"
-#include "hw/framebuffer.h"
+#include "framebuffer.h"
 #include "ui/pixel_ops.h"
 #include "qemu/error-report.h"
 
 #define BITS 8
-#include "hw/milkymist-vgafb_template.h"
+#include "milkymist-vgafb_template.h"
 #define BITS 15
-#include "hw/milkymist-vgafb_template.h"
+#include "milkymist-vgafb_template.h"
 #define BITS 16
-#include "hw/milkymist-vgafb_template.h"
+#include "milkymist-vgafb_template.h"
 #define BITS 24
-#include "hw/milkymist-vgafb_template.h"
+#include "milkymist-vgafb_template.h"
 #define BITS 32
-#include "hw/milkymist-vgafb_template.h"
+#include "milkymist-vgafb_template.h"
 
 enum {
     R_CTRL = 0,
diff --git a/hw/milkymist-vgafb_template.h b/hw/display/milkymist-vgafb_template.h
similarity index 100%
rename from hw/milkymist-vgafb_template.h
rename to hw/display/milkymist-vgafb_template.h
diff --git a/hw/omap_lcd_template.h b/hw/display/omap_lcd_template.h
similarity index 100%
rename from hw/omap_lcd_template.h
rename to hw/display/omap_lcd_template.h
diff --git a/hw/display/omap_lcdc.c b/hw/display/omap_lcdc.c
index 4048cc1..be7e9c0 100644
--- a/hw/display/omap_lcdc.c
+++ b/hw/display/omap_lcdc.c
@@ -19,7 +19,7 @@
 #include "hw/hw.h"
 #include "ui/console.h"
 #include "hw/arm/omap.h"
-#include "hw/framebuffer.h"
+#include "framebuffer.h"
 #include "ui/pixel_ops.h"
 
 struct omap_lcd_panel_s {
@@ -70,13 +70,13 @@ static void omap_lcd_interrupts(struct omap_lcd_panel_s *s)
 #define draw_line_func drawfn
 
 #define DEPTH 8
-#include "hw/omap_lcd_template.h"
+#include "omap_lcd_template.h"
 #define DEPTH 15
-#include "hw/omap_lcd_template.h"
+#include "omap_lcd_template.h"
 #define DEPTH 16
-#include "hw/omap_lcd_template.h"
+#include "omap_lcd_template.h"
 #define DEPTH 32
-#include "hw/omap_lcd_template.h"
+#include "omap_lcd_template.h"
 
 static draw_line_func draw_line_table2[33] = {
     [0 ... 32]	= NULL,
diff --git a/hw/display/pl110.c b/hw/display/pl110.c
index fbef675..295434e 100644
--- a/hw/display/pl110.c
+++ b/hw/display/pl110.c
@@ -9,7 +9,7 @@
 
 #include "hw/sysbus.h"
 #include "ui/console.h"
-#include "hw/framebuffer.h"
+#include "framebuffer.h"
 #include "ui/pixel_ops.h"
 
 #define PL110_CR_EN   0x001
@@ -111,15 +111,15 @@ static const unsigned char *idregs[] = {
 };
 
 #define BITS 8
-#include "hw/pl110_template.h"
+#include "pl110_template.h"
 #define BITS 15
-#include "hw/pl110_template.h"
+#include "pl110_template.h"
 #define BITS 16
-#include "hw/pl110_template.h"
+#include "pl110_template.h"
 #define BITS 24
-#include "hw/pl110_template.h"
+#include "pl110_template.h"
 #define BITS 32
-#include "hw/pl110_template.h"
+#include "pl110_template.h"
 
 static int pl110_enabled(pl110_state *s)
 {
diff --git a/hw/pl110_template.h b/hw/display/pl110_template.h
similarity index 98%
rename from hw/pl110_template.h
rename to hw/display/pl110_template.h
index ec4bfd6..e738e4a 100644
--- a/hw/pl110_template.h
+++ b/hw/display/pl110_template.h
@@ -27,20 +27,20 @@
 #undef RGB
 #define BORDER bgr
 #define ORDER 0
-#include "hw/pl110_template.h"
+#include "pl110_template.h"
 #define ORDER 1
-#include "hw/pl110_template.h"
+#include "pl110_template.h"
 #define ORDER 2
-#include "hw/pl110_template.h"
+#include "pl110_template.h"
 #undef BORDER
 #define RGB
 #define BORDER rgb
 #define ORDER 0
-#include "hw/pl110_template.h"
+#include "pl110_template.h"
 #define ORDER 1
-#include "hw/pl110_template.h"
+#include "pl110_template.h"
 #define ORDER 2
-#include "hw/pl110_template.h"
+#include "pl110_template.h"
 #undef BORDER
 
 static drawfn glue(pl110_draw_fn_,BITS)[48] =
diff --git a/hw/display/pxa2xx_lcd.c b/hw/display/pxa2xx_lcd.c
index ee59bc2..c9bd42e 100644
--- a/hw/display/pxa2xx_lcd.c
+++ b/hw/display/pxa2xx_lcd.c
@@ -16,7 +16,7 @@
 #include "ui/pixel_ops.h"
 /* FIXME: For graphic_rotate. Should probably be done in common code.  */
 #include "sysemu/sysemu.h"
-#include "hw/framebuffer.h"
+#include "framebuffer.h"
 
 struct DMAChannel {
     uint32_t branch;
@@ -981,15 +981,15 @@ static const VMStateDescription vmstate_pxa2xx_lcdc = {
 };
 
 #define BITS 8
-#include "hw/pxa2xx_template.h"
+#include "pxa2xx_template.h"
 #define BITS 15
-#include "hw/pxa2xx_template.h"
+#include "pxa2xx_template.h"
 #define BITS 16
-#include "hw/pxa2xx_template.h"
+#include "pxa2xx_template.h"
 #define BITS 24
-#include "hw/pxa2xx_template.h"
+#include "pxa2xx_template.h"
 #define BITS 32
-#include "hw/pxa2xx_template.h"
+#include "pxa2xx_template.h"
 
 PXA2xxLCDState *pxa2xx_lcdc_init(MemoryRegion *sysmem,
                                  hwaddr base, qemu_irq irq)
diff --git a/hw/pxa2xx_template.h b/hw/display/pxa2xx_template.h
similarity index 100%
rename from hw/pxa2xx_template.h
rename to hw/display/pxa2xx_template.h
diff --git a/hw/display/qxl-logger.c b/hw/display/qxl-logger.c
index 84f9aa1..3cd85d9 100644
--- a/hw/display/qxl-logger.c
+++ b/hw/display/qxl-logger.c
@@ -20,7 +20,7 @@
  */
 
 #include "qemu/timer.h"
-#include "hw/qxl.h"
+#include "qxl.h"
 
 static const char *qxl_type[] = {
     [ QXL_CMD_NOP ]     = "nop",
diff --git a/hw/display/qxl-render.c b/hw/display/qxl-render.c
index 8cd9be4..f511a62 100644
--- a/hw/display/qxl-render.c
+++ b/hw/display/qxl-render.c
@@ -19,7 +19,7 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "hw/qxl.h"
+#include "qxl.h"
 
 static void qxl_blit(PCIQXLDevice *qxl, QXLRect *rect)
 {
diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index b66b414..930b7cf 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -27,7 +27,7 @@
 #include "sysemu/sysemu.h"
 #include "trace.h"
 
-#include "hw/qxl.h"
+#include "qxl.h"
 
 /*
  * NOTE: SPICE_RING_PROD_ITEM accesses memory on the pci bar and as
diff --git a/hw/qxl.h b/hw/display/qxl.h
similarity index 99%
rename from hw/qxl.h
rename to hw/display/qxl.h
index 36f1a25..8e9b0c2 100644
--- a/hw/qxl.h
+++ b/hw/display/qxl.h
@@ -6,7 +6,7 @@
 #include "ui/console.h"
 #include "hw/hw.h"
 #include "hw/pci/pci.h"
-#include "hw/vga_int.h"
+#include "vga_int.h"
 #include "qemu/thread.h"
 
 #include "ui/qemu-spice.h"
diff --git a/hw/display/sm501.c b/hw/display/sm501.c
index d9fcead..6b660ac 100644
--- a/hw/display/sm501.c
+++ b/hw/display/sm501.c
@@ -1171,28 +1171,28 @@ typedef void draw_hwc_line_func(SM501State * s, int crt, uint8_t * palette,
                                 int c_y, uint8_t *d, int width);
 
 #define DEPTH 8
-#include "hw/sm501_template.h"
+#include "sm501_template.h"
 
 #define DEPTH 15
-#include "hw/sm501_template.h"
+#include "sm501_template.h"
 
 #define BGR_FORMAT
 #define DEPTH 15
-#include "hw/sm501_template.h"
+#include "sm501_template.h"
 
 #define DEPTH 16
-#include "hw/sm501_template.h"
+#include "sm501_template.h"
 
 #define BGR_FORMAT
 #define DEPTH 16
-#include "hw/sm501_template.h"
+#include "sm501_template.h"
 
 #define DEPTH 32
-#include "hw/sm501_template.h"
+#include "sm501_template.h"
 
 #define BGR_FORMAT
 #define DEPTH 32
-#include "hw/sm501_template.h"
+#include "sm501_template.h"
 
 static draw_line_func * draw_line8_funcs[] = {
     draw_line8_8,
diff --git a/hw/sm501_template.h b/hw/display/sm501_template.h
similarity index 100%
rename from hw/sm501_template.h
rename to hw/display/sm501_template.h
diff --git a/hw/display/tc6393xb.c b/hw/display/tc6393xb.c
index 2d5fa89..e252ce9 100644
--- a/hw/display/tc6393xb.c
+++ b/hw/display/tc6393xb.c
@@ -421,15 +421,15 @@ static void tc6393xb_nand_writeb(TC6393xbState *s, hwaddr addr, uint32_t value)
 }
 
 #define BITS 8
-#include "hw/tc6393xb_template.h"
+#include "tc6393xb_template.h"
 #define BITS 15
-#include "hw/tc6393xb_template.h"
+#include "tc6393xb_template.h"
 #define BITS 16
-#include "hw/tc6393xb_template.h"
+#include "tc6393xb_template.h"
 #define BITS 24
-#include "hw/tc6393xb_template.h"
+#include "tc6393xb_template.h"
 #define BITS 32
-#include "hw/tc6393xb_template.h"
+#include "tc6393xb_template.h"
 
 static void tc6393xb_draw_graphic(TC6393xbState *s, int full_update)
 {
diff --git a/hw/tc6393xb_template.h b/hw/display/tc6393xb_template.h
similarity index 100%
rename from hw/tc6393xb_template.h
rename to hw/display/tc6393xb_template.h
diff --git a/hw/display/vga-isa-mm.c b/hw/display/vga-isa-mm.c
index 3b08720..1c50070 100644
--- a/hw/display/vga-isa-mm.c
+++ b/hw/display/vga-isa-mm.c
@@ -24,7 +24,7 @@
 #include "hw/hw.h"
 #include "ui/console.h"
 #include "hw/i386/pc.h"
-#include "hw/vga_int.h"
+#include "vga_int.h"
 #include "ui/pixel_ops.h"
 #include "qemu/timer.h"
 
diff --git a/hw/display/vga-isa.c b/hw/display/vga-isa.c
index 89d7fa6..90959eb 100644
--- a/hw/display/vga-isa.c
+++ b/hw/display/vga-isa.c
@@ -26,7 +26,7 @@
 #include "hw/hw.h"
 #include "ui/console.h"
 #include "hw/i386/pc.h"
-#include "hw/vga_int.h"
+#include "vga_int.h"
 #include "ui/pixel_ops.h"
 #include "qemu/timer.h"
 #include "hw/loader.h"
diff --git a/hw/display/vga-pci.c b/hw/display/vga-pci.c
index 05fa9bc..a9c69b6 100644
--- a/hw/display/vga-pci.c
+++ b/hw/display/vga-pci.c
@@ -26,7 +26,7 @@
 #include "hw/hw.h"
 #include "ui/console.h"
 #include "hw/pci/pci.h"
-#include "hw/vga_int.h"
+#include "vga_int.h"
 #include "ui/pixel_ops.h"
 #include "qemu/timer.h"
 #include "hw/loader.h"
diff --git a/hw/display/vga.c b/hw/display/vga.c
index dc31fd5..c1b67bb 100644
--- a/hw/display/vga.c
+++ b/hw/display/vga.c
@@ -22,11 +22,11 @@
  * THE SOFTWARE.
  */
 #include "hw/hw.h"
-#include "hw/vga.h"
+#include "vga.h"
 #include "ui/console.h"
 #include "hw/i386/pc.h"
 #include "hw/pci/pci.h"
-#include "hw/vga_int.h"
+#include "vga_int.h"
 #include "ui/pixel_ops.h"
 #include "qemu/timer.h"
 #include "hw/xen/xen.h"
@@ -986,28 +986,28 @@ typedef void vga_draw_line_func(VGACommonState *s1, uint8_t *d,
                                 const uint8_t *s, int width);
 
 #define DEPTH 8
-#include "hw/vga_template.h"
+#include "vga_template.h"
 
 #define DEPTH 15
-#include "hw/vga_template.h"
+#include "vga_template.h"
 
 #define BGR_FORMAT
 #define DEPTH 15
-#include "hw/vga_template.h"
+#include "vga_template.h"
 
 #define DEPTH 16
-#include "hw/vga_template.h"
+#include "vga_template.h"
 
 #define BGR_FORMAT
 #define DEPTH 16
-#include "hw/vga_template.h"
+#include "vga_template.h"
 
 #define DEPTH 32
-#include "hw/vga_template.h"
+#include "vga_template.h"
 
 #define BGR_FORMAT
 #define DEPTH 32
-#include "hw/vga_template.h"
+#include "vga_template.h"
 
 static unsigned int rgb_to_pixel8_dup(unsigned int r, unsigned int g, unsigned b)
 {
diff --git a/hw/vga.h b/hw/display/vga.h
similarity index 100%
rename from hw/vga.h
rename to hw/display/vga.h
diff --git a/hw/vga_int.h b/hw/display/vga_int.h
similarity index 100%
rename from hw/vga_int.h
rename to hw/display/vga_int.h
diff --git a/hw/vga_template.h b/hw/display/vga_template.h
similarity index 100%
rename from hw/vga_template.h
rename to hw/display/vga_template.h
diff --git a/hw/display/vmware_vga.c b/hw/display/vmware_vga.c
index 5b9ce8f..bcad47a 100644
--- a/hw/display/vmware_vga.c
+++ b/hw/display/vmware_vga.c
@@ -31,7 +31,7 @@
 #define HW_FILL_ACCEL
 #define HW_MOUSE_ACCEL
 
-#include "hw/vga_int.h"
+#include "vga_int.h"
 
 /* See http://vmware-svga.sf.net/ for some documentation on VMWare SVGA */
 
diff --git a/hw/i2c/bitbang_i2c.c b/hw/i2c/bitbang_i2c.c
index b8e6d3a..854b8e1 100644
--- a/hw/i2c/bitbang_i2c.c
+++ b/hw/i2c/bitbang_i2c.c
@@ -10,7 +10,7 @@
  * GNU GPL, version 2 or (at your option) any later version.
  */
 #include "hw/hw.h"
-#include "hw/bitbang_i2c.h"
+#include "bitbang_i2c.h"
 #include "hw/sysbus.h"
 
 //#define DEBUG_BITBANG_I2C
diff --git a/hw/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h
similarity index 100%
rename from hw/bitbang_i2c.h
rename to hw/i2c/bitbang_i2c.h
diff --git a/hw/i2c/versatile_i2c.c b/hw/i2c/versatile_i2c.c
index d0444ae..e09c83d 100644
--- a/hw/i2c/versatile_i2c.c
+++ b/hw/i2c/versatile_i2c.c
@@ -22,7 +22,7 @@
  */
 
 #include "hw/sysbus.h"
-#include "hw/bitbang_i2c.h"
+#include "bitbang_i2c.h"
 
 typedef struct {
     SysBusDevice busdev;
diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c
index c7f01df..d696507 100644
--- a/hw/i386/multiboot.c
+++ b/hw/i386/multiboot.c
@@ -24,7 +24,7 @@
 
 #include "hw/hw.h"
 #include "hw/nvram/fw_cfg.h"
-#include "hw/multiboot.h"
+#include "multiboot.h"
 #include "hw/loader.h"
 #include "elf.h"
 #include "sysemu/sysemu.h"
diff --git a/hw/multiboot.h b/hw/i386/multiboot.h
similarity index 100%
rename from hw/multiboot.h
rename to hw/i386/multiboot.h
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 1f346ff..6290400 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -34,7 +34,7 @@
 #include "hw/i386/smbios.h"
 #include "hw/loader.h"
 #include "elf.h"
-#include "hw/multiboot.h"
+#include "multiboot.h"
 #include "hw/timer/mc146818rtc.h"
 #include "hw/timer/i8254.h"
 #include "hw/audio/pcspk.h"
diff --git a/hw/i386/xen_domainbuild.c b/hw/i386/xen_domainbuild.c
index ed90b4b..4e2cf95 100644
--- a/hw/i386/xen_domainbuild.c
+++ b/hw/i386/xen_domainbuild.c
@@ -1,6 +1,6 @@
 #include <signal.h>
 #include "hw/xen/xen_backend.h"
-#include "hw/xen_domainbuild.h"
+#include "xen_domainbuild.h"
 #include "qemu/timer.h"
 #include "qemu/log.h"
 
diff --git a/hw/xen_domainbuild.h b/hw/i386/xen_domainbuild.h
similarity index 100%
rename from hw/xen_domainbuild.h
rename to hw/i386/xen_domainbuild.h
diff --git a/hw/i386/xen_machine_pv.c b/hw/i386/xen_machine_pv.c
index fdd9374..f829a52 100644
--- a/hw/i386/xen_machine_pv.c
+++ b/hw/i386/xen_machine_pv.c
@@ -26,7 +26,7 @@
 #include "hw/i386/pc.h"
 #include "hw/boards.h"
 #include "hw/xen/xen_backend.h"
-#include "hw/xen_domainbuild.h"
+#include "xen_domainbuild.h"
 #include "sysemu/blockdev.h"
 
 static void xen_init_pv(QEMUMachineInitArgs *args)
diff --git a/hw/intc/arm_gic.c b/hw/intc/arm_gic.c
index bcb072b..bae6572 100644
--- a/hw/intc/arm_gic.c
+++ b/hw/intc/arm_gic.c
@@ -19,7 +19,7 @@
  */
 
 #include "hw/sysbus.h"
-#include "hw/arm_gic_internal.h"
+#include "gic_internal.h"
 
 //#define DEBUG_GIC
 
diff --git a/hw/intc/arm_gic_common.c b/hw/intc/arm_gic_common.c
index f2dc8bf..f37d360 100644
--- a/hw/intc/arm_gic_common.c
+++ b/hw/intc/arm_gic_common.c
@@ -18,7 +18,7 @@
  * with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "hw/arm_gic_internal.h"
+#include "gic_internal.h"
 
 static void gic_save(QEMUFile *f, void *opaque)
 {
diff --git a/hw/intc/arm_gic_kvm.c b/hw/intc/arm_gic_kvm.c
index 22b40b4..b756456 100644
--- a/hw/intc/arm_gic_kvm.c
+++ b/hw/intc/arm_gic_kvm.c
@@ -21,7 +21,7 @@
 #include "hw/sysbus.h"
 #include "sysemu/kvm.h"
 #include "kvm_arm.h"
-#include "hw/arm_gic_internal.h"
+#include "gic_internal.h"
 
 #define TYPE_KVM_ARM_GIC "kvm-arm-gic"
 #define KVM_ARM_GIC(obj) \
diff --git a/hw/intc/armv7m_nvic.c b/hw/intc/armv7m_nvic.c
index 39d727e..c75891f 100644
--- a/hw/intc/armv7m_nvic.c
+++ b/hw/intc/armv7m_nvic.c
@@ -14,7 +14,7 @@
 #include "qemu/timer.h"
 #include "hw/arm.h"
 #include "exec/address-spaces.h"
-#include "hw/arm_gic_internal.h"
+#include "gic_internal.h"
 
 typedef struct {
     GICState gic;
diff --git a/hw/arm_gic_internal.h b/hw/intc/gic_internal.h
similarity index 100%
rename from hw/arm_gic_internal.h
rename to hw/intc/gic_internal.h
diff --git a/hw/lm32.h b/hw/lm32/lm32.h
similarity index 100%
rename from hw/lm32.h
rename to hw/lm32/lm32.h
diff --git a/hw/lm32/lm32_boards.c b/hw/lm32/lm32_boards.c
index b22c94f..6555a97 100644
--- a/hw/lm32/lm32_boards.c
+++ b/hw/lm32/lm32_boards.c
@@ -25,8 +25,8 @@
 #include "hw/loader.h"
 #include "sysemu/blockdev.h"
 #include "elf.h"
-#include "hw/lm32_hwsetup.h"
-#include "hw/lm32.h"
+#include "lm32_hwsetup.h"
+#include "lm32.h"
 #include "exec/address-spaces.h"
 
 typedef struct {
diff --git a/hw/lm32_hwsetup.h b/hw/lm32/lm32_hwsetup.h
similarity index 100%
rename from hw/lm32_hwsetup.h
rename to hw/lm32/lm32_hwsetup.h
diff --git a/hw/milkymist-hw.h b/hw/lm32/milkymist-hw.h
similarity index 100%
rename from hw/milkymist-hw.h
rename to hw/lm32/milkymist-hw.h
diff --git a/hw/lm32/milkymist.c b/hw/lm32/milkymist.c
index c3724de..d02ca0c 100644
--- a/hw/lm32/milkymist.c
+++ b/hw/lm32/milkymist.c
@@ -26,8 +26,8 @@
 #include "hw/loader.h"
 #include "elf.h"
 #include "sysemu/blockdev.h"
-#include "hw/milkymist-hw.h"
-#include "hw/lm32.h"
+#include "milkymist-hw.h"
+#include "lm32.h"
 #include "exec/address-spaces.h"
 
 #define BIOS_FILENAME    "mmone-bios.bin"
diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c
index e13b3e1..23cb11d 100644
--- a/hw/microblaze/boot.c
+++ b/hw/microblaze/boot.c
@@ -31,7 +31,7 @@
 #include "hw/loader.h"
 #include "elf.h"
 
-#include "hw/microblaze_boot.h"
+#include "boot.h"
 
 static struct
 {
diff --git a/hw/microblaze_boot.h b/hw/microblaze/boot.h
similarity index 100%
rename from hw/microblaze_boot.h
rename to hw/microblaze/boot.h
diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c
index 813ef8c..ee6e366 100644
--- a/hw/microblaze/petalogix_ml605_mmu.c
+++ b/hw/microblaze/petalogix_ml605_mmu.c
@@ -38,8 +38,8 @@
 #include "exec/address-spaces.h"
 #include "hw/ssi.h"
 
-#include "hw/microblaze_boot.h"
-#include "hw/microblaze_pic_cpu.h"
+#include "boot.h"
+#include "pic_cpu.h"
 
 #include "hw/stream.h"
 
diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c
index b386403..eedd60e 100644
--- a/hw/microblaze/petalogix_s3adsp1800_mmu.c
+++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c
@@ -34,8 +34,8 @@
 #include "sysemu/blockdev.h"
 #include "exec/address-spaces.h"
 
-#include "hw/microblaze_boot.h"
-#include "hw/microblaze_pic_cpu.h"
+#include "boot.h"
+#include "pic_cpu.h"
 
 #define LMB_BRAM_SIZE  (128 * 1024)
 #define FLASH_SIZE     (16 * 1024 * 1024)
diff --git a/hw/microblaze/pic_cpu.c b/hw/microblaze/pic_cpu.c
index 6248de9..16902f7 100644
--- a/hw/microblaze/pic_cpu.c
+++ b/hw/microblaze/pic_cpu.c
@@ -23,7 +23,7 @@
  */
 
 #include "hw/hw.h"
-#include "hw/microblaze_pic_cpu.h"
+#include "pic_cpu.h"
 
 #define D(x)
 
diff --git a/hw/microblaze_pic_cpu.h b/hw/microblaze/pic_cpu.h
similarity index 100%
rename from hw/microblaze_pic_cpu.h
rename to hw/microblaze/pic_cpu.h
diff --git a/hw/misc/tmp105.c b/hw/misc/tmp105.c
index 21a27a6..155e03d 100644
--- a/hw/misc/tmp105.c
+++ b/hw/misc/tmp105.c
@@ -20,7 +20,7 @@
 
 #include "hw/hw.h"
 #include "hw/i2c/i2c.h"
-#include "hw/tmp105.h"
+#include "tmp105.h"
 #include "qapi/visitor.h"
 
 static void tmp105_interrupt_update(TMP105State *s)
diff --git a/hw/tmp105.h b/hw/misc/tmp105.h
similarity index 100%
rename from hw/tmp105.h
rename to hw/misc/tmp105.h
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index 3f18041..e6f46f0 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -33,7 +33,7 @@
 #include "sysemu/sysemu.h"
 #include "sysemu/dma.h"
 
-#include "hw/e1000_hw.h"
+#include "e1000_regs.h"
 
 #define E1000_DEBUG
 
diff --git a/hw/e1000_hw.h b/hw/net/e1000_regs.h
similarity index 100%
rename from hw/e1000_hw.h
rename to hw/net/e1000_regs.h
diff --git a/hw/net/lance.c b/hw/net/lance.c
index 0f4e808..187497c 100644
--- a/hw/net/lance.c
+++ b/hw/net/lance.c
@@ -40,7 +40,7 @@
 #include "qemu/timer.h"
 #include "qemu/sockets.h"
 #include "hw/sparc/sun4m.h"
-#include "hw/pcnet.h"
+#include "pcnet.h"
 #include "trace.h"
 
 typedef struct {
diff --git a/hw/net/ne2000-isa.c b/hw/net/ne2000-isa.c
index e4c10db..a093aa8 100644
--- a/hw/net/ne2000-isa.c
+++ b/hw/net/ne2000-isa.c
@@ -26,7 +26,7 @@
 #include "hw/isa/isa.h"
 #include "hw/qdev.h"
 #include "net/net.h"
-#include "hw/ne2000.h"
+#include "ne2000.h"
 #include "exec/address-spaces.h"
 
 typedef struct ISANE2000State {
diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
index 7f45831..33ee03e 100644
--- a/hw/net/ne2000.c
+++ b/hw/net/ne2000.c
@@ -24,7 +24,7 @@
 #include "hw/hw.h"
 #include "hw/pci/pci.h"
 #include "net/net.h"
-#include "hw/ne2000.h"
+#include "ne2000.h"
 #include "hw/loader.h"
 #include "sysemu/sysemu.h"
 
diff --git a/hw/ne2000.h b/hw/net/ne2000.h
similarity index 100%
rename from hw/ne2000.h
rename to hw/net/ne2000.h
diff --git a/hw/net/pcnet-pci.c b/hw/net/pcnet-pci.c
index 61af57e..9df2b87 100644
--- a/hw/net/pcnet-pci.c
+++ b/hw/net/pcnet-pci.c
@@ -33,7 +33,7 @@
 #include "qemu/timer.h"
 #include "sysemu/dma.h"
 
-#include "hw/pcnet.h"
+#include "pcnet.h"
 
 //#define PCNET_DEBUG
 //#define PCNET_DEBUG_IO
diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index b0b462b..b606d2b 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -41,7 +41,7 @@
 #include "qemu/sockets.h"
 #include "sysemu/sysemu.h"
 
-#include "hw/pcnet.h"
+#include "pcnet.h"
 
 //#define PCNET_DEBUG
 //#define PCNET_DEBUG_IO
diff --git a/hw/pcnet.h b/hw/net/pcnet.h
similarity index 100%
rename from hw/pcnet.h
rename to hw/net/pcnet.h
diff --git a/hw/pci-bridge/ioh3420.c b/hw/pci-bridge/ioh3420.c
index 5cff61e..bb541eb 100644
--- a/hw/pci-bridge/ioh3420.c
+++ b/hw/pci-bridge/ioh3420.c
@@ -23,7 +23,7 @@
 #include "hw/pci/pci_ids.h"
 #include "hw/pci/msi.h"
 #include "hw/pci/pcie.h"
-#include "hw/ioh3420.h"
+#include "ioh3420.h"
 
 #define PCI_DEVICE_ID_IOH_EPORT         0x3420  /* D0:F0 express mode */
 #define PCI_DEVICE_ID_IOH_REV           0x2
diff --git a/hw/ioh3420.h b/hw/pci-bridge/ioh3420.h
similarity index 100%
rename from hw/ioh3420.h
rename to hw/pci-bridge/ioh3420.h
diff --git a/hw/pci-bridge/xio3130_downstream.c b/hw/pci-bridge/xio3130_downstream.c
index b868f56..1810dd2 100644
--- a/hw/pci-bridge/xio3130_downstream.c
+++ b/hw/pci-bridge/xio3130_downstream.c
@@ -22,7 +22,7 @@
 #include "hw/pci/pci_ids.h"
 #include "hw/pci/msi.h"
 #include "hw/pci/pcie.h"
-#include "hw/xio3130_downstream.h"
+#include "xio3130_downstream.h"
 
 #define PCI_DEVICE_ID_TI_XIO3130D       0x8233  /* downstream port */
 #define XIO3130_REVISION                0x1
diff --git a/hw/xio3130_downstream.h b/hw/pci-bridge/xio3130_downstream.h
similarity index 100%
rename from hw/xio3130_downstream.h
rename to hw/pci-bridge/xio3130_downstream.h
diff --git a/hw/pci-bridge/xio3130_upstream.c b/hw/pci-bridge/xio3130_upstream.c
index cd5d97d..8e0d97a 100644
--- a/hw/pci-bridge/xio3130_upstream.c
+++ b/hw/pci-bridge/xio3130_upstream.c
@@ -22,7 +22,7 @@
 #include "hw/pci/pci_ids.h"
 #include "hw/pci/msi.h"
 #include "hw/pci/pcie.h"
-#include "hw/xio3130_upstream.h"
+#include "xio3130_upstream.h"
 
 #define PCI_DEVICE_ID_TI_XIO3130U       0x8232  /* upstream port */
 #define XIO3130_REVISION                0x2
diff --git a/hw/xio3130_upstream.h b/hw/pci-bridge/xio3130_upstream.h
similarity index 100%
rename from hw/xio3130_upstream.h
rename to hw/pci-bridge/xio3130_upstream.h
diff --git a/hw/pci-host/dec.c b/hw/pci-host/dec.c
index 6ec3d22..cff458b 100644
--- a/hw/pci-host/dec.c
+++ b/hw/pci-host/dec.c
@@ -23,7 +23,7 @@
  * THE SOFTWARE.
  */
 
-#include "hw/dec_pci.h"
+#include "dec.h"
 #include "hw/sysbus.h"
 #include "hw/pci/pci.h"
 #include "hw/pci/pci_host.h"
diff --git a/hw/dec_pci.h b/hw/pci-host/dec.h
similarity index 100%
rename from hw/dec_pci.h
rename to hw/pci-host/dec.h
diff --git a/hw/ppc405.h b/hw/ppc/ppc405.h
similarity index 100%
rename from hw/ppc405.h
rename to hw/ppc/ppc405.h
diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c
index 18a29db..8e56b16 100644
--- a/hw/ppc/ppc405_boards.c
+++ b/hw/ppc/ppc405_boards.c
@@ -23,7 +23,7 @@
  */
 #include "hw/hw.h"
 #include "hw/ppc/ppc.h"
-#include "hw/ppc405.h"
+#include "ppc405.h"
 #include "hw/timer/m48t59.h"
 #include "hw/block/flash.h"
 #include "sysemu/sysemu.h"
diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c
index 82b8956..c6c909e 100644
--- a/hw/ppc/ppc405_uc.c
+++ b/hw/ppc/ppc405_uc.c
@@ -23,7 +23,7 @@
  */
 #include "hw/hw.h"
 #include "hw/ppc/ppc.h"
-#include "hw/ppc405.h"
+#include "ppc405.h"
 #include "hw/char/serial.h"
 #include "qemu/timer.h"
 #include "sysemu/sysemu.h"
diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c
index 48a0218..a55e717 100644
--- a/hw/ppc/ppc440_bamboo.c
+++ b/hw/ppc/ppc440_bamboo.c
@@ -25,7 +25,7 @@
 #include "exec/address-spaces.h"
 #include "hw/char/serial.h"
 #include "hw/ppc/ppc.h"
-#include "hw/ppc405.h"
+#include "ppc405.h"
 #include "sysemu/sysemu.h"
 #include "hw/sysbus.h"
 
diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
index db52649..92b4394 100644
--- a/hw/ppc/virtex_ml507.c
+++ b/hw/ppc/virtex_ml507.c
@@ -37,7 +37,7 @@
 
 #include "hw/ppc/ppc.h"
 #include "hw/ppc/ppc4xx.h"
-#include "hw/ppc405.h"
+#include "ppc405.h"
 
 #include "sysemu/blockdev.h"
 #include "hw/xilinx.h"
diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index f46f800..14b0552 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -27,7 +27,7 @@
 #include "block/scsi.h"
 #include "trace.h"
 
-#include "hw/mfi.h"
+#include "mfi.h"
 
 #define MEGASAS_VERSION "1.70"
 #define MEGASAS_MAX_FRAMES 2048         /* Firmware limit at 65535 */
diff --git a/hw/mfi.h b/hw/scsi/mfi.h
similarity index 100%
rename from hw/mfi.h
rename to hw/scsi/mfi.h
diff --git a/hw/scsi/spapr_vscsi.c b/hw/scsi/spapr_vscsi.c
index e92b09a..999a463 100644
--- a/hw/scsi/spapr_vscsi.c
+++ b/hw/scsi/spapr_vscsi.c
@@ -34,11 +34,11 @@
 #include "hw/hw.h"
 #include "hw/scsi/scsi.h"
 #include "block/scsi.h"
-#include "hw/srp.h"
+#include "srp.h"
 #include "hw/qdev.h"
 #include "hw/ppc/spapr.h"
 #include "hw/ppc/spapr_vio.h"
-#include "hw/ppc-viosrp.h"
+#include "viosrp.h"
 
 #include <libfdt.h>
 
diff --git a/hw/srp.h b/hw/scsi/srp.h
similarity index 100%
rename from hw/srp.h
rename to hw/scsi/srp.h
diff --git a/hw/ppc-viosrp.h b/hw/scsi/viosrp.h
similarity index 100%
rename from hw/ppc-viosrp.h
rename to hw/scsi/viosrp.h
diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
index 4a29e6c..91dc9b0 100644
--- a/hw/sd/sdhci.c
+++ b/hw/sd/sdhci.c
@@ -29,7 +29,7 @@
 #include "block/block_int.h"
 #include "qemu/bitops.h"
 
-#include "hw/sdhci.h"
+#include "sdhci.h"
 
 /* host controller debug messages */
 #ifndef SDHC_DEBUG
diff --git a/hw/sdhci.h b/hw/sd/sdhci.h
similarity index 100%
rename from hw/sdhci.h
rename to hw/sd/sdhci.h
diff --git a/hw/sh4/r2d.c b/hw/sh4/r2d.c
index bcc326a..256a58c 100644
--- a/hw/sh4/r2d.c
+++ b/hw/sh4/r2d.c
@@ -31,7 +31,7 @@
 #include "hw/boards.h"
 #include "hw/pci/pci.h"
 #include "net/net.h"
-#include "hw/sh7750_regs.h"
+#include "sh7750_regs.h"
 #include "hw/ide.h"
 #include "hw/loader.h"
 #include "hw/usb.h"
diff --git a/hw/sh4/sh7750.c b/hw/sh4/sh7750.c
index d72708e..2218b9c 100644
--- a/hw/sh4/sh7750.c
+++ b/hw/sh4/sh7750.c
@@ -26,8 +26,8 @@
 #include "hw/hw.h"
 #include "hw/sh4/sh.h"
 #include "sysemu/sysemu.h"
-#include "hw/sh7750_regs.h"
-#include "hw/sh7750_regnames.h"
+#include "sh7750_regs.h"
+#include "sh7750_regnames.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 7a3cdf3..52ac1cc 100644
--- a/hw/sh4/sh7750_regnames.c
+++ b/hw/sh4/sh7750_regnames.c
@@ -1,7 +1,7 @@
 #include "hw/hw.h"
 #include "hw/sh4/sh.h"
-#include "hw/sh7750_regs.h"
-#include "hw/sh7750_regnames.h"
+#include "sh7750_regs.h"
+#include "sh7750_regnames.h"
 
 #define REGNAME(r) {r, #r},
 
diff --git a/hw/sh7750_regnames.h b/hw/sh4/sh7750_regnames.h
similarity index 100%
rename from hw/sh7750_regnames.h
rename to hw/sh4/sh7750_regnames.h
diff --git a/hw/sh7750_regs.h b/hw/sh4/sh7750_regs.h
similarity index 100%
rename from hw/sh7750_regs.h
rename to hw/sh4/sh7750_regs.h
diff --git a/hw/usb/ccid-card-emulated.c b/hw/usb/ccid-card-emulated.c
index c8f8ba3..29dcd7a 100644
--- a/hw/usb/ccid-card-emulated.c
+++ b/hw/usb/ccid-card-emulated.c
@@ -34,7 +34,7 @@
 #include "qemu/thread.h"
 #include "char/char.h"
 #include "monitor/monitor.h"
-#include "hw/ccid.h"
+#include "ccid.h"
 
 #define DPRINTF(card, lvl, fmt, ...) \
 do {\
diff --git a/hw/usb/ccid-card-passthru.c b/hw/usb/ccid-card-passthru.c
index 984bd0b..5e017ae 100644
--- a/hw/usb/ccid-card-passthru.c
+++ b/hw/usb/ccid-card-passthru.c
@@ -11,7 +11,7 @@
 #include "char/char.h"
 #include "qemu/sockets.h"
 #include "monitor/monitor.h"
-#include "hw/ccid.h"
+#include "ccid.h"
 #include "libcacard/vscard_common.h"
 
 #define DPRINTF(card, lvl, fmt, ...)                    \
diff --git a/hw/ccid.h b/hw/usb/ccid.h
similarity index 100%
rename from hw/ccid.h
rename to hw/usb/ccid.h
diff --git a/hw/usb/dev-smartcard-reader.c b/hw/usb/dev-smartcard-reader.c
index caebc1c..db8ce02 100644
--- a/hw/usb/dev-smartcard-reader.c
+++ b/hw/usb/dev-smartcard-reader.c
@@ -40,7 +40,7 @@
 #include "hw/usb/desc.h"
 #include "monitor/monitor.h"
 
-#include "hw/ccid.h"
+#include "ccid.h"
 
 #define DPRINTF(s, lvl, fmt, ...) \
 do { \
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index 943b429..2b22588 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -30,7 +30,7 @@
 #include "hw/loader.h"
 #include "sysemu/kvm.h"
 #include "sysemu/blockdev.h"
-#include "hw/virtio-pci.h"
+#include "virtio-pci.h"
 #include "qemu/range.h"
 #include "hw/virtio/virtio-bus.h"
 
diff --git a/hw/virtio-pci.h b/hw/virtio/virtio-pci.h
similarity index 100%
rename from hw/virtio-pci.h
rename to hw/virtio/virtio-pci.h
diff --git a/hw/xen/xen-host-pci-device.c b/hw/xen/xen-host-pci-device.c
index ff2e876..743b37b 100644
--- a/hw/xen/xen-host-pci-device.c
+++ b/hw/xen/xen-host-pci-device.c
@@ -7,7 +7,7 @@
  */
 
 #include "qemu-common.h"
-#include "hw/xen-host-pci-device.h"
+#include "xen-host-pci-device.h"
 
 #define XEN_HOST_PCI_MAX_EXT_CAP \
     ((PCIE_CONFIG_SPACE_SIZE - PCI_CONFIG_SPACE_SIZE) / (PCI_CAP_SIZEOF + 4))
diff --git a/hw/xen-host-pci-device.h b/hw/xen/xen-host-pci-device.h
similarity index 100%
rename from hw/xen-host-pci-device.h
rename to hw/xen/xen-host-pci-device.h
diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index 0cc4538..c199818 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -57,7 +57,7 @@
 #include "hw/pci/pci.h"
 #include "hw/xen/xen.h"
 #include "hw/xen/xen_backend.h"
-#include "hw/xen_pt.h"
+#include "xen_pt.h"
 #include "qemu/range.h"
 #include "exec/address-spaces.h"
 
diff --git a/hw/xen_pt.h b/hw/xen/xen_pt.h
similarity index 99%
rename from hw/xen_pt.h
rename to hw/xen/xen_pt.h
index d2cac18..942dc60 100644
--- a/hw/xen_pt.h
+++ b/hw/xen/xen_pt.h
@@ -4,7 +4,7 @@
 #include "qemu-common.h"
 #include "hw/xen/xen_common.h"
 #include "hw/pci/pci.h"
-#include "hw/xen-host-pci-device.h"
+#include "xen-host-pci-device.h"
 
 void xen_pt_log(const PCIDevice *d, const char *f, ...) GCC_FMT_ATTR(2, 3);
 
diff --git a/hw/xen/xen_pt_config_init.c b/hw/xen/xen_pt_config_init.c
index 3ee2adf..01872db 100644
--- a/hw/xen/xen_pt_config_init.c
+++ b/hw/xen/xen_pt_config_init.c
@@ -14,7 +14,7 @@
 
 #include "qemu/timer.h"
 #include "hw/xen/xen_backend.h"
-#include "hw/xen_pt.h"
+#include "xen_pt.h"
 
 #define XEN_PT_MERGE_VALUE(value, data, val_mask) \
     (((value) & (val_mask)) | ((data) & ~(val_mask)))
diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
index dcdfc5c..db2c842 100644
--- a/hw/xen/xen_pt_msi.c
+++ b/hw/xen/xen_pt_msi.c
@@ -12,7 +12,7 @@
 #include <sys/mman.h>
 
 #include "hw/xen/xen_backend.h"
-#include "hw/xen_pt.h"
+#include "xen_pt.h"
 #include "hw/i386/apic-msidef.h"
 
 
diff --git a/hw/xtensa_bootparam.h b/hw/xtensa/xtensa_bootparam.h
similarity index 100%
rename from hw/xtensa_bootparam.h
rename to hw/xtensa/xtensa_bootparam.h
diff --git a/hw/xtensa/xtensa_lx60.c b/hw/xtensa/xtensa_lx60.c
index 5695897..2682eda 100644
--- a/hw/xtensa/xtensa_lx60.c
+++ b/hw/xtensa/xtensa_lx60.c
@@ -37,7 +37,7 @@
 #include "hw/block/flash.h"
 #include "sysemu/blockdev.h"
 #include "char/char.h"
-#include "hw/xtensa_bootparam.h"
+#include "xtensa_bootparam.h"
 
 typedef struct LxBoardDesc {
     size_t flash_size;
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 38+ messages in thread

* Re: [Qemu-devel] [PATCH 02/35] hw: move headers to include/
  2013-04-04 19:22 ` [Qemu-devel] [PATCH 02/35] hw: move headers to include/ Paolo Bonzini
@ 2013-04-09  8:35   ` Markus Armbruster
  2013-04-09  8:43     ` Paolo Bonzini
  0 siblings, 1 reply; 38+ messages in thread
From: Markus Armbruster @ 2013-04-09  8:35 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel

Paolo Bonzini <pbonzini@redhat.com> writes:

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

Breaks the build for me: hw/9pfs/virtio-9p-device.h moved to
include/hw/virtio/virtio-9p.h, but hw/9pfs/virtio-9p-device.c's #include
not updated.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [Qemu-devel] [PATCH 02/35] hw: move headers to include/
  2013-04-09  8:35   ` Markus Armbruster
@ 2013-04-09  8:43     ` Paolo Bonzini
  0 siblings, 0 replies; 38+ messages in thread
From: Paolo Bonzini @ 2013-04-09  8:43 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: qemu-devel

Il 09/04/2013 10:35, Markus Armbruster ha scritto:
> 
>> > 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.
> Breaks the build for me: hw/9pfs/virtio-9p-device.h moved to
> include/hw/virtio/virtio-9p.h, but hw/9pfs/virtio-9p-device.c's #include
> not updated.

Hans already sent a patch for that.

Paolo

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2013-04-09  8:43 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-04 19:22 [Qemu-devel] [PATCH v3 00/35] hw/ reorganization, part 2 Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 01/35] build: enable using $(CONFIG_FOO) on the rhs of config files Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 02/35] hw: move headers to include/ Paolo Bonzini
2013-04-09  8:35   ` Markus Armbruster
2013-04-09  8:43     ` Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 03/35] hw: make subdirectories for devices Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 04/35] moxie: configure with default-configs file Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 05/35] hw: move target-independent files to subdirectories Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 06/35] hw: move virtio devices to hw/ subdirectories Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 07/35] hw: make all of hw/ide/ configurable via default-configs/ Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 08/35] hw: make all of hw/usb/ " Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 09/35] hw: make all of hw/pci/ " Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 10/35] hw: move watchdogs to hw/watchdog, configure " Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 11/35] hw: move MC146818RTC to hw/timer/, " Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 12/35] hw: move NICs to hw/net/, " Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 13/35] hw: move block devices to hw/block/, " Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 14/35] hw: move audio devices to hw/audio/, " Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 15/35] hw: move display devices to hw/display/, " Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 16/35] hw: move I2C controllers to hw/i2c/, " Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 17/35] hw: move SSI controllers to hw/ssi/, " Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 18/35] hw: move SCSI controllers to hw/scsi/, " Paolo Bonzini
2013-04-04 19:22 ` [Qemu-devel] [PATCH 19/35] hw: move more files to hw/xen/ Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 20/35] hw: move char devices to hw/char/, configure via default-configs/ Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 21/35] hw: move ISA bridges and devices to hw/isa/, configure with default-configs/ Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 22/35] hw: move timer devices to hw/timer/, " Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 23/35] hw: move SD/MMC devices to hw/sd/, " Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 24/35] hw: move PCI bridges to hw/pci-* or hw/ARCH Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 25/35] hw: move VFIO and ivshmem to hw/misc/ Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 26/35] hw: move DMA controllers to hw/dma/, configure with default-configs/ Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 27/35] hw: move interrupt controllers to hw/intc/, " Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 28/35] hw: move GPIO interfaces to hw/gpio/, " Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 29/35] hw: move NVRAM interfaces to hw/nvram/, " Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 30/35] hw: move other devices to hw/misc/, " Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 31/35] hw: move ARM CPU cores to hw/cpu/, " Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 32/35] hw: move hw/kvm/ to hw/i386/kvm Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 33/35] hw: move last file to hw/arm/ Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 34/35] MAINTAINERS: update for source code movement Paolo Bonzini
2013-04-04 19:23 ` [Qemu-devel] [PATCH 35/35] hw: move private headers to hw/ subdirectories Paolo Bonzini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.