PR 1921/cpukit
	* score/inline/rtems/score/thread.inl,
	score/src/threadstartmultitasking.c: Allow CPU port to provide
	optional multitasking start and stop.
This commit is contained in:
Sebastian Huber
2011-09-24 12:45:55 +00:00
parent f40139bb9b
commit 86c847c1da
3 changed files with 15 additions and 0 deletions

View File

@@ -1,3 +1,10 @@
2011-09-24 Sebastian Huber <sebastian.huber@embedded-brains.de>
PR 1921/cpukit
* score/inline/rtems/score/thread.inl,
score/src/threadstartmultitasking.c: Allow CPU port to provide
optional multitasking start and stop.
2011-09-20 Petr Benes <benesp16@fel.cvut.cz> 2011-09-20 Petr Benes <benesp16@fel.cvut.cz>
PR 1916/testing PR 1916/testing

View File

@@ -111,6 +111,9 @@
RTEMS_INLINE_ROUTINE void _Thread_Stop_multitasking( void ) RTEMS_INLINE_ROUTINE void _Thread_Stop_multitasking( void )
{ {
#if defined(_CPU_Stop_multitasking)
_CPU_Stop_multitasking( &_Thread_BSP_context );
#else
/* /*
* This may look a bit of an odd but _Context_Restart_self is just * This may look a bit of an odd but _Context_Restart_self is just
* a very careful restore of a specific context which ensures that * a very careful restore of a specific context which ensures that
@@ -120,6 +123,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Stop_multitasking( void )
* saving the context. * saving the context.
*/ */
_Context_Restart_self( &_Thread_BSP_context ); _Context_Restart_self( &_Thread_BSP_context );
#endif
/*************************************************************** /***************************************************************
*************************************************************** ***************************************************************

View File

@@ -86,5 +86,9 @@ void _Thread_Start_multitasking( void )
_Context_Restore_fp( &_Thread_Heir->fp_context ); _Context_Restore_fp( &_Thread_Heir->fp_context );
#endif #endif
#if defined(_CPU_Start_multitasking)
_CPU_Start_multitasking( &_Thread_BSP_context, &_Thread_Heir->Registers );
#else
_Context_Switch( &_Thread_BSP_context, &_Thread_Heir->Registers ); _Context_Switch( &_Thread_BSP_context, &_Thread_Heir->Registers );
#endif
} }