summaryrefslogtreecommitdiff
path: root/src/arch/amd64/panic.c
blob: c034b9022056412c0c45a41c34a6a0d23bab58b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <panic.h>

#include "serial.h"
#include "bindings.h"

_Noreturn void _panic_impl(char *line, char *file, char *msg) {
	cli();
	serial_out_str("\n\n!!! PANIC !!!\n");
	serial_out_str("In file ");
	serial_out_str(file);
	serial_out_str(" at line ");
	serial_out_str(line);
	serial_out_str(":\n");
	serial_out_str(msg);
	serial_out('\n');
	while (1) {
		halt();
	}
}