[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH 10/17] magnum: disable floppy DMA f
From: |
John Snow |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH 10/17] magnum: disable floppy DMA for now |
Date: |
Tue, 5 Jan 2016 17:02:10 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 12/29/2015 03:04 AM, Hervé Poussineau wrote:
> 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.
>
I'll trust that these platforms' FDCs are already terribly broken and
unusable, I've not tested them personally.
> 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;
You haven't added this field yet; so this breaks the bisect.
> + 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);
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-block] [Qemu-devel] [PATCH 10/17] magnum: disable floppy DMA for now,
John Snow <=