delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2004/09/11/15:15:34

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
From: Charles Sandmann <sandmann AT clio DOT rice DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: physical adress of int
Date: Sat, 11 Sep 2004 13:53:15 CDT
Organization: Rice University, Houston, TX
Lines: 16
Message-ID: <4143499b.sandmann@clio.rice.edu>
References: <chrpjm$r73$1 AT s5 DOT feed DOT news DOT oleane DOT net>
NNTP-Posting-Host: clio.rice.edu
X-Trace: joe.rice.edu 1094929630 17087 128.42.105.3 (11 Sep 2004 19:07:10 GMT)
X-Complaints-To: abuse AT rice DOT edu
NNTP-Posting-Date: Sat, 11 Sep 2004 19:07:10 +0000 (UTC)
X-NewsEditor: ED-1.5.9
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

> I want to know a physical adress of my int variable, it's for my ethernet
> board for his initialisation.

In general under DPMI you can't do this.  However, it depends a lot on your
environment.  Frequently the 640KB area is mapped 1:1 - so you can put
data there suitable for DMA usage.  Since Windows can virtualize the DMA ports,
it will even remap requests to the first 640KB, so this technique works 
well in many environments.

If you need larger memory buffers that will not fit in the DOS memory area,
and are willing to stick to a single DPMI provider, you can use PMODE without
VCPI (which doesn't enable paging) so your virtual address is the same as
the physical address (you need to add the DS base to it's address).

If you need a more compatible DPMI, you can use CWSDPMI and the files from
http://clio.rice.edu/djgpp/cwsdma2.zip

- Raw text -


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