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