aboutsummaryrefslogtreecommitdiff
path: root/libk
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2021-02-28 14:53:13 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2021-02-28 14:53:13 +0200
commit09cf6b4ca8799990b9c01db04c5f4ffbef798773 (patch)
treed660da543cccbfad03d637b34815017d0e477e47 /libk
parentEnable interrupts (diff)
downloadkernel.cpp-09cf6b4ca8799990b9c01db04c5f4ffbef798773.tar.xz
Fix interrupts causing exception 0xd
Diffstat (limited to 'libk')
-rw-r--r--libk/stdlib/abort.cc11
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();
+};