DMA

Kevin Sheehan {Consulting Poster Child} kevin at corp.sun.com
Sat May 26 04:32:06 AEST 1990


In article <8124 at brazos.Rice.edu> shaig at shum.huji.ac.il writes:
>
>I am currently preparing a device driver for a card that performs DMA to
>addresses on a Sun4/60 S-bus. One of the limitations that I have
>encountered is that the DMA memory area is limited to 600Kb, and the
>memory buffers that my device would like to work with can reach 3*192Kb
>each. Is it possible to reconfigure the kernel to a DMA size of say 900Kb?
>If so how? If not, what is the cause of the actual limitation?


The SS1 doesn't really have a "DVMA window" - a small portion of the
kernel map was set aside so that drivers could still believe in the
fiction if they so desired.

On the SS1, all of the kernel context is visible to the SBus devices, so
all you really need to do is use bp_mapin() to make it visible, then set
up the xfer.  Note that 4.0.3c only allowed 63K mappings. This limitation
has been removed in 4.1 - if the space exists to map, bp_mapin() (and
cousins) will do it now.

Kevin Sheehan
Sun Microsystems
kevin at sun.com



More information about the Comp.sys.sun mailing list