#include #include #include #include #include #include "tty/color.h" #include "tty/term.h" __attribute__((noreturn)) void _panic_impl(char* msg, int line, char* file, ...) { int_disable(); va_list args; va_start(args, file); term_clear(); term_setpos(0, 0); term_setfg(VGA_LIGHT_RED); puts("!!!PANIC!!!\n"); term_setfg(VGA_WHITE); vprintk(msg, args); if (!term_newline()) putchar('\n'); printk("\nin %s at line %d\n", file, line); while(1) { halt(); } }