[rtems commit] bsps/aarch64: Restore interrupt nesting

Joel Sherrill joel at rtems.org
Wed Nov 10 16:47:26 UTC 2021


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

Author:    Kinsey Moore <kinsey.moore at oarcorp.com>
Date:      Wed Nov  3 13:35:15 2021 -0500

bsps/aarch64: Restore interrupt nesting

Fixing the debug mask flag broke nested interrupts. This restores that
functionality.

---

 bsps/aarch64/include/dev/irq/arm-gic-arch.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/bsps/aarch64/include/dev/irq/arm-gic-arch.h b/bsps/aarch64/include/dev/irq/arm-gic-arch.h
index 049a1c8..f1b6fdc 100644
--- a/bsps/aarch64/include/dev/irq/arm-gic-arch.h
+++ b/bsps/aarch64/include/dev/irq/arm-gic-arch.h
@@ -49,8 +49,10 @@ extern "C" {
 static inline void arm_interrupt_handler_dispatch(rtems_vector_number vector)
 {
   uint32_t interrupt_level = _CPU_ISR_Get_level();
-  _CPU_ISR_Set_level(1);
+  /* Enable interrupts for nesting */
+  _CPU_ISR_Set_level(0);
   bsp_interrupt_handler_dispatch(vector);
+  /* Restore interrupts to previous level */
   _CPU_ISR_Set_level(interrupt_level);
 }
 



More information about the vc mailing list