[rtems commit] bsps/riscv: Improve bsp_interrupt_vector_disable()

Sebastian Huber sebh at rtems.org
Thu Nov 10 07:44:05 UTC 2022


Module:    rtems
Branch:    master
Commit:    a52fc42454ed0a682bb13319e5b63404be996f3b
Changeset: http://git.rtems.org/rtems/commit/?id=a52fc42454ed0a682bb13319e5b63404be996f3b

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Wed Nov  9 08:20:52 2022 +0100

bsps/riscv: Improve bsp_interrupt_vector_disable()

Add support for hart-specific software and timer interrupts.

---

 bsps/riscv/riscv/irq/irq.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/bsps/riscv/riscv/irq/irq.c b/bsps/riscv/riscv/irq/irq.c
index 3bce33ae13..238cb7f62a 100644
--- a/bsps/riscv/riscv/irq/irq.c
+++ b/bsps/riscv/riscv/irq/irq.c
@@ -500,8 +500,16 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
     }
 
     rtems_interrupt_lock_release(&riscv_plic_lock, &lock_context);
+    return RTEMS_SUCCESSFUL;
+  }
+
+  if (vector == RISCV_INTERRUPT_VECTOR_TIMER) {
+    clear_csr(mie, MIP_MTIP);
+    return RTEMS_SUCCESSFUL;
   }
 
+  _Assert(vector == RISCV_INTERRUPT_VECTOR_SOFTWARE);
+  clear_csr(mie, MIP_MSIP);
   return RTEMS_SUCCESSFUL;
 }
 



More information about the vc mailing list