diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2021-02-28 14:53:13 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2021-02-28 14:53:13 +0200 |
commit | 09cf6b4ca8799990b9c01db04c5f4ffbef798773 (patch) | |
tree | d660da543cccbfad03d637b34815017d0e477e47 /libk/stdlib | |
parent | Enable interrupts (diff) | |
download | kernel.cpp-09cf6b4ca8799990b9c01db04c5f4ffbef798773.tar.xz |
Fix interrupts causing exception 0xd
Diffstat (limited to 'libk/stdlib')
-rw-r--r-- | libk/stdlib/abort.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/libk/stdlib/abort.cc b/libk/stdlib/abort.cc index 56ca7ee..41bf991 100644 --- a/libk/stdlib/abort.cc +++ b/libk/stdlib/abort.cc @@ -8,8 +8,13 @@ void abort() { */ asm volatile("cli"); - while (true) { - asm volatile("hlt"); - } + while (true) asm volatile("hlt"); __builtin_unreachable(); } + +extern "C" void print_exception(uint8_t irq) { + printk("exception ", uhex{irq}, '\n'); + asm volatile("cli"); + while (true) asm volatile("hlt"); + __builtin_unreachable(); +}; |