summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi/src/exinit.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-08-01 15:20:17 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-08-05 13:45:36 +0200
commitb4b309c55940da12cbf099ffe19bc74179505fda (patch)
tree716a05c54f35a421305ff14d7451f3805d55994f /cpukit/sapi/src/exinit.c
parentscore: Delete SYSTEM_STATE_BEGIN_MULTITASKING (diff)
downloadrtems-b4b309c55940da12cbf099ffe19bc74179505fda.tar.bz2
smp: Generalize _Thread_Start_multitasking()
Add context parameter to _Thread_Start_multitasking() and use this function in rtems_smp_secondary_cpu_initialize(). This avoids duplication of code. Fix missing floating point context initialization in rtems_smp_secondary_cpu_initialize(). Now performed via _Thread_Start_multitasking().
Diffstat (limited to 'cpukit/sapi/src/exinit.c')
-rw-r--r--cpukit/sapi/src/exinit.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/cpukit/sapi/src/exinit.c b/cpukit/sapi/src/exinit.c
index 7dad241d6c..bfcfa7ce40 100644
--- a/cpukit/sapi/src/exinit.c
+++ b/cpukit/sapi/src/exinit.c
@@ -219,11 +219,13 @@ void rtems_initialize_start_multitasking(void)
{
uint32_t status;
-#ifdef RTEMS_SMP
+ _System_state_Set( SYSTEM_STATE_UP );
+
+#if defined(RTEMS_SMP)
_SMP_Request_other_cores_to_perform_first_context_switch();
#endif
- _Thread_Start_multitasking();
+ _Thread_Start_multitasking( &_Thread_BSP_context );
/*******************************************************************
*******************************************************************