Subject: Re: Floppy drive
To: Martin Grossman <grossman@bbn.com>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: port-alpha
Date: 04/03/1998 10:41:54
On Fri, 03 Apr 1998 09:15:39 -0500 
 Martin Grossman <grossman@BBN.COM> wrote:

 > We use NetBSD here on both pentium boards, and the DEC alpha board PC164.
 > 
 > Why does the 386 port support the floppy drive on the isa bus, and the
 > alpha doesn't?

The i386 floppy driver is not sufficiently MI.  It uses a very
machine-dependent method to determine the density of the floppy drives
(it reads the BIOS NVRAM).

I have a "partially integrated" floppy driver in my Alpha tree, but it
doens't quite work on my AlphaStation 500 (DMA underruns... don't know
if this is a floppy driver bug, an isadma driver bug, or a CIA SGMAP
DMA bug, and I have had much more important things on my plate to worry
about a floppy driver).

Before the floppy driver can be shared, it needs to be split into parts:

	(1) floppy controller needs to be split from floppy controller
	    child (floppy disk, tape, etc.)

	(2) isa specific things need to be split from chip specific things,
	    and callbacks to the front-end need to be provided for whichever
	    transfer method is appropriate (DMA, fast-interrupt-that-feeds-
	    FIFO, etc.)

	(3) machdep callbacks to get the floppy density need to be added.

I just talked to someone in the lobby of the IETF conference hotel last
night who is planning on doing this work so he can make a pcmcia floppy
controller work.

FYI.

Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                            Home: +1 408 866 1912
NAS: M/S 258-5                                       Work: +1 650 604 0935
Moffett Field, CA 94035                             Pager: +1 415 428 6939