Path: utzoo!attcan!uunet!jarthur!usc!zaphod.mps.ohio-state.edu!van-bc!ubc-cs!uw-beaver!rice!sun-spots-request From: kevin@corp.sun.com (Kevin Sheehan {Consulting Poster Child}) Newsgroups: comp.sys.sun Subject: Re: DMA Keywords: SunOS Message-ID: <8186@brazos.Rice.edu> Date: 25 May 90 18:32:06 GMT Sender: root@rice.edu Organization: Sun-Spots Lines: 23 Approved: Sun-Spots@rice.edu X-Refs: Original: v9n177 X-Sun-Spots-Digest: Volume 9, Issue 180, message 13 In article <8124@brazos.Rice.edu> shaig@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@sun.com