Xref: news2.mv.net comp.os.msdos.djgpp:1204 From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: how to allocate DMA pages ? Date: Wed, 14 Feb 1996 23:24:26 CST Organization: Rice University, Houston, Texas Lines: 15 Message-ID: <3122c38a.sandmann@clio.rice.edu> References: <4fu11h$5au AT news DOT manawatu DOT gen DOT nz> Reply-To: sandmann AT clio DOT rice DOT edu NNTP-Posting-Host: clio.rice.edu To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp > > Ulf> know of a good strategy for allocating DMA buffers which > > Ulf> works on large memory machines ? (Will take source code...) > >It is actually worse than this - the 8237 DMA controller takes > >physical addresses, malloc returns virtual addresses. There is > >currently no mechanism to translate malloc'ed virtual addresses into > >physical addresses with which to program the DMA controller. There is actually a standard called VDS out there which addresses this. See ftp.oulu.fi someplace in a standard directory for it (that means I don't remember where, and I'm not gonna go find it either). There is a good discussion on this topic in comp.lang.asm.x86 by the author of 386MAX right now. The bad news is that I never bothered to implement it for CWSDPMI (see all the bad things I never tell you about ;-) so you must use the XMS type solution (if you need LOTS of DMA buffers) or DOS memory if you can get by with it, or use something more professional :-)