blob: 48e65f52acf15aed4dac101d18bb20aea8ba51f4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include <panic.h>
#include <backtrace.h>
#include <stdarg.h>
#include <lib.h>
#include "bindings.h"
_Noreturn void _panic_impl(char *line, char *file, char *format, ...) {
cli();
va_list list;
va_start(list, format);
kprintf("\n\n!!! PANIC !!!\n");
kprintf("In file %s at line %s:\n", file, line);
kvprintf(format, list);
kprintf("\n\n");
log_backtrace();
while (1) {
halt();
}
}
|