summaryrefslogtreecommitdiff
path: root/src/arch/amd64/idt.c
diff options
context:
space:
mode:
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) {