[PATCH v1 6/9] bsps/pc386: Fix Clock_isr for SMP
Jan Sommer
jan.sommer at dlr.de
Sun May 31 14:22:56 UTC 2020
- Do not forward Clock_isr through Clock_driver_support_at_tick as this
will cause every processor to send IPIs with Clock_isr therby creating
an infinie loop
- Instead the processor handling the clock interrupt causes all other
processors to call rtems_timecounter_tick to update their tick count
---
bsps/i386/pc386/clock/ckinit.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bsps/i386/pc386/clock/ckinit.c b/bsps/i386/pc386/clock/ckinit.c
index 2222d6e4b4..09afe73cde 100644
--- a/bsps/i386/pc386/clock/ckinit.c
+++ b/bsps/i386/pc386/clock/ckinit.c
@@ -73,7 +73,7 @@ extern volatile uint32_t Clock_driver_ticks;
Processor_mask targets; \
_Processor_mask_Assign(&targets, _SMP_Get_online_processors()); \
_Processor_mask_Clear(&targets, _SMP_Get_current_processor()); \
- _SMP_Multicast_action(&targets, Clock_isr, NULL); \
+ _SMP_Multicast_action(&targets, rtems_timecounter_tick, NULL); \
} while (0)
#endif
--
2.12.3
More information about the devel
mailing list