X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Fdebug.c;h=2444cb1604fc568c4f12be8905fe5b1684c1a6a0;hb=b2144260ceb723742e8f8b60ae94ad10c3be63ca;hp=cb11f5f5fb9dcf530dff561aaf96a6c281ae18f9;hpb=a01b96ccf4ec884e5b894d08a819a37ea3f5f749;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/debug.c b/KernelLand/Kernel/debug.c index cb11f5f5..2444cb16 100644 --- a/KernelLand/Kernel/debug.c +++ b/KernelLand/Kernel/debug.c @@ -11,6 +11,7 @@ // === IMPORTS === extern void Threads_Dump(void); +extern void Heap_Dump(void); extern void KernelPanic_SetMode(void); extern void KernelPanic_PutChar(char Ch); extern void IPStack_SendDebugText(const char *Text); @@ -112,9 +113,13 @@ void Debug_FmtS(int bUseKTerm, const char *format, ...) void Debug_KernelPanic(void) { - #if LOCK_DEBUG_OUTPUT - SHORTREL(&glDebug_Lock); - #endif + if( !gbDebug_IsKPanic ) + { + #if LOCK_DEBUG_OUTPUT + SHORTREL(&glDebug_Lock); + #endif + VT_SetTerminal(7); + } gbDebug_IsKPanic ++; KernelPanic_SetMode(); } @@ -150,7 +155,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 +233,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