From 44a73ecab6e91519627786a5101cd4f1a2f2b0d7 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Wed, 30 Oct 2024 00:57:33 +0200 Subject: most of the way to passing tests --- arch/riscv64/kernel/except.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 arch/riscv64/kernel/except.c (limited to 'arch/riscv64/kernel/except.c') diff --git a/arch/riscv64/kernel/except.c b/arch/riscv64/kernel/except.c new file mode 100644 index 0000000..e46b584 --- /dev/null +++ b/arch/riscv64/kernel/except.c @@ -0,0 +1,21 @@ +#include +#include +#include +#include + +void riscv_handle_exception(void *pc, void *addr, unsigned long id) +{ + switch (id) { + case 12: + case 13: + case 15: { + bkl_lock(); + handle_pagefault((vm_t)addr); + bkl_unlock(); + break; + } + + default: + unhandled_panic(pc, addr, id); + } +} -- cgit v1.3