www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/02/17/20:52:44

Xref: news2.mv.net comp.os.msdos.djgpp:1204
From: Charles Sandmann <sandmann AT clio DOT rice DOT edu>
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: <DMrv12 DOT B5G AT granite DOT mv DOT net> <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 :-)

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019