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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ 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; 40+ 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] 40+ messages in thread

* [Qemu-devel] [PATCH 34/35] MAINTAINERS: update for source code movement
  2013-04-02 14:58 [Qemu-devel] [PATCH v2 00/36] hw/ reorganization, part 2 Paolo Bonzini
@ 2013-04-02 14:59 ` Paolo Bonzini
  0 siblings, 0 replies; 40+ messages in thread
From: Paolo Bonzini @ 2013-04-02 14:59 UTC (permalink / raw)
  To: qemu-devel

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

diff --git a/MAINTAINERS b/MAINTAINERS
index db14ffc..1ed0999 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,43 +400,45 @@ 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/host-uninorth.c
+F: hw/pci/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/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/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
 ------------
@@ -439,25 +457,25 @@ 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,92 @@ 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/piix4.c
 
 ppc4xx
 M: Alexander Graf <agraf@suse.de>
 L: qemu-ppc@nongnu.org
 S: Odd Fixes
-F: hw/ppc4xx*.[hc]
+F: hw/host-ppc4xx.c
+F: hw/ppc4xx_devs.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 +596,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 +607,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 +623,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 +631,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 +663,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] 40+ messages in thread

* [Qemu-devel] [PATCH 34/35] MAINTAINERS: update for source code movement
  2013-03-18 17:34 [Qemu-devel] [PATCH 00/35] hw/ reorganization, part 2 Paolo Bonzini
@ 2013-03-18 17:35 ` Paolo Bonzini
  0 siblings, 0 replies; 40+ messages in thread
From: Paolo Bonzini @ 2013-03-18 17:35 UTC (permalink / raw)
  To: qemu-devel

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

diff --git a/MAINTAINERS b/MAINTAINERS
index 0ca7e1d..f8e25c5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -59,75 +59,90 @@ 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/
 
 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/
 
 PowerPC
 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):
 ----------------------
@@ -200,156 +215,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
 ----------------
@@ -357,13 +372,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>
@@ -379,43 +394,45 @@ 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/host-uninorth.c
+F: hw/pci/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/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/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
 ------------
@@ -434,25 +451,25 @@ 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>
@@ -467,7 +484,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
@@ -475,90 +492,92 @@ 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/piix4.c
 
 ppc4xx
 M: Alexander Graf <agraf@suse.de>
 L: qemu-ppc@nongnu.org
 S: Odd Fixes
-F: hw/ppc4xx*.[hc]
+F: hw/host-ppc4xx.c
+F: hw/ppc4xx_devs.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>
@@ -571,7 +590,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>
@@ -582,20 +601,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
 ----------
@@ -603,6 +617,7 @@ Audio
 M: Vassili Karpov (malc) <av1474@comtv.ru>
 S: Maintained
 F: audio/
+F: hw/audio/
 
 Block
 M: Kevin Wolf <kwolf@redhat.com>
@@ -610,6 +625,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>
@@ -641,7 +657,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] 40+ messages in thread

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

Thread overview: 40+ 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
  -- strict thread matches above, loose matches on Subject: below --
2013-04-02 14:58 [Qemu-devel] [PATCH v2 00/36] hw/ reorganization, part 2 Paolo Bonzini
2013-04-02 14:59 ` [Qemu-devel] [PATCH 34/35] MAINTAINERS: update for source code movement Paolo Bonzini
2013-03-18 17:34 [Qemu-devel] [PATCH 00/35] hw/ reorganization, part 2 Paolo Bonzini
2013-03-18 17:35 ` [Qemu-devel] [PATCH 34/35] MAINTAINERS: update for source code movement 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.