diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-07-24 10:50:39 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-07-25 10:07:42 +0200 |
commit | 4678d1a8b0e74a12809122ef071324c99e78d7ff (patch) | |
tree | 3236b6cfe13d9b3865715aebd6b07baa2fb2abfa /bsps/sparc/leon3/start/bspsmp.c | |
parent | score: _SMP_Inter_processor_interrupt_handler() (diff) | |
download | rtems-4678d1a8b0e74a12809122ef071324c99e78d7ff.tar.bz2 |
bsps: bsp_start_on_secondary_processor()
Pass current processor control as first parameter in
bsp_start_on_secondary_processor() and qoriq_start_thread() to make
dependency more explicit.
Diffstat (limited to 'bsps/sparc/leon3/start/bspsmp.c')
-rw-r--r-- | bsps/sparc/leon3/start/bspsmp.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/bsps/sparc/leon3/start/bspsmp.c b/bsps/sparc/leon3/start/bspsmp.c index 1ef6e8eb3b..5b939fc765 100644 --- a/bsps/sparc/leon3/start/bspsmp.c +++ b/bsps/sparc/leon3/start/bspsmp.c @@ -35,9 +35,9 @@ static rtems_isr bsp_inter_processor_interrupt( _SMP_Inter_processor_interrupt_handler(_Per_CPU_Get()); } -void bsp_start_on_secondary_processor() +void bsp_start_on_secondary_processor(Per_CPU_Control *cpu_self) { - uint32_t cpu_index_self = _CPU_SMP_Get_current_processor(); + uint32_t cpu_index_self; /* * If data cache snooping is not enabled we terminate using BSP_fatal_exit() @@ -49,6 +49,7 @@ void bsp_start_on_secondary_processor() BSP_fatal_exit( LEON3_FATAL_INVALID_CACHE_CONFIG_SECONDARY_PROCESSOR ); /* Unmask IPI interrupts at Interrupt controller for this CPU */ + cpu_index_self = _Per_CPU_Get_index(cpu_self); LEON3_IrqCtrl_Regs->mask[cpu_index_self] |= 1U << LEON3_mp_irq; _SMP_Start_multitasking_on_secondary_processor(); |