diff options
Diffstat (limited to 'c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c')
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c b/c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c index ec83e31a7a..ef9cd39128 100644 --- a/c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c +++ b/c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c @@ -86,16 +86,13 @@ void _CPU_SMP_Finalize_initialization( uint32_t cpu_count ) /* Nothing to do */ } -void _CPU_SMP_Send_interrupt(uint32_t target_processor_index) +void _CPU_SMP_Prepare_start_multitasking( void ) { - /* send interrupt to destination CPU */ - LEON3_IrqCtrl_Regs->force[target_processor_index] = 1 << LEON3_mp_irq; + _CPU_cache_invalidate_entire_instruction(); } -void _LEON3_Start_multitasking( - Context_Control *heir -) +void _CPU_SMP_Send_interrupt(uint32_t target_processor_index) { - _CPU_cache_invalidate_entire_instruction(); - _CPU_Context_Restart_self( heir ); + /* send interrupt to destination CPU */ + LEON3_IrqCtrl_Regs->force[target_processor_index] = 1 << LEON3_mp_irq; } |