Files
Astral/kernel-src/lib/panic.c
2025-09-18 20:24:45 -03:00

22 lines
385 B
C

#include <panic.h>
#include <arch/cpu.h>
#include <arch/smp.h>
#include <printf.h>
#include <kernel/interrupt.h>
__attribute__((noreturn)) void _panic(char *msg, context_t *ctx) {
interrupt_set(false);
if (arch_smp_cpusawake > 1)
arch_smp_haltallothers();
printf("cpu%lu: Oops.\n", current_cpu_id());
if (msg)
printf("%s\n", msg);
if (ctx)
PRINT_CTX(ctx);
for (;;);
}