From 6b8f33c22d41488b88fcd35331867858d8f67763 Mon Sep 17 00:00:00 2001 From: trimill Date: Tue, 30 Jan 2024 10:19:33 -0500 Subject: added backtraces --- src/arch/amd64/panic.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/arch/amd64/panic.c') diff --git a/src/arch/amd64/panic.c b/src/arch/amd64/panic.c index c034b90..7f54f98 100644 --- a/src/arch/amd64/panic.c +++ b/src/arch/amd64/panic.c @@ -1,4 +1,5 @@ #include +#include #include "serial.h" #include "bindings.h" @@ -12,7 +13,19 @@ _Noreturn void _panic_impl(char *line, char *file, char *msg) { serial_out_str(line); serial_out_str(":\n"); serial_out_str(msg); - serial_out('\n'); + serial_out_str("\n\n"); + log_backtrace(); + while (1) { + halt(); + } +} + +_Noreturn void panic_interrupt(void *ip, void *bp, char *msg) { + cli(); + serial_out_str("\n\n!!! PANIC !!!\n"); + serial_out_str(msg); + serial_out_str("\n\n"); + log_backtrace_ex(ip, bp); while (1) { halt(); } -- cgit v1.2.3-freya