qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Hervé Poussineau" <hpoussin@reactos.org>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"John Snow" <jsnow@redhat.com>,
	qemu-devel@nongnu.org,
	"Aleksandar Rikalo" <aleksandar.rikalo@syrmia.com>
Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Thomas Huth <thuth@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Markus Armbruster <armbru@redhat.com>,
	qemu-block@nongnu.org
Subject: Re: [PATCH v4 0/9] hw/block/fdc: Allow Kconfig-selecting ISA bus/SysBus floppy controllers
Date: Sat, 22 May 2021 08:51:22 +0200	[thread overview]
Message-ID: <fc1be8eb-5c4e-9968-2ebd-a0b4e117eeeb@reactos.org> (raw)
In-Reply-To: <fc985d03-ee24-33e8-d527-7dbb979a9eed@redhat.com>

Le 18/05/2021 à 09:14, Philippe Mathieu-Daudé a écrit :
> Cc'ing Hervé, Aleksandar, Markus & Mark.
> 
> On 5/17/21 11:11 PM, John Snow wrote:
>> On 5/17/21 4:50 PM, Philippe Mathieu-Daudé wrote:
>>> On 5/17/21 9:19 PM, John Snow wrote:
>>>> On 5/17/21 2:39 PM, Philippe Mathieu-Daudé wrote:
> 
>>>>> The floppy disc controllers pulls in irrelevant devices (sysbus in
>>>>> an ISA-only machine, ISA bus + isa devices on a sysbus-only machine).
>>>>>
>>>>> This series clean that by extracting each device in its own file,
>>>>> adding the corresponding Kconfig symbols: FDC_ISA and FDC_SYSBUS.
> 
>>> Not good enough:
> 
>> Yup, I see. Dropping it from the queue for now. Thanks!
> 
> The Jazz machines use the sysbus FDC model, but register a DMA channel.
> 
> The DMA transfer is done using:
> 
>      if (fdctrl->dma_chann != -1 && !(fdctrl->msr & FD_MSR_NONDMA)) {
>          IsaDmaClass *k = ISADMA_GET_CLASS(fdctrl->dma);
>          k->release_DREQ(fdctrl->dma, fdctrl->dma_chann);
>      }
> 
> The IsaDmaTransferHandler is ISA specific...
> 
> I suppose the Jazz machines should use the ISA FDC model.
 >
 > Hervé, Aleksandar, do you know?

The Jazz machine uses the standard floppy controller (i82077)
FDC registers are accessible at memory-mapped address 0x80003000-0x80003007
FDC interrupt is using custom Jazz interrupt controller, with interrupt #1.
FDC DMA is using custom Jazz DMA channel controller, with channel #1.

You can find in jazz.c the following code:
     /* FIXME: we should enable DMA with a custom IsaDma device */
     fdctrl_init_sysbus(qdev_get_gpio_in(rc4030, 1), -1, 0x80003000, fds);

I had in the idea to wrap the custom Jazz interrupt controller in a IsaDma structure,
to use it with floppy controller, but I never took the time to do it + test it.

So, floppy drive never worked for me, neither with Windows NT 4, nor with Linux kernels.
You can do what you feel the best, as long as you keep the possibility to use the floppy
model with something else than a i8259 DMA controller.

Regards,

Hervé


      reply	other threads:[~2021-05-22  6:53 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-17 18:39 [PATCH v4 0/9] hw/block/fdc: Allow Kconfig-selecting ISA bus/SysBus floppy controllers Philippe Mathieu-Daudé
2021-05-17 18:39 ` [PATCH v4 1/9] hw/isa/Kconfig: Fix missing dependency ISA_SUPERIO -> FDC Philippe Mathieu-Daudé
2021-05-17 18:39 ` [PATCH v4 2/9] hw/block/fdc: Replace disabled fprintf() by trace event Philippe Mathieu-Daudé
2021-05-17 18:39 ` [PATCH v4 3/9] hw/block/fdc: Declare shared prototypes in fdc-internal.h Philippe Mathieu-Daudé
2021-05-17 18:39 ` [PATCH v4 4/9] hw/block/fdc: Extract ISA floppy controllers to fdc-isa.c Philippe Mathieu-Daudé
2021-05-17 18:39 ` [PATCH v4 5/9] hw/block/fdc: Extract SysBus floppy controllers to fdc-sysbus.c Philippe Mathieu-Daudé
2021-05-17 18:39 ` [PATCH v4 6/9] hw/block/fdc: Add sysbus_fdc_init_drives() method Philippe Mathieu-Daudé
2021-05-17 18:39 ` [PATCH v4 7/9] hw/sparc/sun4m: Inline sun4m_fdctrl_init() Philippe Mathieu-Daudé
2021-05-17 18:39 ` [PATCH v4 8/9] hw/block/fdc-sysbus: Add 'dma-channel' property Philippe Mathieu-Daudé
2021-05-17 18:39 ` [PATCH v4 9/9] hw/mips/jazz: Inline fdctrl_init_sysbus() Philippe Mathieu-Daudé
2021-05-17 19:19 ` [PATCH v4 0/9] hw/block/fdc: Allow Kconfig-selecting ISA bus/SysBus floppy controllers John Snow
2021-05-17 20:50   ` Philippe Mathieu-Daudé
2021-05-17 21:11     ` John Snow
2021-05-18  7:14       ` Philippe Mathieu-Daudé
2021-05-22  6:51         ` Hervé Poussineau [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fc1be8eb-5c4e-9968-2ebd-a0b4e117eeeb@reactos.org \
    --to=hpoussin@reactos.org \
    --cc=aleksandar.rikalo@syrmia.com \
    --cc=armbru@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=philmd@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).