Subject: Re: floppy support for UDB?
To: None <mjacob@feral.com>
From: Chris G Demetriou <Chris_G_Demetriou@ux2.sp.cs.cmu.edu>
List: port-alpha
Date: 12/31/1996 02:11:35
> I see no floppy support (for the UDB). I also see no DMA support.

Right.

By "DMA" i assume you mean ISA/EISA motherboard DMA controller DMA?
(the support for which isn't there?)

Basically, for ISA/EISA motherboard DMA controller DMA to be useful,
DMA mapping and unmapping, via SGMAP entries, has to be done, since
there is no memory whatsoever mapped in the low 16M of ISA space.
(You can't even use a naive bounce-buffer scheme, for that reason.)


> Anyone working on this?

Not really.  Before I throw too much work at it, I'd like that much
talked about it MI DMA mapping/unmapping scheme to appear.  I'd like
to avoid implementing a hack, then implementing the 'real' solution
later.

That having been said, it shouldn't be too hard to make it work, if
somebody's so inclined.


In response to the recent messages (yours and the followup from Thomas
Graichen), i looked at what it would take to implement simple "only
bounce-buffered DMA" with the ISA/EISA motherboard DMACs, and to make
the floppy driver work.

Making the floppy driver compile (based on the i386 version) was
rather easy.  (Just a matter of trimming some stuff out and working
around its absence.)

Making the DMA controller code go is a bit harder.  Basically:
	(1) you need to allocate bounce buffer space at boot time,
	(2) you need to set up some SGMAP entries to address that
	    space, and
	(3) you need to hack the isadma.c code to deal with it.

Less than a few hours work, but more than I have time for, since i'm
already busy tilting at too many flaming windmills with only a water
pick...  (how's that for mixed metaphors? 8-)

(1) and (3) are actually pretty easy, probably.  (2) requires hacking
each bus interface chipset's code, though as long as you're simply
trying to make it work and not make it nice, it wouldn't be too hard.
8-)


If anybody's actually interested in pursuing this, send me mail and
i'd be more than happy to send you what code i've got, and give you
advice about how to do the rest, if you need it.  I really wanted to
hack it to work yesterday, but i just had too much else to do, and it
requires more than the (little) bit of work that i've got time to
throw at it right now...


Happy new year, folks!


later,

chris