DMA

Jeffrey Zank - SBus Software jeffz at sun.com
Wed May 30 01:42:59 AEST 1990


>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?

You need to be clear here.  If you are using DVMA, 600 KBytes sounds about
right for mb_ampalloc() and mb_mapfree() type of usage.  Total space for
DVMA is about 1 MByte, and its shared with all other devices that do DVMA.
You really cannot "reconfigure" your kernel to add more space, you are
limited by other kernel resources that currently are not configurable
(PMEGS, and IOPB Memory for example).

If you're not using DVMA you might try bp_mapin() and bp_mapfree() and set
your own size in minphys().  

All the above discussion is under SunOS 4.1 on the 4/60 and 4/65 class
machines.  If you are building a SBus board out there then you "should" be
getting something called SBulletin, the quarterly news letter about
technical happenings with the SBus.  It just so happens that their is an
article on the above subject in the next edition, due out in June.

If you have any questions about developing SBus hardware and software,
call the Sun SBus Technical Support Hot line number 415-336-3558 or send
mail to sbustech at sun.com



More information about the Comp.sys.sun mailing list