[PATCH] bsps/aarch64: Restore interrupt nesting

Kinsey Moore kinsey.moore at oarcorp.com
Thu Nov 4 19:24:45 UTC 2021


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 049a1c8555..f1b6fdc03d 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);
 }
 
-- 
2.30.2



More information about the devel mailing list