From: "Alexei A. Frounze" Newsgroups: comp.os.msdos.djgpp Subject: Re: CWSDPMR0: system crash on INVD Date: Wed, 28 Mar 2001 12:40:01 -0500 Organization: Global Crossing Telecommunications Lines: 42 Sender: UNKNOWN AT 209-130-220-251 DOT nas1 DOT roc DOT gblx DOT net Message-ID: <99t7j4$7ce$1@node17.cwnet.frontiernet.net> References: <99t5g6$m5r$1 AT murdoch DOT acc DOT Virginia DOT EDU> NNTP-Posting-Host: 209-130-220-251.nas1.roc.gblx.net X-Trace: node17.cwnet.frontiernet.net 985801124 7566 209.130.220.251 (28 Mar 2001 17:38:44 GMT) X-Complaints-To: abuse AT frontiernet DOT net NNTP-Posting-Date: 28 Mar 2001 17:38:44 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com "Clark L. Coleman" wrote in message news:99t5g6$m5r$1 AT murdoch DOT acc DOT Virginia DOT EDU... > > 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. INVD is a PL#0 instruction and must be invoked only by a OS software, not user applications. For more info check out intel manuals (specifically: Intel Architecture Software Developer's Manual Volume 3: System Programming NOTE: The Intel Architecture Software Developer's Manual consists of three volumes: Basic Architecture, Order Number 243190; Instruction Set Reference, Order Number 243191; and the System Programming Guide, Order Number 243192. ) Good Luck -- Alexei A. Frounze alexfru [AT] chat [DOT] ru http://alexfru.chat.ru http://members.xoom.com/alexfru/ http://welcome.to/pmode/