From a302ef42887a1a349d9918d5d1471bbea8f59c2b Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Wed, 10 Mar 2021 19:39:30 +0200 Subject: vmm: display segment map info --- src/idt/exception.cc | 8 ++++++++ src/idt/stubs.S | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 src/idt/exception.cc (limited to 'src/idt') diff --git a/src/idt/exception.cc b/src/idt/exception.cc new file mode 100644 index 0000000..efffd95 --- /dev/null +++ b/src/idt/exception.cc @@ -0,0 +1,8 @@ +#include +#include "cpu/registers.h" + +extern "C" void handle_exception(const cpu_state_t* r) { + printk("exception ", uhex{r->irq}, " error ", uhex{r->error}, "eip: ", uhex{r->eip}, '\n'); + + abort(); +}; diff --git a/src/idt/stubs.S b/src/idt/stubs.S index d4fb56f..568b0dc 100644 --- a/src/idt/stubs.S +++ b/src/idt/stubs.S @@ -73,7 +73,7 @@ exception_common: push %esp call handle_exception - mov %eax, %esp + add $4, %esp popa /* remove error code and irq from stack */ -- cgit v1.2.1