[rtems commit] bsps/pc386: Fix Clock_isr for SMP
Chris Johns
chrisj at rtems.org
Wed Jun 17 01:55:03 UTC 2020
Module: rtems
Branch: master
Commit: c954003fa05d462aedd6cae1c36395d3fba25d60
Changeset: http://git.rtems.org/rtems/commit/?id=c954003fa05d462aedd6cae1c36395d3fba25d60
Author: Jan Sommer <jan.sommer at dlr.de>
Date: Sun May 31 16:22:56 2020 +0200
bsps/pc386: Fix Clock_isr for SMP
- 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 2222d6e..09afe73 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
More information about the vc
mailing list