www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/05/30/21:21:23

From: yurick AT oblik DOT dp DOT ua
Newsgroups: comp.os.msdos.djgpp
Subject: __djgpp_map_physical_memory - some questions
Date: Wed, 30 May 2001 21:29:47 +0300
Organization: Apex NCC Public InterNet News Server
Lines: 24
Message-ID: <r6e3f9.tu3.ln@nix-if1>
NNTP-Posting-Host: dialup194.apex.dp.ua
X-Trace: main.apex.dp.ua 991263938 24295 195.24.139.194 (30 May 2001 23:05:38 GMT)
X-Complaints-To: abuse AT apex DOT dp DOT ua
NNTP-Posting-Date: 30 May 2001 23:05:38 GMT
User-Agent: tin/1.5.8-20010221 ("Blue Water") (UNIX) (Linux/2.2.19 (i686))
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

       Hi!

   I have some questions about __djgpp_map_physical_memory() function.

1. Info says that all three arguments of this function must be page-aligned.
So must I align all this arguments manually? Is this code correct (see below)?
------------------------------------------------------------------
#define PAGE_SIZE 0x1000
// already aligned
#define MEM_SIZE  0x4000
#define MEM_ADDR  0xeb000000

char *buf=(char*)malloc(MEM_SIZE+PAGE_SIZE);
size_t aligned=(size_t)buf;
aligned=(1+(dptr-1)/PAGE_SIZE)*PAGE_SIZE; // align to PAGE_SIZE

int res=__djgpp_map_physical_memory((char*)aligned, MEM_SIZE, MEM_ADDR);
printf("result: %d\n", res);
------------------------------------------------------------------

2. I've tried this with djgpp 2.03 under Win95OSR2. Is it supports
this call (DPMI 0508)?


- Raw text -


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