qemu/hw/dma
Philippe Mathieu-Daudé 4968a2c6ed hw/dma/i82374: Avoid double creation of the 82374 controller
QEMU fails when used with the following command line:

    ./ppc64-softmmu/qemu-system-ppc64 -S -machine 40p -device i82374
    qemu-system-ppc64: hw/isa/isa-bus.c:110: isa_bus_dma: Assertion `!bus->dma[0] && !bus->dma[1]' failed.

The 40p machine type already creates the device i82374. If specified in the
command line, it will try to create it again, hence generating the error. The
function isa_bus_dma() isn't supposed to be called twice for the same bus.
Check the bus doesn't already have a DMA controller registered before creating
the device.

Fixes: https://bugs.launchpad.net/qemu/+bug/1721224
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20180326153441.32641-2-f4bug@amsat.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2018-04-09 16:36:39 +02:00
..
bcm2835_dma.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
etraxfs_dma.c etraxfs_dma: Dont forward zero-length payload to clients 2016-02-20 00:17:48 +01:00
i8257.c hw/dma/i8257: Rename DMA_init() to i8257_dma_init() 2018-03-12 16:12:48 +01:00
i82374.c hw/dma/i82374: Avoid double creation of the 82374 controller 2018-04-09 16:36:39 +02:00
Makefile.objs aarch64-softmmu.mak: Use an ARM specific config 2018-01-26 11:09:09 +01:00
omap_dma.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
pl080.c hw/dma/pl080: Fix bad bit mask (PL080_CONF_M1 | PL080_CONF_M1) 2016-10-17 19:22:17 +01:00
pl330.c maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
puv3_dma.c unicore: Clean up includes 2016-01-29 15:07:22 +00:00
pxa2xx_dma.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
rc4030.c memory/iommu: introduce IOMMUMemoryRegionClass 2017-07-14 12:04:41 +02:00
soc_dma.c hw/dma: Replace fprintf(stderr, "*\n" with error_report() 2018-02-06 18:29:09 +01:00
sparc32_dma.c sun4m: remove include/hw/sparc/sun4m.h and all references to it 2018-01-09 21:48:20 +00:00
trace-events sun4m: move sun4m_iommu.c from hw/dma to hw/sparc 2018-01-09 21:48:19 +00:00
xilinx_axidma.c xilinx_axidma: Convert to DEFINE_PROP_LINK 2017-09-07 13:54:51 +01:00
xlnx_dpdma.c maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
xlnx-zynq-devcfg.c maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00