qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]