Subject: Re: Bus mastering to user space
To: Todd T. Fries <toddf@acm.org>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: tech-kern
Date: 07/18/1997 14:48:55
On Fri, 18 Jul 1997 16:46:20 -0500 
 "Todd T. Fries" <toddf@acm.org> wrote:

 > If you are talking about dma, it is not possible to do this because
 > of the fact that userspace is virtualized memory, which is fragmented,
 > and cannot be guaranteed in 64k chunks, which is required in pc hardware.

...nonsense.  You can scatter-gather to user memory.  In NetBSD's
bus dma framework, the user process can also allocate and map large
chunks of contiguous memory space, if it so wishes.

 > What is implemented, I do not know, merely letting you know what is possible.

I implemented everything necessary except for bus_dmamem_mmap(), which
is the user method for mapping DMA memory.  This is going to require an
interface change in the device pager... I haven't had the time to work
out all of the details, yet.

Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                               Home: 408.866.1912
NAS: M/S 258-6                                          Work: 415.604.0935
Moffett Field, CA 94035                                Pager: 415.428.6939