summaryrefslogtreecommitdiff
path: root/c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c')
-rw-r--r--c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c13
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;
}