From c954003fa05d462aedd6cae1c36395d3fba25d60 Mon Sep 17 00:00:00 2001 From: Jan Sommer Date: Sun, 31 May 2020 16:22:56 +0200 Subject: 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(-) (limited to 'bsps/i386') 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 -- cgit v1.2.3