]> git.dujemihanovic.xyz Git - nameless-os.git/blob - include/arch/x86/panic.h
c66d6c7b06e9c3ad84308653d96c53d951a021dd
[nameless-os.git] / include / arch / x86 / panic.h
1 #ifndef PANIC_H
2 #define PANIC_H
3
4 void halt()
5 {
6 asm("cli":);
7 loop:
8 asm("hlt":);
9 goto loop;
10 }
11
12 #define PANIC(msg) \
13 kprint("PANIC (", VGA_COLOR_BRIGHT_RED);\
14 kprint(msg, VGA_COLOR_BRIGHT_RED);\
15 kprint(") in ", VGA_COLOR_BRIGHT_RED);\
16 kprint(__FILE__, VGA_COLOR_BRIGHT_RED);\
17 kprintc(':', VGA_COLOR_BRIGHT_RED);\
18 kprintdec(__LINE__, VGA_COLOR_BRIGHT_RED);\
19 kprintc(':', VGA_COLOR_BRIGHT_RED);\
20 kprint(__func__, VGA_COLOR_BRIGHT_RED);\
21 kprint("()", VGA_COLOR_BRIGHT_RED);\
22 halt();
23
24 #endif