Need to enable interrupts while processing supervisor traps as well.
authorkettenis <kettenis@openbsd.org>
Fri, 18 Jun 2021 21:05:16 +0000 (21:05 +0000)
committerkettenis <kettenis@openbsd.org>
Fri, 18 Jun 2021 21:05:16 +0000 (21:05 +0000)
yikes deraadt@, ok mlarkin@

sys/arch/riscv64/riscv64/trap.c

index 3b57620..516a9fa 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: trap.c,v 1.13 2021/05/20 04:22:33 drahn Exp $ */
+/*     $OpenBSD: trap.c,v 1.14 2021/06/18 21:05:16 kettenis Exp $      */
 
 /*
  * Copyright (c) 2020 Shivam Waghela <shivamwaghela@gmail.com>
@@ -77,6 +77,8 @@ do_trap_supervisor(struct trapframe *frame)
                return;
        }
 
+       intr_enable();
+
        exception = (frame->tf_scause & EXCP_MASK);
        switch (exception) {
        case EXCP_FAULT_LOAD: