[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH 10/17] magnum: disable floppy DMA for now
From: |
Hervé Poussineau |
Subject: |
[Qemu-block] [PATCH 10/17] magnum: disable floppy DMA for now |
Date: |
Tue, 29 Dec 2015 09:04:48 +0100 |
Floppy uses the DMA controller in rc4030 chipset, and not the i8259 from the
ISA bus.
It's better to disable DMA than to call the wrong DMA controller.
Signed-off-by: Hervé Poussineau <address@hidden>
---
hw/block/fdc.c | 5 +++--
hw/mips/mips_jazz.c | 3 ++-
include/hw/block/fdc.h | 2 +-
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/hw/block/fdc.c b/hw/block/fdc.c
index 4292ece..cfdd625 100644
--- a/hw/block/fdc.c
+++ b/hw/block/fdc.c
@@ -2255,7 +2255,7 @@ ISADevice *fdctrl_init_isa(ISABus *bus, DriveInfo **fds)
return isadev;
}
-void fdctrl_init_sysbus(qemu_irq irq, int dma_chann,
+void fdctrl_init_sysbus(qemu_irq irq, int dma_chann, IsaDma *dma,
hwaddr mmio_base, DriveInfo **fds)
{
FDCtrl *fdctrl;
@@ -2266,7 +2266,8 @@ void fdctrl_init_sysbus(qemu_irq irq, int dma_chann,
dev = qdev_create(NULL, "sysbus-fdc");
sys = SYSBUS_FDC(dev);
fdctrl = &sys->state;
- fdctrl->dma_chann = dma_chann; /* FIXME */
+ fdctrl->dma = dma;
+ fdctrl->dma_chann = dma ? dma_chann : -1;
if (fds[0]) {
qdev_prop_set_drive_nofail(dev, "driveA", blk_by_legacy_dinfo(fds[0]));
}
diff --git a/hw/mips/mips_jazz.c b/hw/mips/mips_jazz.c
index 64a0de2..300c199 100644
--- a/hw/mips/mips_jazz.c
+++ b/hw/mips/mips_jazz.c
@@ -296,7 +296,8 @@ static void mips_jazz_init(MachineState *machine,
for (n = 0; n < MAX_FD; n++) {
fds[n] = drive_get(IF_FLOPPY, 0, n);
}
- fdctrl_init_sysbus(qdev_get_gpio_in(rc4030, 1), 0, 0x80003000, fds);
+ /* FIXME: we should enable DMA with a custom IsaDma device */
+ fdctrl_init_sysbus(qdev_get_gpio_in(rc4030, 1), 0, NULL, 0x80003000, fds);
/* Real time clock */
rtc_init(isa_bus, 1980, NULL);
diff --git a/include/hw/block/fdc.h b/include/hw/block/fdc.h
index d48b2f8..f92e44f 100644
--- a/include/hw/block/fdc.h
+++ b/include/hw/block/fdc.h
@@ -16,7 +16,7 @@ typedef enum FDriveType {
#define TYPE_ISA_FDC "isa-fdc"
ISADevice *fdctrl_init_isa(ISABus *bus, DriveInfo **fds);
-void fdctrl_init_sysbus(qemu_irq irq, int dma_chann,
+void fdctrl_init_sysbus(qemu_irq irq, int dma_chann, IsaDma *dma,
hwaddr mmio_base, DriveInfo **fds);
void sun4m_fdctrl_init(qemu_irq irq, hwaddr io_base,
DriveInfo **fds, qemu_irq *fdc_tc);
--
2.1.4
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-block] [PATCH 10/17] magnum: disable floppy DMA for now,
Hervé Poussineau <=