www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/01/07/08:12:30

Xref: news-dnh.mv.net comp.os.msdos.djgpp:4160
Path: news-dnh.mv.net!mv!news.sprintlink.net!news.magicnet.net!news.supernet.net!news.cais.net!news.qnet.com!news.av.qnet.com!avalon.softaware.com!nntp1.jpl.nasa.gov!usenet.eel.ufl.edu!news.mathworks.com!uhog.mit.edu!nntp.club.cc.cmu.edu!cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!oitnews.harvard.edu!newsfeed.rice.edu!rice!news!sandmann
From: Charles Sandmann <sandmann AT clio DOT rice DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: cwsdpmi8 and 9 BUG
Date: Sat, 06 Jan 1996 09:55:15 CST
Organization: Rice University, Houston, Texas
Lines: 25
Message-ID: <30ee9b63.sandmann@clio.rice.edu>
References: <DKqwnA DOT Mtq AT jade DOT mv DOT net>
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

> beta6 and beta7 worked perfectly (well they didn't page fault) but 
> beta8 and beta9 both would page fault consistently when setting up the
> interrupt vectors.

This is a clear indication there is a bug in your program.  A change was
made between beta 7 and beta 8 to disallow any page faults from happening
inside a HW interrupt handler or RMCB, for a very good reason.  The DPMI
specification clearly says that these pages must be locked in memory.  If
they are not, you may call DOS or the BIOS when they are interrupted and
*DESTROY THE STRUCTURE OF YOUR HARD DISK*.  This has happened to a few
unfortunate folk when they were writing programs which were hooking HW
interrupts.  The decision was made (with the help of several people whom
I value their opinions) that it is much better to force people to write
correct code than to have them inadvertently destroy their hard disk
occasionally.

If locking is too much trouble, then use CWSDPR0.EXE, which does not support
virtual memory and implicitly locks all pages, or at least touch all the
memory in the address space to make sure it's paged in.

> I think there also might be a bug when the swapfile is set to "", or maybe
> its just I was trying to run on a 4 Mb machine and it ran out of memory.

A swap file of "" means disable virtual memory.  Since GCC frequently needs
4Mb of memory to run, you can't run GCC on a 4Mb machine without VM.

- Raw text -


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