[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC] Proposal for hw/ split
From: |
Edgar E. Iglesias |
Subject: |
Re: [Qemu-devel] [RFC] Proposal for hw/ split |
Date: |
Mon, 11 Mar 2013 12:52:19 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Mon, Mar 11, 2013 at 12:17:20PM +0100, Paolo Bonzini wrote:
> The general ideas are (earlier rules override the later, and exceptions
> are of course possible):
>
> - Board files go in hw/ARCH/ (already done).
>
> - Files go in hw/ARCH/ if they reference that arch's CPUState (already done)
>
> - Files already in a subdirectory are not moved (examples: some PPC/S390
> files, USB devices).
>
> - Files go in hw/ARCH/ if they used to be in hw/ARCH/Makefile.objs and
> they define multiple devices (example: hw/arm/tc6393xb.c)
>
> - Directories are created by "subsystem" (e.g. hw/pci) and "device type"
> (hw/audio), with the "device type" taking priority.
>
> Here is the list of .c files in hw/ and the corresponding destination.
>
> Maintainers that wish to have more files in hw/ARCH are welcome to take
> a look at the list of hw/misc devices and suggest changes.
>
> As a general rule, composite devices ought to be split into multiple
> devices with a small stub in hw/ARCH to build up the result. For
> example, hw/display/sm501.c could be split into hw/display/sm501_crt.c
> and the rest moved into hw/sh4/r2d.c.
>
> == hw/acpi ==
> hw/acpi.c hw/acpi/core.c
> hw/acpi_ich9.c hw/acpi/ich9.c
> hw/acpi_piix4.c hw/acpi/piix4.c
>
> == hw/audio ==
> hw/ac97.c hw/audio/ac97.c
> hw/adlib.c hw/audio/adlib.c
> hw/cs4231a.c hw/audio/cs4231a.c
> hw/cs4231.c hw/audio/cs4231.c
> hw/es1370.c hw/audio/es1370.c
> hw/fmopl.c hw/audio/fmopl.c
> hw/gus.c hw/audio/gus.c
> hw/gusemu_hal.c hw/audio/gusemu_hal.c
> hw/gusemu_mixer.c hw/audio/gusemu_mixer.c
> hw/hda-audio.c hw/audio/hda-codec.c
> hw/intel-hda.c hw/audio/intel-hda.c
> hw/lm4549.c hw/audio/lm4549.c
> hw/marvell_88w8618_audio.c hw/audio/marvell_88w8618.c
> hw/milkymist-ac97.c hw/audio/milkymist-ac97.c
> hw/pcspk.c hw/audio/pcspk.c
> hw/pl041.c hw/audio/pl041.c
> hw/sb16.c hw/audio/sb16.c
> hw/wm8750.c hw/audio/wm8750.c
>
> == hw/block ==
> hw/block-common.c hw/block/block.c
> hw/cdrom.c hw/block/cdrom.c
> hw/dataplane/Makefile.objs hw/block/dataplane/Makefile.objs
> hw/dataplane/hostmem.c hw/block/dataplane/hostmem.c
> hw/dataplane/ioq.c hw/block/dataplane/ioq.c
> hw/dataplane/virtio-blk.c hw/block/dataplane/virtio-blk.c
> hw/dataplane/vring.c hw/block/dataplane/vring.c
> hw/ecc.c hw/block/ecc.c
> hw/fdc.c hw/block/fdc.c
> hw/hd-geometry.c hw/block/hd-geometry.c
> hw/m25p80.c hw/block/m25p80.c
> hw/nand.c hw/block/nand.c
> hw/onenand.c hw/block/onenand.c
> hw/pc_sysfw.c hw/block/pc_sysfw.c
> hw/pflash_cfi01.c hw/block/pflash_cfi01.c
> hw/pflash_cfi02.c hw/block/pflash_cfi02.c
> hw/tc58128.c hw/block/tc58128.c
> hw/virtio-blk.c hw/block/virtio-blk.c
> hw/xen_disk.c hw/block/xen_disk.c
>
> == hw/bt ==
> hw/bt-hci-csr.c hw/bt/hci-csr.c
> hw/bt-hci.c hw/bt/hci.c
> hw/bt-hid.c hw/bt/hid.c
> hw/bt-l2cap.c hw/bt/l2cap.c
> hw/bt-sdp.c hw/bt/sdp.c
> hw/bt.c hw/bt/core.c
>
> == hw/char ==
> hw/cadence_uart.c hw/char/cadence_uart.c
> hw/debugcon.c hw/char/debugcon.c
> hw/escc.c hw/char/escc.c
> hw/etraxfs_ser.c hw/char/etraxfs_ser.c
> hw/exynos4210_uart.c hw/char/exynos4210_uart.c
> hw/grlib_apbuart.c hw/char/grlib_apbuart.c
> hw/imx_serial.c hw/char/imx_serial.c
> hw/ipack.c hw/char/ipack.c
> hw/ipoctal232.c hw/char/ipoctal232.c
> hw/lm32_juart.c hw/char/lm32_juart.c
> hw/lm32_uart.c hw/char/lm32_uart.c
> hw/mcf_uart.c hw/char/mcf_uart.c
> hw/milkymist-uart.c hw/char/milkymist-uart.c
> hw/omap_uart.c hw/char/omap_uart.c
> hw/parallel.c hw/char/parallel.c
> hw/pl011.c hw/char/pl011.c
> hw/s390x/sclpconsole.c hw/char/sclpconsole.c
> hw/serial-isa.c hw/char/serial-isa.c
> hw/serial-pci.c hw/char/serial-pci.c
> hw/serial.c hw/char/serial.c
> hw/sh_serial.c hw/char/sh_serial.c
> hw/spapr_vty.c hw/char/spapr_vty.c
> hw/tpci200.c hw/char/tpci200.c
> hw/virtio-console.c hw/char/virtio-console.c
> hw/virtio-serial-bus.c hw/char/virtio-serial-bus.c
> hw/xen_console.c hw/char/xen_console.c
> hw/xilinx_uartlite.c hw/char/xilinx_uartlite.c
>
> == hw/core ==
> hw/empty_slot.c hw/core/empty_slot.c
> hw/irq.c hw/core/irq.c
> hw/loader.c hw/core/loader.c
> hw/null-machine.c hw/core/null-machine.c
> hw/ptimer.c hw/core/ptimer.c
> hw/qdev-addr.c hw/core/qdev-addr.c
> hw/qdev-properties-system.c hw/core/qdev-properties-system.c
> hw/qdev-properties.c hw/core/qdev-properties.c
> hw/qdev.c hw/core/qdev.c
> hw/stream.c hw/core/stream.c
> hw/sysbus.c hw/core/sysbus.c
>
> == hw/display ==
> hw/ads7846.c hw/display/ads7846.c
> hw/blizzard.c hw/display/blizzard.c
> hw/cirrus_vga.c hw/display/cirrus_vga.c
> hw/exynos4210_fimd.c hw/display/exynos4210_fimd.c
> hw/framebuffer.c hw/display/framebuffer.c
> hw/g364fb.c hw/display/g364fb.c
> hw/jazz_led.c hw/display/jazz_led.c
> hw/milkymist-tmu2.c hw/display/milkymist-tmu2.c
> hw/milkymist-vgafb.c hw/display/milkymist-vgafb.c
> hw/omap_dss.c hw/display/omap_dss.c
> hw/omap_lcdc.c hw/display/omap_lcdc.c
> hw/pl110.c hw/display/pl110.c
> hw/pxa2xx_lcd.c hw/display/pxa2xx_lcd.c
> hw/qxl-logger.c hw/display/qxl-logger.c
> hw/qxl-render.c hw/display/qxl-render.c
> hw/qxl.c hw/display/qxl.c
> hw/sm501.c hw/display/sm501.c
> hw/ssd0303.c hw/display/ssd0303.c
> hw/ssd0323.c hw/display/ssd0323.c
> hw/tcx.c hw/display/tcx.c
> hw/vga-isa-mm.c hw/display/vga-isa-mm.c
> hw/vga-isa.c hw/display/vga-isa.c
> hw/vga-pci.c hw/display/vga-pci.c
> hw/vga.c hw/display/vga.c
> hw/vmware_vga.c hw/display/vmware_vga.c
> hw/xenfb.c hw/display/xenfb.c
>
> == hw/dma ==
> hw/dma.c hw/dma/i8257.c
> hw/etraxfs_dma.c hw/dma/etraxfs_dma.c
> hw/omap_dma.c hw/dma/omap_dma.c
> hw/pl080.c hw/dma/pl080.c
> hw/puv3_dma.c hw/dma/puv3_dma.c
> hw/pxa2xx_dma.c hw/dma/pxa2xx_dma.c
> hw/rc4030.c hw/dma/rc4030.c
> hw/soc_dma.c hw/dma/soc_dma.c
> hw/sparc32_dma.c hw/dma/sparc32_dma.c
> hw/sun4m_iommu.c hw/dma/sun4m_iommu.c
>
> == hw/gpio ==
> hw/max7310.c hw/gpio/max7310.c
> hw/omap_gpio.c hw/gpio/omap_gpio.c
> hw/pl061.c hw/gpio/pl061.c
> hw/puv3_gpio.c hw/gpio/puv3_gpio.c
> hw/zaurus.c hw/gpio/zaurus.c
>
> == hw/i2c ==
> hw/bitbang_i2c.c hw/i2c/bitbang_i2c.c
> hw/exynos4210_i2c.c hw/i2c/exynos4210_i2c.c
> hw/i2c.c hw/i2c/core.c
> hw/omap_i2c.c hw/i2c/omap_i2c.c
> hw/pm_smbus.c hw/i2c/pm_smbus.c
> hw/smbus.c hw/i2c/smbus.c
> hw/smbus_eeprom.c hw/i2c/smbus_eeprom.c
> hw/smbus_ich9.c hw/i2c/smbus_ich9.c
> hw/versatile_i2c.c hw/i2c/versatile_i2c.c
>
> == hw/input ==
> hw/adb.c hw/input/adb.c
> hw/hid.c hw/input/hid.c
> hw/lm832x.c hw/input/lm832x.c
> hw/milkymist-softusb.c hw/input/milkymist-softusb.c
> hw/pckbd.c hw/input/pckbd.c
> hw/pl050.c hw/input/pl050.c
> hw/ps2.c hw/input/ps2.c
> hw/pxa2xx_keypad.c hw/input/pxa2xx_keypad.c
> hw/stellaris_input.c hw/input/stellaris_input.c
> hw/tsc2005.c hw/input/tsc2005.c
> hw/tsc210x.c hw/input/tsc210x.c
> hw/vmmouse.c hw/input/vmmouse.c
>
> == hw/intc ==
> hw/apic.c hw/intc/apic.c
> hw/apic_common.c hw/intc/apic_common.c
> hw/arm_gic.c hw/intc/arm_gic.c
> hw/arm_gic_common.c hw/intc/arm_gic_common.c
> hw/armv7m_nvic.c hw/intc/armv7m_nvic.c
> hw/etraxfs_pic.c hw/intc/etraxfs_pic.c
> hw/exynos4210_combiner.c hw/intc/exynos4210_combiner.c
> hw/exynos4210_gic.c hw/intc/exynos4210_gic.c
> hw/grlib_irqmp.c hw/intc/grlib_irqmp.c
> hw/heathrow_pic.c hw/intc/heathrow_pic.c
> hw/i8259.c hw/intc/i8259.c
> hw/i8259_common.c hw/intc/i8259_common.c
> hw/imx_avic.c hw/intc/imx_avic.c
> hw/ioapic.c hw/intc/ioapic.c
> hw/ioapic_common.c hw/intc/ioapic_common.c
> hw/lm32_pic.c hw/intc/lm32_pic.c
> hw/omap_intc.c hw/intc/omap_intc.c
> hw/openpic.c hw/intc/openpic.c
> hw/pl190.c hw/intc/pl190.c
> hw/puv3_intc.c hw/intc/puv3_intc.c
> hw/realview_gic.c hw/intc/realview_gic.c
> hw/sbi.c hw/intc/sbi.c
> hw/sh_intc.c hw/intc/sh_intc.c
> hw/slavio_intctl.c hw/intc/slavio_intctl.c
> hw/sun4c_intctl.c hw/intc/sun4c_intctl.c
> hw/xilinx_intc.c hw/intc/xilinx_intc.c
>
> == hw/isa ==
> hw/apm.c hw/isa/apm.c
> hw/applesmc.c hw/isa/applesmc.c
> hw/debugexit.c hw/isa/debugexit.c
> hw/i82374.c hw/isa/i82374.c
> hw/i82378.c hw/isa/i82378.c
> hw/isa-bus.c hw/isa/isa-bus.c
> hw/isa_mmio.c hw/isa/isa_mmio.c
> hw/lpc_ich9.c hw/isa/lpc_ich9.c
> hw/pc-testdev.c hw/isa/pc-testdev.c
> hw/pc87312.c hw/isa/pc87312.c
> hw/piix4.c hw/isa/piix4.c
> hw/sga.c hw/isa/sga.c
> hw/vmport.c hw/isa/vmport.c
> hw/vt82c686.c hw/isa/vt82c686.c
>
> == hw/misc ==
> hw/a9scu.c hw/misc/a9scu.c
> hw/arm_l2x0.c hw/misc/arm_l2x0.c
> hw/arm_sysctl.c hw/misc/arm_sysctl.c
> hw/cbus.c hw/misc/cbus.c
> hw/cuda.c hw/misc/macio/cuda.c
> hw/eccmemctl.c hw/misc/eccmemctl.c
> hw/exynos4210_pmu.c hw/misc/exynos4210_pmu.c
> hw/imx_ccm.c hw/misc/imx_ccm.c
> hw/lm32_sys.c hw/misc/lm32_sys.c
> hw/mac_dbdma.c hw/misc/macio/mac_dbdma.c
> hw/macio.c hw/misc/macio/macio.c
> hw/max111x.c hw/misc/max111x.c
> hw/milkymist-hpdmc.c hw/misc/milkymist-hpdmc.c
> hw/milkymist-pfpu.c hw/misc/milkymist-pfpu.c
> hw/mst_fpga.c hw/misc/mst_fpga.c
> hw/omap_clk.c hw/misc/omap_clk.c
> hw/omap_gpmc.c hw/misc/omap_gpmc.c
> hw/omap_l4.c hw/misc/omap_l4.c
> hw/omap_sdrc.c hw/misc/omap_sdrc.c
> hw/omap_tap.c hw/misc/omap_tap.c
> hw/puv3_pm.c hw/misc/puv3_pm.c
> hw/pxa2xx_pcmcia.c hw/misc/pxa2xx_pcmcia.c
> hw/slavio_misc.c hw/misc/slavio_misc.c
> hw/tmp105.c hw/misc/tmp105.c
> hw/zynq_slcr.c hw/misc/zynq_slcr.c
>
> == hw/net ==
> hw/cadence_gem.c hw/net/cadence_gem.c
> hw/dp8393x.c hw/net/dp8393x.c
> hw/e1000.c hw/net/e1000.c
> hw/eepro100.c hw/net/eepro100.c
> hw/etraxfs_eth.c hw/net/etraxfs_eth.c
> hw/lan9118.c hw/net/lan9118.c
> hw/lance.c hw/net/lance.c
> hw/mcf_fec.c hw/net/mcf_fec.c
> hw/milkymist-minimac2.c hw/net/milkymist-minimac2.c
> hw/mipsnet.c hw/net/mipsnet.c
> hw/ne2000-isa.c hw/net/ne2000-isa.c
> hw/ne2000.c hw/net/ne2000.c
> hw/opencores_eth.c hw/net/opencores_eth.c
> hw/pcnet-pci.c hw/net/pcnet-pci.c
> hw/pcnet.c hw/net/pcnet.c
> hw/rtl8139.c hw/net/rtl8139.c
> hw/smc91c111.c hw/net/smc91c111.c
> hw/spapr_llan.c hw/net/spapr_llan.c
> hw/stellaris_enet.c hw/net/stellaris_enet.c
> hw/vhost_net.c hw/net/vhost_net.c
> hw/virtio-net.c hw/net/virtio-net.c
> hw/xen_nic.c hw/net/xen_nic.c
> hw/xgmac.c hw/net/xgmac.c
> hw/xilinx_axidma.c hw/net/xilinx_axidma.c
Hi Paulo,
hw/xilinx_axidma.c is a generic DMA unit, should probably
go under hw/dma.
Best regards,
Edgar
Re: [Qemu-devel] [RFC] Proposal for hw/ split,
Edgar E. Iglesias <=
Re: [Qemu-devel] [RFC] Proposal for hw/ split, Stefan Hajnoczi, 2013/03/11
Re: [Qemu-devel] [RFC] Proposal for hw/ split, Richard Henderson, 2013/03/12