[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-trivial] [PATCH v2 38/39] hw/dma/i82374: avoid multiple creations
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-trivial] [PATCH v2 38/39] hw/dma/i82374: avoid multiple creations on the same ISA bus |
Date: |
Mon, 16 Oct 2017 21:12:08 -0300 |
$ ./ppc64-softmmu/qemu-system-ppc64 -S -machine 40p,accel=tcg -device i82374
qemu-system-ppc64: -device i82374: DMA already initialized on ISA bus
Reported-by: Eduardo Otubo <address@hidden>
Suggested-by: Eduardo Habkost <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/dma/i82374.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/hw/dma/i82374.c b/hw/dma/i82374.c
index 6c0f975df0..280e64f0fa 100644
--- a/hw/dma/i82374.c
+++ b/hw/dma/i82374.c
@@ -23,6 +23,7 @@
*/
#include "qemu/osdep.h"
+#include "qapi/error.h"
#include "hw/isa/isa.h"
#define TYPE_I82374 "i82374"
@@ -117,13 +118,19 @@ static const MemoryRegionPortio i82374_portio_list[] = {
static void i82374_realize(DeviceState *dev, Error **errp)
{
I82374State *s = I82374(dev);
+ ISABus *isa_bus = isa_bus_from_device(ISA_DEVICE(dev));
+
+ if (isa_bus->dma[0] || isa_bus->dma[1]) {
+ error_setg(errp, "DMA already initialized on ISA bus");
+ return;
+ }
portio_list_init(&s->port_list, OBJECT(s), i82374_portio_list, s,
"i82374");
portio_list_add(&s->port_list, isa_address_space_io(&s->parent_obj),
s->iobase);
- DMA_init(isa_bus_from_device(ISA_DEVICE(dev)), 1);
+ DMA_init(isa_bus, 1);
memset(s->commands, 0, sizeof(s->commands));
}
--
2.15.0.rc0
- [Qemu-trivial] [PATCH v2 35/39] i386/pc: move vmport.c from hw/misc/ to hw/i386/, (continued)
- [Qemu-trivial] [PATCH v2 35/39] i386/pc: move vmport.c from hw/misc/ to hw/i386/, Philippe Mathieu-Daudé, 2017/10/16
- [Qemu-trivial] [PATCH v2 36/39] i386/pc: move pvpanic.c from hw/misc/ to hw/i386/, Philippe Mathieu-Daudé, 2017/10/16
- [Qemu-trivial] [PATCH v2 37/39] i386/pc: extract port92 from pc.c, Philippe Mathieu-Daudé, 2017/10/16
- [Qemu-trivial] [PATCH v2 38/39] hw/dma/i82374: avoid multiple creations on the same ISA bus,
Philippe Mathieu-Daudé <=
- [Qemu-trivial] [PATCH v2 39/39] hw/dma/i8257: rename DMA_init() to i8257_dma_init(), Philippe Mathieu-Daudé, 2017/10/16
- Re: [Qemu-trivial] [Qemu-devel] [PATCH v2 00/39] remove i386/pc dependency from non-PC world (part 1), no-reply, 2017/10/17