aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2013-03-01 13:59:19 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2013-04-08 18:13:12 +0200
commit49ab747f668f421138d5b40d83fa279c4c5e278d (patch)
tree943225a04eac885aed038731adf058f2250a2f40 /hw
parentce3b494cb504f96992f2d37ebc8f56deed202b06 (diff)
hw: move target-independent files to subdirectories
This patch tackles all files that are compiled once, moving them to subdirectories of hw/. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/Makefile.objs197
-rw-r--r--hw/acpi/Makefile.objs2
-rw-r--r--hw/acpi/core.c (renamed from hw/acpi.c)0
-rw-r--r--hw/acpi/ich9.c (renamed from hw/acpi_ich9.c)0
-rw-r--r--hw/acpi/piix4.c (renamed from hw/acpi_piix4.c)0
-rw-r--r--hw/audio/Makefile.objs16
-rw-r--r--hw/audio/ac97.c (renamed from hw/ac97.c)0
-rw-r--r--hw/audio/adlib.c (renamed from hw/adlib.c)0
-rw-r--r--hw/audio/cs4231a.c (renamed from hw/cs4231a.c)0
-rw-r--r--hw/audio/es1370.c (renamed from hw/es1370.c)0
-rw-r--r--hw/audio/fmopl.c (renamed from hw/fmopl.c)0
-rw-r--r--hw/audio/gus.c (renamed from hw/gus.c)0
-rw-r--r--hw/audio/gusemu_hal.c (renamed from hw/gusemu_hal.c)0
-rw-r--r--hw/audio/gusemu_mixer.c (renamed from hw/gusemu_mixer.c)0
-rw-r--r--hw/audio/hda-codec.c (renamed from hw/hda-audio.c)0
-rw-r--r--hw/audio/intel-hda.c (renamed from hw/intel-hda.c)0
-rw-r--r--hw/audio/lm4549.c (renamed from hw/lm4549.c)0
-rw-r--r--hw/audio/pcspk.c (renamed from hw/pcspk.c)0
-rw-r--r--hw/audio/pl041.c (renamed from hw/pl041.c)0
-rw-r--r--hw/audio/pl041.hx (renamed from hw/pl041.hx)0
-rw-r--r--hw/audio/sb16.c (renamed from hw/sb16.c)0
-rw-r--r--hw/audio/wm8750.c (renamed from hw/wm8750.c)0
-rw-r--r--hw/block/Makefile.objs8
-rw-r--r--hw/block/block.c (renamed from hw/block-common.c)0
-rw-r--r--hw/block/cdrom.c (renamed from hw/cdrom.c)0
-rw-r--r--hw/block/ecc.c (renamed from hw/ecc.c)0
-rw-r--r--hw/block/fdc.c (renamed from hw/fdc.c)0
-rw-r--r--hw/block/hd-geometry.c (renamed from hw/hd-geometry.c)0
-rw-r--r--hw/block/m25p80.c (renamed from hw/m25p80.c)0
-rw-r--r--hw/block/nand.c (renamed from hw/nand.c)0
-rw-r--r--hw/block/pflash_cfi01.c (renamed from hw/pflash_cfi01.c)0
-rw-r--r--hw/block/pflash_cfi02.c (renamed from hw/pflash_cfi02.c)0
-rw-r--r--hw/block/xen_disk.c (renamed from hw/xen_disk.c)0
-rw-r--r--hw/bt/Makefile.objs3
-rw-r--r--hw/bt/core.c (renamed from hw/bt.c)0
-rw-r--r--hw/bt/hci-csr.c (renamed from hw/bt-hci-csr.c)0
-rw-r--r--hw/bt/hci.c (renamed from hw/bt-hci.c)0
-rw-r--r--hw/bt/hid.c (renamed from hw/bt-hid.c)0
-rw-r--r--hw/bt/l2cap.c (renamed from hw/bt-l2cap.c)0
-rw-r--r--hw/bt/sdp.c (renamed from hw/bt-sdp.c)0
-rw-r--r--hw/char/Makefile.objs10
-rw-r--r--hw/char/cadence_uart.c (renamed from hw/cadence_uart.c)0
-rw-r--r--hw/char/escc.c (renamed from hw/escc.c)0
-rw-r--r--hw/char/ipack.c (renamed from hw/ipack.c)0
-rw-r--r--hw/char/ipoctal232.c (renamed from hw/ipoctal232.c)0
-rw-r--r--hw/char/parallel.c (renamed from hw/parallel.c)0
-rw-r--r--hw/char/pl011.c (renamed from hw/pl011.c)0
-rw-r--r--hw/char/serial-isa.c (renamed from hw/serial-isa.c)0
-rw-r--r--hw/char/serial-pci.c (renamed from hw/serial-pci.c)0
-rw-r--r--hw/char/serial.c (renamed from hw/serial.c)0
-rw-r--r--hw/char/tpci200.c (renamed from hw/tpci200.c)0
-rw-r--r--hw/char/virtio-console.c (renamed from hw/virtio-console.c)0
-rw-r--r--hw/char/xen_console.c (renamed from hw/xen_console.c)0
-rw-r--r--hw/char/xilinx_uartlite.c (renamed from hw/xilinx_uartlite.c)0
-rw-r--r--hw/core/Makefile.objs14
-rw-r--r--hw/core/empty_slot.c (renamed from hw/empty_slot.c)0
-rw-r--r--hw/core/irq.c (renamed from hw/irq.c)0
-rw-r--r--hw/core/loader.c (renamed from hw/loader.c)0
-rw-r--r--hw/core/null-machine.c (renamed from hw/null-machine.c)0
-rw-r--r--hw/core/ptimer.c (renamed from hw/ptimer.c)0
-rw-r--r--hw/core/qdev-addr.c (renamed from hw/qdev-addr.c)0
-rw-r--r--hw/core/qdev-properties-system.c (renamed from hw/qdev-properties-system.c)0
-rw-r--r--hw/core/qdev-properties.c (renamed from hw/qdev-properties.c)0
-rw-r--r--hw/core/qdev.c (renamed from hw/qdev.c)0
-rw-r--r--hw/core/stream.c (renamed from hw/stream.c)0
-rw-r--r--hw/core/sysbus.c (renamed from hw/sysbus.c)0
-rw-r--r--hw/display/Makefile.objs13
-rw-r--r--hw/display/ads7846.c (renamed from hw/ads7846.c)0
-rw-r--r--hw/display/cirrus_vga.c (renamed from hw/cirrus_vga.c)0
-rw-r--r--hw/display/g364fb.c (renamed from hw/g364fb.c)0
-rw-r--r--hw/display/jazz_led.c (renamed from hw/jazz_led.c)0
-rw-r--r--hw/display/pl110.c (renamed from hw/pl110.c)0
-rw-r--r--hw/display/ssd0303.c (renamed from hw/ssd0303.c)0
-rw-r--r--hw/display/ssd0323.c (renamed from hw/ssd0323.c)0
-rw-r--r--hw/display/vga-isa-mm.c (renamed from hw/vga-isa-mm.c)0
-rw-r--r--hw/display/vga-isa.c (renamed from hw/vga-isa.c)0
-rw-r--r--hw/display/vga-pci.c (renamed from hw/vga-pci.c)0
-rw-r--r--hw/display/vmware_vga.c (renamed from hw/vmware_vga.c)0
-rw-r--r--hw/display/xenfb.c (renamed from hw/xenfb.c)0
-rw-r--r--hw/dma/Makefile.objs7
-rw-r--r--hw/dma/i82374.c (renamed from hw/i82374.c)0
-rw-r--r--hw/dma/i8257.c (renamed from hw/dma.c)0
-rw-r--r--hw/dma/pl080.c (renamed from hw/pl080.c)0
-rw-r--r--hw/dma/pl330.c (renamed from hw/pl330.c)0
-rw-r--r--hw/dma/puv3_dma.c (renamed from hw/puv3_dma.c)0
-rw-r--r--hw/dma/rc4030.c (renamed from hw/rc4030.c)0
-rw-r--r--hw/dma/xilinx_axidma.c (renamed from hw/xilinx_axidma.c)0
-rw-r--r--hw/gpio/Makefile.objs3
-rw-r--r--hw/gpio/max7310.c (renamed from hw/max7310.c)0
-rw-r--r--hw/gpio/pl061.c (renamed from hw/pl061.c)0
-rw-r--r--hw/gpio/puv3_gpio.c (renamed from hw/puv3_gpio.c)0
-rw-r--r--hw/i2c/Makefile.objs4
-rw-r--r--hw/i2c/core.c (renamed from hw/i2c.c)0
-rw-r--r--hw/i2c/pm_smbus.c (renamed from hw/pm_smbus.c)0
-rw-r--r--hw/i2c/smbus.c (renamed from hw/smbus.c)0
-rw-r--r--hw/i2c/smbus_eeprom.c (renamed from hw/smbus_eeprom.c)0
-rw-r--r--hw/i2c/smbus_ich9.c (renamed from hw/smbus_ich9.c)0
-rw-r--r--hw/i2c/versatile_i2c.c (renamed from hw/versatile_i2c.c)0
-rw-r--r--hw/input/Makefile.objs9
-rw-r--r--hw/input/adb.c (renamed from hw/adb.c)0
-rw-r--r--hw/input/hid.c (renamed from hw/hid.c)0
-rw-r--r--hw/input/lm832x.c (renamed from hw/lm832x.c)0
-rw-r--r--hw/input/pckbd.c (renamed from hw/pckbd.c)0
-rw-r--r--hw/input/pl050.c (renamed from hw/pl050.c)0
-rw-r--r--hw/input/ps2.c (renamed from hw/ps2.c)0
-rw-r--r--hw/input/stellaris_input.c (renamed from hw/stellaris_input.c)0
-rw-r--r--hw/input/tsc2005.c (renamed from hw/tsc2005.c)0
-rw-r--r--hw/input/vmmouse.c (renamed from hw/vmmouse.c)0
-rw-r--r--hw/intc/Makefile.objs5
-rw-r--r--hw/intc/heathrow_pic.c (renamed from hw/heathrow_pic.c)0
-rw-r--r--hw/intc/i8259.c (renamed from hw/i8259.c)0
-rw-r--r--hw/intc/i8259_common.c (renamed from hw/i8259_common.c)0
-rw-r--r--hw/intc/pl190.c (renamed from hw/pl190.c)0
-rw-r--r--hw/intc/puv3_intc.c (renamed from hw/puv3_intc.c)0
-rw-r--r--hw/intc/xilinx_intc.c (renamed from hw/xilinx_intc.c)0
-rw-r--r--hw/isa/Makefile.objs7
-rw-r--r--hw/isa/apm.c (renamed from hw/apm.c)0
-rw-r--r--hw/isa/i82378.c (renamed from hw/i82378.c)0
-rw-r--r--hw/isa/isa-bus.c (renamed from hw/isa-bus.c)0
-rw-r--r--hw/isa/isa_mmio.c (renamed from hw/isa_mmio.c)0
-rw-r--r--hw/isa/pc87312.c (renamed from hw/pc87312.c)0
-rw-r--r--hw/isa/piix4.c (renamed from hw/piix4.c)0
-rw-r--r--hw/misc/Makefile.objs11
-rw-r--r--hw/misc/applesmc.c (renamed from hw/applesmc.c)0
-rw-r--r--hw/misc/arm_l2x0.c (renamed from hw/arm_l2x0.c)0
-rw-r--r--hw/misc/macio/Makefile.objs3
-rw-r--r--hw/misc/macio/cuda.c (renamed from hw/cuda.c)0
-rw-r--r--hw/misc/macio/mac_dbdma.c (renamed from hw/mac_dbdma.c)0
-rw-r--r--hw/misc/macio/macio.c (renamed from hw/macio.c)0
-rw-r--r--hw/misc/max111x.c (renamed from hw/max111x.c)0
-rw-r--r--hw/misc/puv3_pm.c (renamed from hw/puv3_pm.c)0
-rw-r--r--hw/misc/tmp105.c (renamed from hw/tmp105.c)0
-rw-r--r--hw/net/Makefile.objs22
-rw-r--r--hw/net/cadence_gem.c (renamed from hw/cadence_gem.c)0
-rw-r--r--hw/net/dp8393x.c (renamed from hw/dp8393x.c)0
-rw-r--r--hw/net/e1000.c (renamed from hw/e1000.c)0
-rw-r--r--hw/net/eepro100.c (renamed from hw/eepro100.c)0
-rw-r--r--hw/net/lan9118.c (renamed from hw/lan9118.c)0
-rw-r--r--hw/net/mipsnet.c (renamed from hw/mipsnet.c)0
-rw-r--r--hw/net/ne2000-isa.c (renamed from hw/ne2000-isa.c)0
-rw-r--r--hw/net/ne2000.c (renamed from hw/ne2000.c)0
-rw-r--r--hw/net/opencores_eth.c (renamed from hw/opencores_eth.c)0
-rw-r--r--hw/net/pcnet-pci.c (renamed from hw/pcnet-pci.c)0
-rw-r--r--hw/net/pcnet.c (renamed from hw/pcnet.c)0
-rw-r--r--hw/net/rtl8139.c (renamed from hw/rtl8139.c)0
-rw-r--r--hw/net/smc91c111.c (renamed from hw/smc91c111.c)0
-rw-r--r--hw/net/vmware_utils.h (renamed from hw/vmware_utils.h)0
-rw-r--r--hw/net/vmxnet3.c (renamed from hw/vmxnet3.c)0
-rw-r--r--hw/net/vmxnet3.h (renamed from hw/vmxnet3.h)0
-rw-r--r--hw/net/vmxnet_debug.h (renamed from hw/vmxnet_debug.h)0
-rw-r--r--hw/net/vmxnet_rx_pkt.c (renamed from hw/vmxnet_rx_pkt.c)0
-rw-r--r--hw/net/vmxnet_rx_pkt.h (renamed from hw/vmxnet_rx_pkt.h)0
-rw-r--r--hw/net/vmxnet_tx_pkt.c (renamed from hw/vmxnet_tx_pkt.c)0
-rw-r--r--hw/net/vmxnet_tx_pkt.h (renamed from hw/vmxnet_tx_pkt.h)0
-rw-r--r--hw/net/xen_nic.c (renamed from hw/xen_nic.c)0
-rw-r--r--hw/net/xgmac.c (renamed from hw/xgmac.c)0
-rw-r--r--hw/net/xilinx_axienet.c (renamed from hw/xilinx_axienet.c)0
-rw-r--r--hw/nvram/Makefile.objs4
-rw-r--r--hw/nvram/ds1225y.c (renamed from hw/ds1225y.c)0
-rw-r--r--hw/nvram/eeprom93xx.c (renamed from hw/eeprom93xx.c)0
-rw-r--r--hw/nvram/fw_cfg.c (renamed from hw/fw_cfg.c)0
-rw-r--r--hw/nvram/mac_nvram.c (renamed from hw/mac_nvram.c)0
-rw-r--r--hw/pci/Makefile.objs4
-rw-r--r--hw/pci/bridge/Makefile.objs3
-rw-r--r--hw/pci/bridge/i82801b11.c (renamed from hw/i82801b11.c)0
-rw-r--r--hw/pci/bridge/ioh3420.c (renamed from hw/ioh3420.c)0
-rw-r--r--hw/pci/bridge/pci_bridge_dev.c (renamed from hw/pci_bridge_dev.c)0
-rw-r--r--hw/pci/bridge/xio3130_downstream.c (renamed from hw/xio3130_downstream.c)0
-rw-r--r--hw/pci/bridge/xio3130_upstream.c (renamed from hw/xio3130_upstream.c)0
-rw-r--r--hw/pci/host/Makefile.objs13
-rw-r--r--hw/pci/host/dec.c (renamed from hw/dec_pci.c)0
-rw-r--r--hw/pci/host/grackle.c (renamed from hw/grackle_pci.c)0
-rw-r--r--hw/pci/host/pam.c (renamed from hw/pam.c)0
-rw-r--r--hw/pci/host/ppce500.c (renamed from hw/ppce500_pci.c)0
-rw-r--r--hw/pci/host/prep.c (renamed from hw/prep_pci.c)0
-rw-r--r--hw/pci/host/uninorth.c (renamed from hw/unin_pci.c)0
-rw-r--r--hw/pci/host/versatile.c (renamed from hw/versatile_pci.c)0
-rw-r--r--hw/scsi/Makefile.objs6
-rw-r--r--hw/scsi/esp-pci.c (renamed from hw/esp-pci.c)0
-rw-r--r--hw/scsi/esp.c (renamed from hw/esp.c)0
-rw-r--r--hw/scsi/lsi53c895a.c (renamed from hw/lsi53c895a.c)0
-rw-r--r--hw/scsi/megasas.c (renamed from hw/megasas.c)0
-rw-r--r--hw/scsi/scsi-bus.c (renamed from hw/scsi-bus.c)0
-rw-r--r--hw/scsi/scsi-disk.c (renamed from hw/scsi-disk.c)0
-rw-r--r--hw/scsi/scsi-generic.c (renamed from hw/scsi-generic.c)0
-rw-r--r--hw/sd/Makefile.objs4
-rw-r--r--hw/sd/pl181.c (renamed from hw/pl181.c)0
-rw-r--r--hw/sd/sd.c (renamed from hw/sd.c)0
-rw-r--r--hw/sd/sdhci.c (renamed from hw/sdhci.c)0
-rw-r--r--hw/sd/ssi-sd.c (renamed from hw/ssi-sd.c)0
-rw-r--r--hw/ssi/Makefile.objs2
-rw-r--r--hw/ssi/pl022.c (renamed from hw/pl022.c)0
-rw-r--r--hw/ssi/ssi.c (renamed from hw/ssi.c)0
-rw-r--r--hw/timer/Makefile.objs10
-rw-r--r--hw/timer/arm_timer.c (renamed from hw/arm_timer.c)0
-rw-r--r--hw/timer/cadence_ttc.c (renamed from hw/cadence_ttc.c)0
-rw-r--r--hw/timer/ds1338.c (renamed from hw/ds1338.c)0
-rw-r--r--hw/timer/hpet.c (renamed from hw/hpet.c)0
-rw-r--r--hw/timer/i8254.c (renamed from hw/i8254.c)0
-rw-r--r--hw/timer/i8254_common.c (renamed from hw/i8254_common.c)0
-rw-r--r--hw/timer/m48t59.c (renamed from hw/m48t59.c)0
-rw-r--r--hw/timer/pl031.c (renamed from hw/pl031.c)0
-rw-r--r--hw/timer/puv3_ost.c (renamed from hw/puv3_ost.c)0
-rw-r--r--hw/timer/twl92230.c (renamed from hw/twl92230.c)0
-rw-r--r--hw/timer/xilinx_timer.c (renamed from hw/xilinx_timer.c)0
-rw-r--r--hw/usb/Makefile.objs7
-rw-r--r--hw/usb/ccid-card-emulated.c (renamed from hw/ccid-card-emulated.c)0
-rw-r--r--hw/usb/ccid-card-passthru.c (renamed from hw/ccid-card-passthru.c)0
-rw-r--r--hw/virtio/Makefile.objs4
-rw-r--r--hw/virtio/virtio-bus.c (renamed from hw/virtio-bus.c)0
-rw-r--r--hw/virtio/virtio-pci.c (renamed from hw/virtio-pci.c)0
-rw-r--r--hw/virtio/virtio-rng.c (renamed from hw/virtio-rng.c)0
-rw-r--r--hw/watchdog/Makefile.objs2
-rw-r--r--hw/watchdog/watchdog.c (renamed from hw/watchdog.c)0
-rw-r--r--hw/watchdog/wdt_i6300esb.c (renamed from hw/wdt_i6300esb.c)0
-rw-r--r--hw/xen/Makefile.objs2
-rw-r--r--hw/xen/xen_backend.c (renamed from hw/xen_backend.c)0
-rw-r--r--hw/xen/xen_devconfig.c (renamed from hw/xen_devconfig.c)0
218 files changed, 196 insertions, 199 deletions
diff --git a/hw/Makefile.objs b/hw/Makefile.objs
index 0a92ff9b9..1d28ce28d 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 e69de29bb..a0b63b562 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
index 64b871846..64b871846 100644
--- a/hw/acpi.c
+++ b/hw/acpi/core.c
diff --git a/hw/acpi_ich9.c b/hw/acpi/ich9.c
index e663d297a..e663d297a 100644
--- a/hw/acpi_ich9.c
+++ b/hw/acpi/ich9.c
diff --git a/hw/acpi_piix4.c b/hw/acpi/piix4.c
index 88386d7ea..88386d7ea 100644
--- a/hw/acpi_piix4.c
+++ b/hw/acpi/piix4.c
diff --git a/hw/audio/Makefile.objs b/hw/audio/Makefile.objs
index e69de29bb..c50c367da 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
index ab68ec620..ab68ec620 100644
--- a/hw/ac97.c
+++ b/hw/audio/ac97.c
diff --git a/hw/adlib.c b/hw/audio/adlib.c
index 133c0ff7b..133c0ff7b 100644
--- a/hw/adlib.c
+++ b/hw/audio/adlib.c
diff --git a/hw/cs4231a.c b/hw/audio/cs4231a.c
index 5711b62f8..5711b62f8 100644
--- a/hw/cs4231a.c
+++ b/hw/audio/cs4231a.c
diff --git a/hw/es1370.c b/hw/audio/es1370.c
index 9fe57087b..9fe57087b 100644
--- a/hw/es1370.c
+++ b/hw/audio/es1370.c
diff --git a/hw/fmopl.c b/hw/audio/fmopl.c
index e50ba6c0e..e50ba6c0e 100644
--- a/hw/fmopl.c
+++ b/hw/audio/fmopl.c
diff --git a/hw/gus.c b/hw/audio/gus.c
index e44704b1c..e44704b1c 100644
--- a/hw/gus.c
+++ b/hw/audio/gus.c
diff --git a/hw/gusemu_hal.c b/hw/audio/gusemu_hal.c
index 0eee61765..0eee61765 100644
--- a/hw/gusemu_hal.c
+++ b/hw/audio/gusemu_hal.c
diff --git a/hw/gusemu_mixer.c b/hw/audio/gusemu_mixer.c
index 816c58a7e..816c58a7e 100644
--- a/hw/gusemu_mixer.c
+++ b/hw/audio/gusemu_mixer.c
diff --git a/hw/hda-audio.c b/hw/audio/hda-codec.c
index 6bdd8209f..6bdd8209f 100644
--- a/hw/hda-audio.c
+++ b/hw/audio/hda-codec.c
diff --git a/hw/intel-hda.c b/hw/audio/intel-hda.c
index 68201cd09..68201cd09 100644
--- a/hw/intel-hda.c
+++ b/hw/audio/intel-hda.c
diff --git a/hw/lm4549.c b/hw/audio/lm4549.c
index 67335cba6..67335cba6 100644
--- a/hw/lm4549.c
+++ b/hw/audio/lm4549.c
diff --git a/hw/pcspk.c b/hw/audio/pcspk.c
index 34e0df748..34e0df748 100644
--- a/hw/pcspk.c
+++ b/hw/audio/pcspk.c
diff --git a/hw/pl041.c b/hw/audio/pl041.c
index 92dddc292..92dddc292 100644
--- a/hw/pl041.c
+++ b/hw/audio/pl041.c
diff --git a/hw/pl041.hx b/hw/audio/pl041.hx
index dd7188cbc..dd7188cbc 100644
--- a/hw/pl041.hx
+++ b/hw/audio/pl041.hx
diff --git a/hw/sb16.c b/hw/audio/sb16.c
index 783b6b435..783b6b435 100644
--- a/hw/sb16.c
+++ b/hw/audio/sb16.c
diff --git a/hw/wm8750.c b/hw/audio/wm8750.c
index 6b5a3499b..6b5a3499b 100644
--- a/hw/wm8750.c
+++ b/hw/audio/wm8750.c
diff --git a/hw/block/Makefile.objs b/hw/block/Makefile.objs
index e69de29bb..5fa510138 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
index 33dd3f33b..33dd3f33b 100644
--- a/hw/block-common.c
+++ b/hw/block/block.c
diff --git a/hw/cdrom.c b/hw/block/cdrom.c
index 38469fa92..38469fa92 100644
--- a/hw/cdrom.c
+++ b/hw/block/cdrom.c
diff --git a/hw/ecc.c b/hw/block/ecc.c
index 8c888cc12..8c888cc12 100644
--- a/hw/ecc.c
+++ b/hw/block/ecc.c
diff --git a/hw/fdc.c b/hw/block/fdc.c
index 1ed874f07..1ed874f07 100644
--- a/hw/fdc.c
+++ b/hw/block/fdc.c
diff --git a/hw/hd-geometry.c b/hw/block/hd-geometry.c
index 6feb4f817..6feb4f817 100644
--- a/hw/hd-geometry.c
+++ b/hw/block/hd-geometry.c
diff --git a/hw/m25p80.c b/hw/block/m25p80.c
index cd560e374..cd560e374 100644
--- a/hw/m25p80.c
+++ b/hw/block/m25p80.c
diff --git a/hw/nand.c b/hw/block/nand.c
index 087ca14ed..087ca14ed 100644
--- a/hw/nand.c
+++ b/hw/block/nand.c
diff --git a/hw/pflash_cfi01.c b/hw/block/pflash_cfi01.c
index 3ff20e0c6..3ff20e0c6 100644
--- a/hw/pflash_cfi01.c
+++ b/hw/block/pflash_cfi01.c
diff --git a/hw/pflash_cfi02.c b/hw/block/pflash_cfi02.c
index 9a7fa707c..9a7fa707c 100644
--- a/hw/pflash_cfi02.c
+++ b/hw/block/pflash_cfi02.c
diff --git a/hw/xen_disk.c b/hw/block/xen_disk.c
index 532347bf9..532347bf9 100644
--- a/hw/xen_disk.c
+++ b/hw/block/xen_disk.c
diff --git a/hw/bt/Makefile.objs b/hw/bt/Makefile.objs
index e69de29bb..867a7d2e8 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
index 24ef4de49..24ef4de49 100644
--- a/hw/bt.c
+++ b/hw/bt/core.c
diff --git a/hw/bt-hci-csr.c b/hw/bt/hci-csr.c
index 55c819b08..55c819b08 100644
--- a/hw/bt-hci-csr.c
+++ b/hw/bt/hci-csr.c
diff --git a/hw/bt-hci.c b/hw/bt/hci.c
index a76edea2c..a76edea2c 100644
--- a/hw/bt-hci.c
+++ b/hw/bt/hci.c
diff --git a/hw/bt-hid.c b/hw/bt/hid.c
index af494e1e0..af494e1e0 100644
--- a/hw/bt-hid.c
+++ b/hw/bt/hid.c
diff --git a/hw/bt-l2cap.c b/hw/bt/l2cap.c
index 521587a11..521587a11 100644
--- a/hw/bt-l2cap.c
+++ b/hw/bt/l2cap.c
diff --git a/hw/bt-sdp.c b/hw/bt/sdp.c
index 218e075df..218e075df 100644
--- a/hw/bt-sdp.c
+++ b/hw/bt/sdp.c
diff --git a/hw/char/Makefile.objs b/hw/char/Makefile.objs
index e69de29bb..eee23ff63 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
index 421ec998d..421ec998d 100644
--- a/hw/cadence_uart.c
+++ b/hw/char/cadence_uart.c
diff --git a/hw/escc.c b/hw/char/escc.c
index 067b055fe..067b055fe 100644
--- a/hw/escc.c
+++ b/hw/char/escc.c
diff --git a/hw/ipack.c b/hw/char/ipack.c
index b1f46c10a..b1f46c10a 100644
--- a/hw/ipack.c
+++ b/hw/char/ipack.c
diff --git a/hw/ipoctal232.c b/hw/char/ipoctal232.c
index 685fee2d2..685fee2d2 100644
--- a/hw/ipoctal232.c
+++ b/hw/char/ipoctal232.c
diff --git a/hw/parallel.c b/hw/char/parallel.c
index 863a6fb4a..863a6fb4a 100644
--- a/hw/parallel.c
+++ b/hw/char/parallel.c
diff --git a/hw/pl011.c b/hw/char/pl011.c
index 332d5b970..332d5b970 100644
--- a/hw/pl011.c
+++ b/hw/char/pl011.c
diff --git a/hw/serial-isa.c b/hw/char/serial-isa.c
index ed140d04a..ed140d04a 100644
--- a/hw/serial-isa.c
+++ b/hw/char/serial-isa.c
diff --git a/hw/serial-pci.c b/hw/char/serial-pci.c
index 2138e3585..2138e3585 100644
--- a/hw/serial-pci.c
+++ b/hw/char/serial-pci.c
diff --git a/hw/serial.c b/hw/char/serial.c
index 1151bf1ba..1151bf1ba 100644
--- a/hw/serial.c
+++ b/hw/char/serial.c
diff --git a/hw/tpci200.c b/hw/char/tpci200.c
index e3408ef4b..e3408ef4b 100644
--- a/hw/tpci200.c
+++ b/hw/char/tpci200.c
diff --git a/hw/virtio-console.c b/hw/char/virtio-console.c
index 31f672c9a..31f672c9a 100644
--- a/hw/virtio-console.c
+++ b/hw/char/virtio-console.c
diff --git a/hw/xen_console.c b/hw/char/xen_console.c
index efc32320f..efc32320f 100644
--- a/hw/xen_console.c
+++ b/hw/char/xen_console.c
diff --git a/hw/xilinx_uartlite.c b/hw/char/xilinx_uartlite.c
index 079f4d4e1..079f4d4e1 100644
--- a/hw/xilinx_uartlite.c
+++ b/hw/char/xilinx_uartlite.c
diff --git a/hw/core/Makefile.objs b/hw/core/Makefile.objs
index e69de29bb..94109f32e 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
index 5234a4ddc..5234a4ddc 100644
--- a/hw/empty_slot.c
+++ b/hw/core/empty_slot.c
diff --git a/hw/irq.c b/hw/core/irq.c
index 20785428e..20785428e 100644
--- a/hw/irq.c
+++ b/hw/core/irq.c
diff --git a/hw/loader.c b/hw/core/loader.c
index 2f5072dfa..2f5072dfa 100644
--- a/hw/loader.c
+++ b/hw/core/loader.c
diff --git a/hw/null-machine.c b/hw/core/null-machine.c
index bdf109fef..bdf109fef 100644
--- a/hw/null-machine.c
+++ b/hw/core/null-machine.c
diff --git a/hw/ptimer.c b/hw/core/ptimer.c
index 4bc96c9fa..4bc96c9fa 100644
--- a/hw/ptimer.c
+++ b/hw/core/ptimer.c
diff --git a/hw/qdev-addr.c b/hw/core/qdev-addr.c
index 80a38bb01..80a38bb01 100644
--- a/hw/qdev-addr.c
+++ b/hw/core/qdev-addr.c
diff --git a/hw/qdev-properties-system.c b/hw/core/qdev-properties-system.c
index 8c2e15205..8c2e15205 100644
--- a/hw/qdev-properties-system.c
+++ b/hw/core/qdev-properties-system.c
diff --git a/hw/qdev-properties.c b/hw/core/qdev-properties.c
index 9a0872d3b..9a0872d3b 100644
--- a/hw/qdev-properties.c
+++ b/hw/core/qdev-properties.c
diff --git a/hw/qdev.c b/hw/core/qdev.c
index e2bb37dc3..e2bb37dc3 100644
--- a/hw/qdev.c
+++ b/hw/core/qdev.c
diff --git a/hw/stream.c b/hw/core/stream.c
index a07d6a56d..a07d6a56d 100644
--- a/hw/stream.c
+++ b/hw/core/stream.c
diff --git a/hw/sysbus.c b/hw/core/sysbus.c
index 9004d8c54..9004d8c54 100644
--- a/hw/sysbus.c
+++ b/hw/core/sysbus.c
diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
index e69de29bb..3ac154d70 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
index 5da3dc5b2..5da3dc5b2 100644
--- a/hw/ads7846.c
+++ b/hw/display/ads7846.c
diff --git a/hw/cirrus_vga.c b/hw/display/cirrus_vga.c
index 7a4d63436..7a4d63436 100644
--- a/hw/cirrus_vga.c
+++ b/hw/display/cirrus_vga.c
diff --git a/hw/g364fb.c b/hw/display/g364fb.c
index f7014e9dd..f7014e9dd 100644
--- a/hw/g364fb.c
+++ b/hw/display/g364fb.c
diff --git a/hw/jazz_led.c b/hw/display/jazz_led.c
index 05528c7c8..05528c7c8 100644
--- a/hw/jazz_led.c
+++ b/hw/display/jazz_led.c
diff --git a/hw/pl110.c b/hw/display/pl110.c
index fbef675f9..fbef675f9 100644
--- a/hw/pl110.c
+++ b/hw/display/pl110.c
diff --git a/hw/ssd0303.c b/hw/display/ssd0303.c
index 183a87835..183a87835 100644
--- a/hw/ssd0303.c
+++ b/hw/display/ssd0303.c
diff --git a/hw/ssd0323.c b/hw/display/ssd0323.c
index 5cf2f7058..5cf2f7058 100644
--- a/hw/ssd0323.c
+++ b/hw/display/ssd0323.c
diff --git a/hw/vga-isa-mm.c b/hw/display/vga-isa-mm.c
index 3b08720cf..3b08720cf 100644
--- a/hw/vga-isa-mm.c
+++ b/hw/display/vga-isa-mm.c
diff --git a/hw/vga-isa.c b/hw/display/vga-isa.c
index 89d7fa6c3..89d7fa6c3 100644
--- a/hw/vga-isa.c
+++ b/hw/display/vga-isa.c
diff --git a/hw/vga-pci.c b/hw/display/vga-pci.c
index 05fa9bcb6..05fa9bcb6 100644
--- a/hw/vga-pci.c
+++ b/hw/display/vga-pci.c
diff --git a/hw/vmware_vga.c b/hw/display/vmware_vga.c
index 5b9ce8f96..5b9ce8f96 100644
--- a/hw/vmware_vga.c
+++ b/hw/display/vmware_vga.c
diff --git a/hw/xenfb.c b/hw/display/xenfb.c
index 8e4266142..8e4266142 100644
--- a/hw/xenfb.c
+++ b/hw/display/xenfb.c
diff --git a/hw/dma/Makefile.objs b/hw/dma/Makefile.objs
index e69de29bb..bce31cdf8 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
index 835639d43..835639d43 100644
--- a/hw/i82374.c
+++ b/hw/dma/i82374.c
diff --git a/hw/dma.c b/hw/dma/i8257.c
index eb60d4517..eb60d4517 100644
--- a/hw/dma.c
+++ b/hw/dma/i8257.c
diff --git a/hw/pl080.c b/hw/dma/pl080.c
index 00b66b45b..00b66b45b 100644
--- a/hw/pl080.c
+++ b/hw/dma/pl080.c
diff --git a/hw/pl330.c b/hw/dma/pl330.c
index 8b33138f3..8b33138f3 100644
--- a/hw/pl330.c
+++ b/hw/dma/pl330.c
diff --git a/hw/puv3_dma.c b/hw/dma/puv3_dma.c
index 32844b5f7..32844b5f7 100644
--- a/hw/puv3_dma.c
+++ b/hw/dma/puv3_dma.c
diff --git a/hw/rc4030.c b/hw/dma/rc4030.c
index 03f92f1ab..03f92f1ab 100644
--- a/hw/rc4030.c
+++ b/hw/dma/rc4030.c
diff --git a/hw/xilinx_axidma.c b/hw/dma/xilinx_axidma.c
index 8db1a74ac..8db1a74ac 100644
--- a/hw/xilinx_axidma.c
+++ b/hw/dma/xilinx_axidma.c
diff --git a/hw/gpio/Makefile.objs b/hw/gpio/Makefile.objs
index e69de29bb..f8d8ee87f 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
index 59b287703..59b287703 100644
--- a/hw/max7310.c
+++ b/hw/gpio/max7310.c
diff --git a/hw/pl061.c b/hw/gpio/pl061.c
index 74bc10948..74bc10948 100644
--- a/hw/pl061.c
+++ b/hw/gpio/pl061.c
diff --git a/hw/puv3_gpio.c b/hw/gpio/puv3_gpio.c
index 5bab97e95..5bab97e95 100644
--- a/hw/puv3_gpio.c
+++ b/hw/gpio/puv3_gpio.c
diff --git a/hw/i2c/Makefile.objs b/hw/i2c/Makefile.objs
index e69de29bb..f6bd8fa6e 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
index 0c4fc1dba..0c4fc1dba 100644
--- a/hw/i2c.c
+++ b/hw/i2c/core.c
diff --git a/hw/pm_smbus.c b/hw/i2c/pm_smbus.c
index 0b5bb8997..0b5bb8997 100644
--- a/hw/pm_smbus.c
+++ b/hw/i2c/pm_smbus.c
diff --git a/hw/smbus.c b/hw/i2c/smbus.c
index 25d2d0416..25d2d0416 100644
--- a/hw/smbus.c
+++ b/hw/i2c/smbus.c
diff --git a/hw/smbus_eeprom.c b/hw/i2c/smbus_eeprom.c
index 015428376..015428376 100644
--- a/hw/smbus_eeprom.c
+++ b/hw/i2c/smbus_eeprom.c
diff --git a/hw/smbus_ich9.c b/hw/i2c/smbus_ich9.c
index ca229789f..ca229789f 100644
--- a/hw/smbus_ich9.c
+++ b/hw/i2c/smbus_ich9.c
diff --git a/hw/versatile_i2c.c b/hw/i2c/versatile_i2c.c
index d0444aeca..d0444aeca 100644
--- a/hw/versatile_i2c.c
+++ b/hw/i2c/versatile_i2c.c
diff --git a/hw/input/Makefile.objs b/hw/input/Makefile.objs
index e69de29bb..824997e36 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
index a75d3fd7b..a75d3fd7b 100644
--- a/hw/adb.c
+++ b/hw/input/adb.c
diff --git a/hw/hid.c b/hw/input/hid.c
index 5fbde98f6..5fbde98f6 100644
--- a/hw/hid.c
+++ b/hw/input/hid.c
diff --git a/hw/lm832x.c b/hw/input/lm832x.c
index bacbeb234..bacbeb234 100644
--- a/hw/lm832x.c
+++ b/hw/input/lm832x.c
diff --git a/hw/pckbd.c b/hw/input/pckbd.c
index 08ceb9fe8..08ceb9fe8 100644
--- a/hw/pckbd.c
+++ b/hw/input/pckbd.c
diff --git a/hw/pl050.c b/hw/input/pl050.c
index 7dd8a59dd..7dd8a59dd 100644
--- a/hw/pl050.c
+++ b/hw/input/pl050.c
diff --git a/hw/ps2.c b/hw/input/ps2.c
index 34120796b..34120796b 100644
--- a/hw/ps2.c
+++ b/hw/input/ps2.c
diff --git a/hw/stellaris_input.c b/hw/input/stellaris_input.c
index f83fc3f28..f83fc3f28 100644
--- a/hw/stellaris_input.c
+++ b/hw/input/stellaris_input.c
diff --git a/hw/tsc2005.c b/hw/input/tsc2005.c
index 34ee1fb3c..34ee1fb3c 100644
--- a/hw/tsc2005.c
+++ b/hw/input/tsc2005.c
diff --git a/hw/vmmouse.c b/hw/input/vmmouse.c
index f4f9c9373..f4f9c9373 100644
--- a/hw/vmmouse.c
+++ b/hw/input/vmmouse.c
diff --git a/hw/intc/Makefile.objs b/hw/intc/Makefile.objs
index e69de29bb..2813adb3e 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
index beb966118..beb966118 100644
--- a/hw/heathrow_pic.c
+++ b/hw/intc/heathrow_pic.c
diff --git a/hw/i8259.c b/hw/intc/i8259.c
index ce14bd0f9..ce14bd0f9 100644
--- a/hw/i8259.c
+++ b/hw/intc/i8259.c
diff --git a/hw/i8259_common.c b/hw/intc/i8259_common.c
index 996ba9dfd..996ba9dfd 100644
--- a/hw/i8259_common.c
+++ b/hw/intc/i8259_common.c
diff --git a/hw/pl190.c b/hw/intc/pl190.c
index 9610673d9..9610673d9 100644
--- a/hw/pl190.c
+++ b/hw/intc/pl190.c
diff --git a/hw/puv3_intc.c b/hw/intc/puv3_intc.c
index 0cd5e9eae..0cd5e9eae 100644
--- a/hw/puv3_intc.c
+++ b/hw/intc/puv3_intc.c
diff --git a/hw/xilinx_intc.c b/hw/intc/xilinx_intc.c
index b106e724a..b106e724a 100644
--- a/hw/xilinx_intc.c
+++ b/hw/intc/xilinx_intc.c
diff --git a/hw/isa/Makefile.objs b/hw/isa/Makefile.objs
index e69de29bb..ad3643bd4 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
index 5f21d2147..5f21d2147 100644
--- a/hw/apm.c
+++ b/hw/isa/apm.c
diff --git a/hw/i82378.c b/hw/isa/i82378.c
index cced9aff2..cced9aff2 100644
--- a/hw/i82378.c
+++ b/hw/isa/i82378.c
diff --git a/hw/isa-bus.c b/hw/isa/isa-bus.c
index 7860b17d6..7860b17d6 100644
--- a/hw/isa-bus.c
+++ b/hw/isa/isa-bus.c
diff --git a/hw/isa_mmio.c b/hw/isa/isa_mmio.c
index d4dbf1383..d4dbf1383 100644
--- a/hw/isa_mmio.c
+++ b/hw/isa/isa_mmio.c
diff --git a/hw/pc87312.c b/hw/isa/pc87312.c
index 9f5e18568..9f5e18568 100644
--- a/hw/pc87312.c
+++ b/hw/isa/pc87312.c
diff --git a/hw/piix4.c b/hw/isa/piix4.c
index d750413a7..d750413a7 100644
--- a/hw/piix4.c
+++ b/hw/isa/piix4.c
diff --git a/hw/misc/Makefile.objs b/hw/misc/Makefile.objs
index e69de29bb..009b1d9f0 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
index c29558bdd..c29558bdd 100644
--- a/hw/applesmc.c
+++ b/hw/misc/applesmc.c
diff --git a/hw/arm_l2x0.c b/hw/misc/arm_l2x0.c
index eb4427d9c..eb4427d9c 100644
--- a/hw/arm_l2x0.c
+++ b/hw/misc/arm_l2x0.c
diff --git a/hw/misc/macio/Makefile.objs b/hw/misc/macio/Makefile.objs
new file mode 100644
index 000000000..ef7ac249e
--- /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
index f797796a3..f797796a3 100644
--- a/hw/cuda.c
+++ b/hw/misc/macio/cuda.c
diff --git a/hw/mac_dbdma.c b/hw/misc/macio/mac_dbdma.c
index a2363bbdf..a2363bbdf 100644
--- a/hw/mac_dbdma.c
+++ b/hw/misc/macio/mac_dbdma.c
diff --git a/hw/macio.c b/hw/misc/macio/macio.c
index 2f389dd7c..2f389dd7c 100644
--- a/hw/macio.c
+++ b/hw/misc/macio/macio.c
diff --git a/hw/max111x.c b/hw/misc/max111x.c
index d477ecdb2..d477ecdb2 100644
--- a/hw/max111x.c
+++ b/hw/misc/max111x.c
diff --git a/hw/puv3_pm.c b/hw/misc/puv3_pm.c
index 0aacdc2fc..0aacdc2fc 100644
--- a/hw/puv3_pm.c
+++ b/hw/misc/puv3_pm.c
diff --git a/hw/tmp105.c b/hw/misc/tmp105.c
index 21a27a6f4..21a27a6f4 100644
--- a/hw/tmp105.c
+++ b/hw/misc/tmp105.c
diff --git a/hw/net/Makefile.objs b/hw/net/Makefile.objs
index e69de29bb..ad91293fe 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
index e177057e4..e177057e4 100644
--- a/hw/cadence_gem.c
+++ b/hw/net/cadence_gem.c
diff --git a/hw/dp8393x.c b/hw/net/dp8393x.c
index 2289f089a..2289f089a 100644
--- a/hw/dp8393x.c
+++ b/hw/net/dp8393x.c
diff --git a/hw/e1000.c b/hw/net/e1000.c
index 3f18041b4..3f18041b4 100644
--- a/hw/e1000.c
+++ b/hw/net/e1000.c
diff --git a/hw/eepro100.c b/hw/net/eepro100.c
index dc99ea6ea..dc99ea6ea 100644
--- a/hw/eepro100.c
+++ b/hw/net/eepro100.c
diff --git a/hw/lan9118.c b/hw/net/lan9118.c
index 04cf267f1..04cf267f1 100644
--- a/hw/lan9118.c
+++ b/hw/net/lan9118.c
diff --git a/hw/mipsnet.c b/hw/net/mipsnet.c
index ac6193a89..ac6193a89 100644
--- a/hw/mipsnet.c
+++ b/hw/net/mipsnet.c
diff --git a/hw/ne2000-isa.c b/hw/net/ne2000-isa.c
index e4c10dbe2..e4c10dbe2 100644
--- a/hw/ne2000-isa.c
+++ b/hw/net/ne2000-isa.c
diff --git a/hw/ne2000.c b/hw/net/ne2000.c
index 7f458311c..7f458311c 100644
--- a/hw/ne2000.c
+++ b/hw/net/ne2000.c
diff --git a/hw/opencores_eth.c b/hw/net/opencores_eth.c
index be64bf2a6..be64bf2a6 100644
--- a/hw/opencores_eth.c
+++ b/hw/net/opencores_eth.c
diff --git a/hw/pcnet-pci.c b/hw/net/pcnet-pci.c
index 61af57ed5..61af57ed5 100644
--- a/hw/pcnet-pci.c
+++ b/hw/net/pcnet-pci.c
diff --git a/hw/pcnet.c b/hw/net/pcnet.c
index b0b462b02..b0b462b02 100644
--- a/hw/pcnet.c
+++ b/hw/net/pcnet.c
diff --git a/hw/rtl8139.c b/hw/net/rtl8139.c
index 936950742..936950742 100644
--- a/hw/rtl8139.c
+++ b/hw/net/rtl8139.c
diff --git a/hw/smc91c111.c b/hw/net/smc91c111.c
index f659256d6..f659256d6 100644
--- a/hw/smc91c111.c
+++ b/hw/net/smc91c111.c
diff --git a/hw/vmware_utils.h b/hw/net/vmware_utils.h
index 5307e2ccc..5307e2ccc 100644
--- a/hw/vmware_utils.h
+++ b/hw/net/vmware_utils.h
diff --git a/hw/vmxnet3.c b/hw/net/vmxnet3.c
index 591662437..591662437 100644
--- a/hw/vmxnet3.c
+++ b/hw/net/vmxnet3.c
diff --git a/hw/vmxnet3.h b/hw/net/vmxnet3.h
index 7db0c8f5e..7db0c8f5e 100644
--- a/hw/vmxnet3.h
+++ b/hw/net/vmxnet3.h
diff --git a/hw/vmxnet_debug.h b/hw/net/vmxnet_debug.h
index 96dae0f91..96dae0f91 100644
--- a/hw/vmxnet_debug.h
+++ b/hw/net/vmxnet_debug.h
diff --git a/hw/vmxnet_rx_pkt.c b/hw/net/vmxnet_rx_pkt.c
index a40e34629..a40e34629 100644
--- a/hw/vmxnet_rx_pkt.c
+++ b/hw/net/vmxnet_rx_pkt.c
diff --git a/hw/vmxnet_rx_pkt.h b/hw/net/vmxnet_rx_pkt.h
index 6b2c60ef1..6b2c60ef1 100644
--- a/hw/vmxnet_rx_pkt.h
+++ b/hw/net/vmxnet_rx_pkt.h
diff --git a/hw/vmxnet_tx_pkt.c b/hw/net/vmxnet_tx_pkt.c
index b1e795b3b..b1e795b3b 100644
--- a/hw/vmxnet_tx_pkt.c
+++ b/hw/net/vmxnet_tx_pkt.c
diff --git a/hw/vmxnet_tx_pkt.h b/hw/net/vmxnet_tx_pkt.h
index 57121a6fe..57121a6fe 100644
--- a/hw/vmxnet_tx_pkt.h
+++ b/hw/net/vmxnet_tx_pkt.h
diff --git a/hw/xen_nic.c b/hw/net/xen_nic.c
index 63918ae1a..63918ae1a 100644
--- a/hw/xen_nic.c
+++ b/hw/net/xen_nic.c
diff --git a/hw/xgmac.c b/hw/net/xgmac.c
index 5275f4810..5275f4810 100644
--- a/hw/xgmac.c
+++ b/hw/net/xgmac.c
diff --git a/hw/xilinx_axienet.c b/hw/net/xilinx_axienet.c
index 07c4badd9..07c4badd9 100644
--- a/hw/xilinx_axienet.c
+++ b/hw/net/xilinx_axienet.c
diff --git a/hw/nvram/Makefile.objs b/hw/nvram/Makefile.objs
index e69de29bb..80fb1b044 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
index 488f1d724..488f1d724 100644
--- a/hw/ds1225y.c
+++ b/hw/nvram/ds1225y.c
diff --git a/hw/eeprom93xx.c b/hw/nvram/eeprom93xx.c
index 08f4df586..08f4df586 100644
--- a/hw/eeprom93xx.c
+++ b/hw/nvram/eeprom93xx.c
diff --git a/hw/fw_cfg.c b/hw/nvram/fw_cfg.c
index 97bba874e..97bba874e 100644
--- a/hw/fw_cfg.c
+++ b/hw/nvram/fw_cfg.c
diff --git a/hw/mac_nvram.c b/hw/nvram/mac_nvram.c
index 522333083..522333083 100644
--- a/hw/mac_nvram.c
+++ b/hw/nvram/mac_nvram.c
diff --git a/hw/pci/Makefile.objs b/hw/pci/Makefile.objs
index 1cd6cde2e..aac5f65e9 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 000000000..5dd92d28a
--- /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
index 5807a92d7..5807a92d7 100644
--- a/hw/i82801b11.c
+++ b/hw/pci/bridge/i82801b11.c
diff --git a/hw/ioh3420.c b/hw/pci/bridge/ioh3420.c
index 5cff61e09..5cff61e09 100644
--- a/hw/ioh3420.c
+++ b/hw/pci/bridge/ioh3420.c
diff --git a/hw/pci_bridge_dev.c b/hw/pci/bridge/pci_bridge_dev.c
index 971b43247..971b43247 100644
--- a/hw/pci_bridge_dev.c
+++ b/hw/pci/bridge/pci_bridge_dev.c
diff --git a/hw/xio3130_downstream.c b/hw/pci/bridge/xio3130_downstream.c
index b868f56ff..b868f56ff 100644
--- a/hw/xio3130_downstream.c
+++ b/hw/pci/bridge/xio3130_downstream.c
diff --git a/hw/xio3130_upstream.c b/hw/pci/bridge/xio3130_upstream.c
index cd5d97d21..cd5d97d21 100644
--- a/hw/xio3130_upstream.c
+++ b/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 000000000..e1d6cce04
--- /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
index 6ec3d226b..6ec3d226b 100644
--- a/hw/dec_pci.c
+++ b/hw/pci/host/dec.c
diff --git a/hw/grackle_pci.c b/hw/pci/host/grackle.c
index 69344d9f6..69344d9f6 100644
--- a/hw/grackle_pci.c
+++ b/hw/pci/host/grackle.c
diff --git a/hw/pam.c b/hw/pci/host/pam.c
index 7181bd68e..7181bd68e 100644
--- a/hw/pam.c
+++ b/hw/pci/host/pam.c
diff --git a/hw/ppce500_pci.c b/hw/pci/host/ppce500.c
index 5e7ad9438..5e7ad9438 100644
--- a/hw/ppce500_pci.c
+++ b/hw/pci/host/ppce500.c
diff --git a/hw/prep_pci.c b/hw/pci/host/prep.c
index 61302539a..61302539a 100644
--- a/hw/prep_pci.c
+++ b/hw/pci/host/prep.c
diff --git a/hw/unin_pci.c b/hw/pci/host/uninorth.c
index fff235d52..fff235d52 100644
--- a/hw/unin_pci.c
+++ b/hw/pci/host/uninorth.c
diff --git a/hw/versatile_pci.c b/hw/pci/host/versatile.c
index d67ca796f..d67ca796f 100644
--- a/hw/versatile_pci.c
+++ b/hw/pci/host/versatile.c
diff --git a/hw/scsi/Makefile.objs b/hw/scsi/Makefile.objs
index e69de29bb..6a5650406 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
index 3ca5c8c67..3ca5c8c67 100644
--- a/hw/esp-pci.c
+++ b/hw/scsi/esp-pci.c
diff --git a/hw/esp.c b/hw/scsi/esp.c
index 17adbecf8..17adbecf8 100644
--- a/hw/esp.c
+++ b/hw/scsi/esp.c
diff --git a/hw/lsi53c895a.c b/hw/scsi/lsi53c895a.c
index c601b2943..c601b2943 100644
--- a/hw/lsi53c895a.c
+++ b/hw/scsi/lsi53c895a.c
diff --git a/hw/megasas.c b/hw/scsi/megasas.c
index f46f80035..f46f80035 100644
--- a/hw/megasas.c
+++ b/hw/scsi/megasas.c
diff --git a/hw/scsi-bus.c b/hw/scsi/scsi-bus.c
index 6239ee146..6239ee146 100644
--- a/hw/scsi-bus.c
+++ b/hw/scsi/scsi-bus.c
diff --git a/hw/scsi-disk.c b/hw/scsi/scsi-disk.c
index f52bd11d4..f52bd11d4 100644
--- a/hw/scsi-disk.c
+++ b/hw/scsi/scsi-disk.c
diff --git a/hw/scsi-generic.c b/hw/scsi/scsi-generic.c
index 2a9a56112..2a9a56112 100644
--- a/hw/scsi-generic.c
+++ b/hw/scsi/scsi-generic.c
diff --git a/hw/sd/Makefile.objs b/hw/sd/Makefile.objs
index e69de29bb..8acce0251 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
index 252729677..252729677 100644
--- a/hw/pl181.c
+++ b/hw/sd/pl181.c
diff --git a/hw/sd.c b/hw/sd/sd.c
index 66c4014fb..66c4014fb 100644
--- a/hw/sd.c
+++ b/hw/sd/sd.c
diff --git a/hw/sdhci.c b/hw/sd/sdhci.c
index 4a29e6cf7..4a29e6cf7 100644
--- a/hw/sdhci.c
+++ b/hw/sd/sdhci.c
diff --git a/hw/ssi-sd.c b/hw/sd/ssi-sd.c
index 4d3c4f644..4d3c4f644 100644
--- a/hw/ssi-sd.c
+++ b/hw/sd/ssi-sd.c
diff --git a/hw/ssi/Makefile.objs b/hw/ssi/Makefile.objs
index e69de29bb..daada5c66 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
index 536c2166f..536c2166f 100644
--- a/hw/pl022.c
+++ b/hw/ssi/pl022.c
diff --git a/hw/ssi.c b/hw/ssi/ssi.c
index 1264d9da2..1264d9da2 100644
--- a/hw/ssi.c
+++ b/hw/ssi/ssi.c
diff --git a/hw/timer/Makefile.objs b/hw/timer/Makefile.objs
index e69de29bb..12781dd2a 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
index 644987046..644987046 100644
--- a/hw/arm_timer.c
+++ b/hw/timer/arm_timer.c
diff --git a/hw/cadence_ttc.c b/hw/timer/cadence_ttc.c
index ba584f471..ba584f471 100644
--- a/hw/cadence_ttc.c
+++ b/hw/timer/cadence_ttc.c
diff --git a/hw/ds1338.c b/hw/timer/ds1338.c
index 8987cdc9e..8987cdc9e 100644
--- a/hw/ds1338.c
+++ b/hw/timer/ds1338.c
diff --git a/hw/hpet.c b/hw/timer/hpet.c
index 95dd01d14..95dd01d14 100644
--- a/hw/hpet.c
+++ b/hw/timer/hpet.c
diff --git a/hw/i8254.c b/hw/timer/i8254.c
index 20c0c3601..20c0c3601 100644
--- a/hw/i8254.c
+++ b/hw/timer/i8254.c
diff --git a/hw/i8254_common.c b/hw/timer/i8254_common.c
index 5342df4a3..5342df4a3 100644
--- a/hw/i8254_common.c
+++ b/hw/timer/i8254_common.c
diff --git a/hw/m48t59.c b/hw/timer/m48t59.c
index 5019e0632..5019e0632 100644
--- a/hw/m48t59.c
+++ b/hw/timer/m48t59.c
diff --git a/hw/pl031.c b/hw/timer/pl031.c
index 764940be7..764940be7 100644
--- a/hw/pl031.c
+++ b/hw/timer/pl031.c
diff --git a/hw/puv3_ost.c b/hw/timer/puv3_ost.c
index 0c3d82797..0c3d82797 100644
--- a/hw/puv3_ost.c
+++ b/hw/timer/puv3_ost.c
diff --git a/hw/twl92230.c b/hw/timer/twl92230.c
index b730d853f..b730d853f 100644
--- a/hw/twl92230.c
+++ b/hw/timer/twl92230.c
diff --git a/hw/xilinx_timer.c b/hw/timer/xilinx_timer.c
index 0c39cff08..0c39cff08 100644
--- a/hw/xilinx_timer.c
+++ b/hw/timer/xilinx_timer.c
diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs
index e63e287ce..5c2064422 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
index c8f8ba379..c8f8ba379 100644
--- a/hw/ccid-card-emulated.c
+++ b/hw/usb/ccid-card-emulated.c
diff --git a/hw/ccid-card-passthru.c b/hw/usb/ccid-card-passthru.c
index 984bd0bf4..984bd0bf4 100644
--- a/hw/ccid-card-passthru.c
+++ b/hw/usb/ccid-card-passthru.c
diff --git a/hw/virtio/Makefile.objs b/hw/virtio/Makefile.objs
index e69de29bb..ed63495a7 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
index 1596a1c92..1596a1c92 100644
--- a/hw/virtio-bus.c
+++ b/hw/virtio/virtio-bus.c
diff --git a/hw/virtio-pci.c b/hw/virtio/virtio-pci.c
index 943b429d9..943b429d9 100644
--- a/hw/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
diff --git a/hw/virtio-rng.c b/hw/virtio/virtio-rng.c
index 6079b2a3a..6079b2a3a 100644
--- a/hw/virtio-rng.c
+++ b/hw/virtio/virtio-rng.c
diff --git a/hw/watchdog/Makefile.objs b/hw/watchdog/Makefile.objs
index e69de29bb..f57133b72 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
index cb4e1f9e4..cb4e1f9e4 100644
--- a/hw/watchdog.c
+++ b/hw/watchdog/watchdog.c
diff --git a/hw/wdt_i6300esb.c b/hw/watchdog/wdt_i6300esb.c
index 1407fbadb..1407fbadb 100644
--- a/hw/wdt_i6300esb.c
+++ b/hw/watchdog/wdt_i6300esb.c
diff --git a/hw/xen/Makefile.objs b/hw/xen/Makefile.objs
index e69de29bb..4b209a7b9 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
index 2a8c9f5d1..2a8c9f5d1 100644
--- a/hw/xen_backend.c
+++ b/hw/xen/xen_backend.c
diff --git a/hw/xen_devconfig.c b/hw/xen/xen_devconfig.c
index fa998eff0..fa998eff0 100644
--- a/hw/xen_devconfig.c
+++ b/hw/xen/xen_devconfig.c