diff options
Diffstat (limited to 'arch/riscv64')
| -rw-r--r-- | arch/riscv64/kernel/entry.S | 2 | ||||
| -rw-r--r-- | arch/riscv64/kernel/proc.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/arch/riscv64/kernel/entry.S b/arch/riscv64/kernel/entry.S index 815694b..1680a35 100644 --- a/arch/riscv64/kernel/entry.S +++ b/arch/riscv64/kernel/entry.S @@ -90,7 +90,7 @@ continue_trap: save_regs save_args - mv t5, a0 + mv a0, t5 call riscv_handle_interrupt j _load_context diff --git a/arch/riscv64/kernel/proc.c b/arch/riscv64/kernel/proc.c index 55ccbb8..0c43b3d 100644 --- a/arch/riscv64/kernel/proc.c +++ b/arch/riscv64/kernel/proc.c @@ -8,6 +8,7 @@ #include <kmi/tcb.h> #include <kmi/elf.h> +#include <kmi/bkl.h> #include <kmi/string.h> #include <arch/proc.h> @@ -27,6 +28,7 @@ void run_init(struct tcb *t, vm_t fdt, vm_t initrd) * Could be fixed with a separate pure asm run_init, but I guess this * works for now. */ + bkl_unlock(); __asm__ volatile ("mv sp, %0\n" "mv a0, %1\n" "mv a1, %2\n" |
