# HG changeset patch # User anatofuz # Date 1580975810 -32400 # Node ID 561eedeb9a99ef108f0bfafbe140cb6ae672ff1a # Parent cd9092628a633b46db7c3756e083ab488684f54c ommit static variable at console diff -r cd9092628a63 -r 561eedeb9a99 src/console.cbc --- a/src/console.cbc Thu Feb 06 16:43:26 2020 +0900 +++ b/src/console.cbc Thu Feb 06 16:56:50 2020 +0900 @@ -20,9 +20,9 @@ static void consputc (int); -static int panicked = 0; +int panicked = 0; -static struct { +struct { struct spinlock lock; int locking; } cons; diff -r cd9092628a63 -r 561eedeb9a99 src/impl/kernel_error.cbc --- a/src/impl/kernel_error.cbc Thu Feb 06 16:43:26 2020 +0900 +++ b/src/impl/kernel_error.cbc Thu Feb 06 16:56:50 2020 +0900 @@ -30,12 +30,15 @@ __code panicKernelError(struct KernelError* error_gear, char* msg) { extern struct cpu* cpu; + extern struct { struct spinlock lock; int locking; } cons; + extern int panicked; + cli(); cons.locking = 0; cprintf("cpu%d: panic: ", cpu->id); - show_callstk(s); + show_callstk(msg); panicked = 1; // freeze other CPU goto infinity_loopKernelError(error_gear, error_gear->inifinity_loop);