From: John Hodge Date: Tue, 22 Jan 2013 09:26:02 +0000 (+0800) Subject: Merge branch 'master' of git://git.ucc.asn.au/tpg/acess2 X-Git-Tag: rel0.15~597^2~13 X-Git-Url: https://git.ucc.asn.au/?p=tpg%2Facess2.git;a=commitdiff_plain;h=b0da731b2d89b9dd58de2c98eaf6218a41a21920;hp=-c Merge branch 'master' of git://git.ucc.asn.au/tpg/acess2 --- b0da731b2d89b9dd58de2c98eaf6218a41a21920 diff --combined KernelLand/Kernel/debug.c index cb11f5f5,5e17c0ed..1cea00cf --- a/KernelLand/Kernel/debug.c +++ b/KernelLand/Kernel/debug.c @@@ -39,10 -39,7 +39,10 @@@ static void Debug_Putchar(char ch { Debug_PutCharDebug(ch); - if( !gbDebug_IsKPanic ) + if( gbDebug_IsKPanic ) + KernelPanic_PutChar(ch); + + if( gbDebug_IsKPanic < 2 ) { if(gbInPutChar) return ; gbInPutChar = 1; @@@ -50,6 -47,8 +50,6 @@@ VFS_Write(giDebug_KTerm, 1, &ch); gbInPutChar = 0; } - else - KernelPanic_PutChar(ch); if( gbSendNetworkDebug ) { @@@ -76,7 -75,7 +76,7 @@@ static void Debug_Puts(int UseKTerm, co IPStack_SendDebugText(Str); // Output to the kernel terminal - if( UseKTerm && !gbDebug_IsKPanic && giDebug_KTerm != -1) + if( UseKTerm && gbDebug_IsKPanic < 2 && giDebug_KTerm != -1) { if(gbInPutChar) return ; gbInPutChar = 1; @@@ -115,7 -114,7 +115,7 @@@ void Debug_KernelPanic(void #if LOCK_DEBUG_OUTPUT SHORTREL(&glDebug_Lock); #endif - gbDebug_IsKPanic = 1; + gbDebug_IsKPanic ++; KernelPanic_SetMode(); } @@@ -150,7 -149,7 +150,7 @@@ void Debug(const char *Fmt, ... va_list args; #if LOCK_DEBUG_OUTPUT - SHORTLOCK(&glDebug_Lock); + if(!CPU_HAS_LOCK(&glDebug_Lock)) SHORTLOCK(&glDebug_Lock); #endif Debug_Puts(0, "Debug: "); @@@ -228,7 -227,8 +228,8 @@@ void Panic(const char *Fmt, ... va_list args; #if LOCK_DEBUG_OUTPUT - SHORTLOCK(&glDebug_Lock); + if( !CPU_HAS_LOCK(&glDebug_Lock) ) + SHORTLOCK(&glDebug_Lock); #endif // And never SHORTREL