delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/03/28/12:31:56

From: clc5q AT cobra DOT cs DOT Virginia DOT EDU (Clark L. Coleman)
Newsgroups: comp.os.msdos.djgpp
Subject: CWSDPMR0: system crash on INVD
Date: 28 Mar 2001 17:03:02 GMT
Organization: University of Virginia Computer Science Department
Lines: 23
Message-ID: <99t5g6$m5r$1@murdoch.acc.Virginia.EDU>
NNTP-Posting-Host: cobra.cs.virginia.edu
X-Trace: murdoch.acc.Virginia.EDU 985798982 22715 128.143.137.16 (28 Mar 2001 17:03:02 GMT)
X-Complaints-To: abuse AT virginia DOT edu
NNTP-Posting-Date: 28 Mar 2001 17:03:02 GMT
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

When using the CWSDPR0.EXE (via stubedit), there is a privileged
instruction that still crashes my machine: "invd", which invalidates
the caches but does not write back dirty lines to main memory (i.e. is
used only when coherency is not an issue.) Switching to the "wbinvd"
instruction gets rid of the problem.

I.e.:

__asm__ __volatile__ ("invd");

from within my C code causes a DOS crash and reboot.

I am running DR_DOS 7.03 on a 233 MHz Pentium-II, latest DJGPP gcc
2.95.2 and latest CWSDPMI modules.

This is not a stumbling block to me (in fact I noticed this a year ago
and have not worried about it since switching over to "wbinvd"), but I
thought someone who maintains CWSDPR0.EXE would want to know. Someone
else with a different machine, BIOS, and different DOS might want to
comment on whether they have the same problem.

Clark Coleman

- Raw text -


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