summaryrefslogtreecommitdiff
path: root/src/arch/amd64/idt.c
diff options
context:
space:
mode:
authortrimill <trimill@trimillxyz.org>2024-01-30 10:19:33 -0500
committertrimill <trimill@trimillxyz.org>2024-01-30 10:19:33 -0500
commit6b8f33c22d41488b88fcd35331867858d8f67763 (patch)
tree4a62ac9c6136a9e9b94cab0b6838add70accfe31 /src/arch/amd64/idt.c
parentrefactor, improve exception message (diff)
downloadcorn-6b8f33c22d41488b88fcd35331867858d8f67763.tar.gz
corn-6b8f33c22d41488b88fcd35331867858d8f67763.tar.bz2
corn-6b8f33c22d41488b88fcd35331867858d8f67763.zip
added backtraces
Diffstat (limited to 'src/arch/amd64/idt.c')
-rw-r--r--src/arch/amd64/idt.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/arch/amd64/idt.c b/src/arch/amd64/idt.c
index 83b792c..b4a11bb 100644
--- a/src/arch/amd64/idt.c
+++ b/src/arch/amd64/idt.c
@@ -4,6 +4,7 @@
#include <lib.h>
#include <serial.h>
+#include "backtrace.h"
#include "idt.h"
#include "pic.h"
@@ -107,7 +108,7 @@ char *EXCEPTIONS[] = {
"0x1F Reserved",
};
-void idt_exception_handler(uint64_t exception, uint64_t code) {
+void idt_exception_handler(uint64_t exception, uint64_t code, void *rip, void *rbp) {
// TODO don't just panic
char buf[24];
char msg[256] = "Exception ";
@@ -127,7 +128,7 @@ void idt_exception_handler(uint64_t exception, uint64_t code) {
strcat(msg, buf);
}
- panic(msg);
+ panic_interrupt(rip, rbp, msg);
}
void idt_pic_eoi(uint8_t exception) {