diff --git a/kernel-src/lib/panic.c b/kernel-src/lib/panic.c index 4f70af50..c7ceeaf1 100644 --- a/kernel-src/lib/panic.c +++ b/kernel-src/lib/panic.c @@ -1,9 +1,11 @@ #include #include +#include #include #include __attribute__((noreturn)) void _panic(char *msg, context_t *ctx) { + interrupt_set(false); printf("cpu%lu: Oops.\n", current_cpu_id()); if (msg) @@ -12,6 +14,6 @@ __attribute__((noreturn)) void _panic(char *msg, context_t *ctx) { if (ctx) PRINT_CTX(ctx); - interrupt_set(false); + arch_smp_haltallothers(); for (;;); }