diff options
Diffstat (limited to 'bsps/arm/shared/clock/clock-generic-timer.c')
-rw-r--r-- | bsps/arm/shared/clock/clock-generic-timer.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/bsps/arm/shared/clock/clock-generic-timer.c b/bsps/arm/shared/clock/clock-generic-timer.c index 2d17ada0b7..e851e02104 100644 --- a/bsps/arm/shared/clock/clock-generic-timer.c +++ b/bsps/arm/shared/clock/clock-generic-timer.c @@ -122,21 +122,20 @@ static void arm_gt_clock_gt_init(uint64_t cval) #if defined(RTEMS_SMP) && !defined(CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR) static void arm_gt_clock_secondary_action(void *arg) { - uint64_t *cval; + if (!_Per_CPU_Is_boot_processor(_Per_CPU_Get())) { + uint64_t *cval; - cval = arg; - arm_gt_clock_gt_init(*cval); - bsp_interrupt_vector_enable(arm_gt_clock_instance.irq); + cval = arg; + arm_gt_clock_gt_init(*cval); + bsp_interrupt_vector_enable(arm_gt_clock_instance.irq); + } } #endif static void arm_gt_clock_secondary_initialization(uint64_t cval) { #if defined(RTEMS_SMP) && !defined(CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR) - _SMP_Before_multitasking_action_broadcast( - arm_gt_clock_secondary_action, - &cval - ); + _SMP_Multicast_action(NULL, arm_gt_clock_secondary_action, &cval); #endif } |