Subject: Re: buslogic/adaptec conflicts
To: John F. Woods <jfw@funhouse.com>
From: Chris G Demetriou <Chris_G_Demetriou@UX2.SP.CS.CMU.EDU>
List: current-users
Date: 04/01/1996 01:59:53
> > It's my concern that the attitude that "the PC sucks" prevents
> > things like bounce buffers and other useful features from being
> > included in this very clean source tree.
>
> I don't think Charles said anything like that. With bounce buffers
> specifically, what has prevented them making it into the source tree
> (so far) has been the fact that all of the solutions presented so far
> have been very i386 specific, when it is (in fact) a very general
> problem. Chris (?) apparently is on the way to devising a reasonably
> general solution that should give bounce-buffers to *all* the
> architectures on which ISA has been inflicted.
Yes, it's me... And to bring up the one thing that some people keep
missing...
On the i386, they're known as bounce buffers. On the Alpha, they're
known as "standard DMA mapping registers."
In fact, if you _don't_ use the DMA mapping hardware on the Alpha, you
can't use ISA DMA _AT ALL_, because, in the ISA bus physical address
space, there is _NOTHING_ at all, in the first 16M, unless you map
something there with the mapping registers...
It's not that I _want_ to solve this problem for the i386.
I _have_ to solve it for the Alpha, and i do NOT want a crappy
pre-existing implementation making my life harder. If that means that
I provide an interface for the i386 to use to do bounce buffers (as
will happen), that's an extra win.
Since i know that the i386 has certain needs, I shouldn't ignore them
if i'm going to be implementing this. On the other hand, designers of
interfaces which could be used on multiple machines shouldn't ignore
those other machines, if they happen to be implementing on the i386.
Unfortunately, the fact that people implementing for the i386 either
do not (or, in the case of a fair amount of code i've had to change
recently, probably "did not") bother to make themselves aware of other
systems' needs means that people working on those other systems are
typically screwed. Hopefully that'll get better in the future...
(No, i'm not trying to slam anybody... I'm just ranting. 8-)
cgd