disable interrupts first, then do work. Use HLT also instead of busy wait

svn path=/trunk/; revision=837
This commit is contained in:
Phillip Susi 1999-12-08 06:34:25 +00:00
parent 915ff9328d
commit 904da6e474

View file

@ -6,6 +6,7 @@
* PROGRAMMER: David Welch (welch@cwcom.net) * PROGRAMMER: David Welch (welch@cwcom.net)
* UPDATE HISTORY: * UPDATE HISTORY:
* Created 22/05/98 * Created 22/05/98
* Phillip Susi: 12/8/99: Minor fix
*/ */
/* INCLUDES *****************************************************************/ /* INCLUDES *****************************************************************/
@ -66,13 +67,15 @@ VOID KeBugCheckEx(ULONG BugCheckCode,
* RETURNS: Doesn't * RETURNS: Doesn't
*/ */
{ {
__asm__("cli\n\t"); //PJS: disable interrupts first, then do the rest
DbgPrint("Bug detected (code %x param %x %x %x %x)\n",BugCheckCode, DbgPrint("Bug detected (code %x param %x %x %x %x)\n",BugCheckCode,
BugCheckParameter1,BugCheckParameter2,BugCheckParameter3, BugCheckParameter1,BugCheckParameter2,BugCheckParameter3,
BugCheckParameter4); BugCheckParameter4);
PsDumpThreads(); PsDumpThreads();
KeDumpStackFrames(0,64); KeDumpStackFrames(0,64);
__asm__("cli\n\t");
for(;;); for(;;)
__asm__("hlt\n\t"); //PJS: use HLT instruction, rather than busy wait
} }
VOID KeBugCheck(ULONG BugCheckCode) VOID KeBugCheck(ULONG BugCheckCode)