summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKinsey Moore <kinsey.moore@oarcorp.com>2021-11-03 13:35:15 -0500
committerJoel Sherrill <joel@rtems.org>2021-11-10 10:51:40 -0600
commitef207e9ed5533c6ea8a3137d527f1fa86f513274 (patch)
treea268626376dcfcf22c0aa0562e6b882175de7286
parent19c101281a4371909901b5d6ed26cba7296ce21c (diff)
downloadrtems-ef207e9ed5533c6ea8a3137d527f1fa86f513274.tar.bz2
bsps/aarch64: Restore interrupt nesting
Fixing the debug mask flag broke nested interrupts. This restores that functionality.
-rw-r--r--bsps/aarch64/include/dev/irq/arm-gic-arch.h4
1 files changed, 3 insertions, 1 deletions
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);
}