summaryrefslogtreecommitdiff
path: root/src/arch/amd64/panic.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/amd64/panic.c')
-rw-r--r--src/arch/amd64/panic.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/arch/amd64/panic.c b/src/arch/amd64/panic.c
new file mode 100644
index 0000000..227ecce
--- /dev/null
+++ b/src/arch/amd64/panic.c
@@ -0,0 +1,18 @@
+#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(msg);
+ serial_out_str("\nin file ");
+ serial_out_str(file);
+ serial_out_str(" at line ");
+ serial_out_str(line);
+ serial_out('\n');
+ while (1) {
+ halt();
+ }
+}