Subject: Re: Bounce buffers for ISA dma
To: None <port-i386@netbsd.org>
From: Frank van der Linden <vdlinden@fwi.uva.nl>
List: port-i386
Date: 11/28/1994 22:28:50
Kern Hornstein wrote:

>- Implement a buffer cache that did bouncing automatically.  This is the
>  approach FreeBSD took, and while it's obviously the best one, I wouldn't
>  know where to begin :-)

The way they did it, keeps one from messing around with the drivers, yes..
But: as far as I can see they put it in the generic /sys/scsi code, and
that is supposed to be architecture-independant (correct me if I'm wrong).
So that's not the place that you want to stuff support for one particular
braindead bus which is part of one particular architecture either.

A solution could be, to make some generic isa scheme,
that takes a list of buffers to be transferred, and replaces the
bad (> 16 Mb) bufs with 'safe' ones. Then the transaction is done,
and after that the list is reworked again, with
(if listelt->newbuf) copy listelt->newbuf to listelt->oldbuf

Of course, that would still mean redoing the busmastering ISA controller
drivers..

Whoever designed the ISA bus anyway? Let's sue.

- Frank