Subject: Re: Bus mastering to user space
To: Todd T. Fries <firstname.lastname@example.org>
From: Jason Thorpe <email@example.com>
Date: 07/18/1997 14:48:55
On Fri, 18 Jul 1997 16:46:20 -0500
"Todd T. Fries" <firstname.lastname@example.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 email@example.com
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