Rename _Scheduler_simple_smp_Start_idle() to _Scheduler_SMP_Start_idle(). --- cpukit/score/Makefile.am | 1 + .../score/include/rtems/score/schedulersimplesmp.h | 7 +--- cpukit/score/include/rtems/score/schedulersmp.h | 7 +++ .../score/include/rtems/score/schedulersmpimpl.h | 2 - cpukit/score/src/schedulersimplesmp.c | 12 ------ cpukit/score/src/schedulersmpstartidle.c | 40 ++++++++++++++++++++ 6 files changed, 49 insertions(+), 20 deletions(-) create mode 100644 cpukit/score/src/schedulersmpstartidle.c
diff --git a/cpukit/score/Makefile.am b/cpukit/score/Makefile.am index 5136d81..c5af9c7 100644 --- a/cpukit/score/Makefile.am +++ b/cpukit/score/Makefile.am @@ -120,6 +120,7 @@ endif if HAS_SMP libscore_a_SOURCES += src/schedulersimplesmp.c +libscore_a_SOURCES += src/schedulersmpstartidle.c libscore_a_SOURCES += src/smp.c endif diff --git a/cpukit/score/include/rtems/score/schedulersimplesmp.h b/cpukit/score/include/rtems/score/schedulersimplesmp.h index 5329610..f62068a 100644 --- a/cpukit/score/include/rtems/score/schedulersimplesmp.h +++ b/cpukit/score/include/rtems/score/schedulersimplesmp.h @@ -68,7 +68,7 @@ extern "C" { _Scheduler_priority_Priority_compare, \ _Scheduler_default_Release_job, \ _Scheduler_default_Tick, \ - _Scheduler_simple_smp_Start_idle \ + _Scheduler_SMP_Start_idle \ } void _Scheduler_simple_smp_Initialize( void ); @@ -83,11 +83,6 @@ void _Scheduler_simple_smp_Yield( Thread_Control *thread ); void _Scheduler_simple_smp_Schedule( Thread_Control *thread ); -void _Scheduler_simple_smp_Start_idle( - Thread_Control *thread, - Per_CPU_Control *cpu -); - /** @} */ #ifdef __cplusplus diff --git a/cpukit/score/include/rtems/score/schedulersmp.h b/cpukit/score/include/rtems/score/schedulersmp.h index 8b649b7..457af22 100644 --- a/cpukit/score/include/rtems/score/schedulersmp.h +++ b/cpukit/score/include/rtems/score/schedulersmp.h @@ -24,6 +24,8 @@ #define _RTEMS_SCORE_SCHEDULERSMP_H #include <rtems/score/chain.h> +#include <rtems/score/percpu.h> +#include <rtems/score/thread.h> #ifdef __cplusplus extern "C" { @@ -42,6 +44,11 @@ typedef struct { Chain_Control ready[ 1 ]; } Scheduler_SMP_Control; +void _Scheduler_SMP_Start_idle( + Thread_Control *thread, + Per_CPU_Control *cpu +); + /** @} */ #ifdef __cplusplus diff --git a/cpukit/score/include/rtems/score/schedulersmpimpl.h b/cpukit/score/include/rtems/score/schedulersmpimpl.h index 7736d2b..7e123e2 100644 --- a/cpukit/score/include/rtems/score/schedulersmpimpl.h +++ b/cpukit/score/include/rtems/score/schedulersmpimpl.h @@ -25,8 +25,6 @@ #include <rtems/score/schedulersmp.h> #include <rtems/score/scheduler.h> -#include <rtems/score/thread.h> -#include <rtems/score/percpu.h> #ifdef __cplusplus extern "C" { diff --git a/cpukit/score/src/schedulersimplesmp.c b/cpukit/score/src/schedulersimplesmp.c index 0905723..9e4c9d9 100644 --- a/cpukit/score/src/schedulersimplesmp.c +++ b/cpukit/score/src/schedulersimplesmp.c @@ -182,15 +182,3 @@ void _Scheduler_simple_smp_Schedule( Thread_Control *thread ) { ( void ) thread; } - -void _Scheduler_simple_smp_Start_idle( - Thread_Control *thread, - Per_CPU_Control *cpu -) -{ - Scheduler_SMP_Control *self = _Scheduler_SMP_Instance(); - - thread->is_scheduled = true; - thread->cpu = cpu; - _Chain_Append_unprotected( &self->scheduled, &thread->Object.Node ); -} diff --git a/cpukit/score/src/schedulersmpstartidle.c b/cpukit/score/src/schedulersmpstartidle.c new file mode 100644 index 0000000..4b6df5e --- /dev/null +++ b/cpukit/score/src/schedulersmpstartidle.c @@ -0,0 +1,40 @@ +/** + * @file + * + * @brief SMP Scheduler Start Idle Operation + * + * @ingroup ScoreSchedulerSMP + */ + +/* + * Copyright (c) 2013 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Dornierstr. 4 + * 82178 Puchheim + * Germany + * <rt...@embedded-brains.de> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#if HAVE_CONFIG_H + #include "config.h" +#endif + +#include <rtems/score/schedulersmpimpl.h> +#include <rtems/score/chainimpl.h> + +void _Scheduler_SMP_Start_idle( + Thread_Control *thread, + Per_CPU_Control *cpu +) +{ + Scheduler_SMP_Control *self = _Scheduler_SMP_Instance(); + + thread->is_scheduled = true; + thread->cpu = cpu; + _Chain_Append_unprotected( &self->scheduled, &thread->Object.Node ); +} -- 1.7.7 _______________________________________________ rtems-devel mailing list rtems-devel@rtems.org http://www.rtems.org/mailman/listinfo/rtems-devel