Subject: Re: FreeBSD Bus DMA (was Re: AdvanSys board support)
To: Jonathan Stone <>
From: Ted Lemon <>
List: tech-kern
Date: 06/10/1998 16:28:02
> Reading between the lines of your message suggests you're thinking
> purely of scatter/gather lists in host memory or maybe in a device
> mailbox.  There're other schemes that are better thought of as an
> outboard TLB, which map bus addresses to host memory addresses.  that
> was very common onearlier (e.g., DEC) hardware, for mapping from 16 to
> 32-bit bus addresses, and I I understand some of the Alphas still work
> that way.  On these systems you need to allocate hardware mapping
> resources all the way down the bus topology -- potentially allocating
> a contiguous region of bus address-space for the DMA at *each*
> intermediate bus, and setting up a bus-address-mapping TLB entry
> appropriately.

Even modern PCI+ISA and EISA+ISA chipsets support something like this,
for the same reason.

Frankly, this whole thing sounds to me like nonsense: we have code
that works.  If we all use the same API, we get to share drivers more
easily, which is a win for all of us.  If we decide to let our egos do
the thinking, we all lose.  I have great difficulty imagining how the
tiny performance differences between the two approaches could matter
at all to the end user, whereas clearly better device driver support
will matter a great deal to the end user.

I appreciate your attempts to be polite about this, Jonathan, and I'm
sorry I can't manage to be so charitable, but seeing these schisms
happen every time there's an opportunity for it really makes me feel
tired of the whole Free BSD thing.  A friend of mine up at Microsoft
tried to argue to me that we're all a bunch of idiots and that if we
can't justify what we're doing on a business basis, we shouldn't do
it.  I don't like that idea much, but I found it hard to argue the
point with him.