delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/08/20/18:15:05

From: "Charles Sandmann" <sandmann AT clio DOT rice DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Thoughts on physical address and DMA
Date: Mon, 20 Aug 2001 16:58:13
Organization: Aspen Technology, Inc.
Lines: 12
Message-ID: <3b8141a5.sandmann@clio.rice.edu>
References: <f5c79439 DOT 0108171412 DOT 689b2a6b AT posting DOT google DOT com>
NNTP-Posting-Host: dcloan.hou.aspentech.com
X-Trace: selma.aspentech.com 998344964 13302 10.32.115.107 (20 Aug 2001 22:02:44 GMT)
X-Complaints-To: postmaster AT aspentech DOT com
NNTP-Posting-Date: 20 Aug 2001 22:02:44 GMT
X-NewsEditor: ED-1.5.8
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

> Since you add `__djgpp_conventional_base' to a physical address to
> convert it to a linear address, could you possibly _subtract_ it from
> a linear address to convert it to a physical address? If so, could the
> physical address be used for DMA?

Doing DMA under DPMI is a somewhat specialized operation.  To make this
note short, you would need to know what platforms you plan to support
(DOS/CWSDPMI, Windows, etc).  The traditional way is to allocate a
DOS memory buffer which has 1:1 address mapping.  If you need a large
buffer, and run only under CWSDPMI, you can grab a work in progress
http://clio.rice.edu/djgpp/cwsdma2.zip for an example of how to get
the real address mapping.

- Raw text -


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