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/powerpc/qoriq/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/powerpc/qoriq/start/bspsmp.c')
-rw-r--r-- | bsps/powerpc/qoriq/start/bspsmp.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/bsps/powerpc/qoriq/start/bspsmp.c b/bsps/powerpc/qoriq/start/bspsmp.c index 048275b1fc..2b95f943dd 100644 --- a/bsps/powerpc/qoriq/start/bspsmp.c +++ b/bsps/powerpc/qoriq/start/bspsmp.c @@ -44,10 +44,8 @@ static bool is_started_by_u_boot(uint32_t cpu_index) return cpu_index % QORIQ_THREAD_COUNT == 0; } -void qoriq_start_thread(void) +void qoriq_start_thread(Per_CPU_Control *cpu_self) { - const Per_CPU_Control *cpu_self = _Per_CPU_Get(); - ppc_exc_initialize_interrupt_stack( (uintptr_t) cpu_self->interrupt_stack_low, rtems_configuration_get_interrupt_stack_size() @@ -85,14 +83,14 @@ static void start_thread_if_necessary(uint32_t cpu_index_self) #endif } -void bsp_start_on_secondary_processor(void) +void bsp_start_on_secondary_processor(Per_CPU_Control *cpu_self) { - uint32_t cpu_index_self = _SMP_Get_current_processor(); - const Per_CPU_Control *cpu_self = _Per_CPU_Get_by_index(cpu_index_self); + uint32_t cpu_index_self; qoriq_initialize_exceptions(cpu_self->interrupt_stack_low); bsp_interrupt_facility_initialize(); + cpu_index_self = _Per_CPU_Get_index(cpu_self); start_thread_if_necessary(cpu_index_self); _SMP_Start_multitasking_on_secondary_processor(); |