From 477259c4ed32965047ff942c1d068a2a9dd7bf52 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 12 Jun 2013 17:06:51 +0200 Subject: score: Simplify _Thread_Create_idle() --- cpukit/score/src/threadcreateidle.c | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/cpukit/score/src/threadcreateidle.c b/cpukit/score/src/threadcreateidle.c index f90db795bf..7ad24cfdb3 100644 --- a/cpukit/score/src/threadcreateidle.c +++ b/cpukit/score/src/threadcreateidle.c @@ -25,27 +25,20 @@ #include #include #include +#include #include #include #include #include #include #include -#if defined(RTEMS_SMP) - #include -#endif -static inline void _Thread_Create_idle_helper( - uint32_t name_u32, - int cpu -) +static void _Thread_Create_idle_for_cpu( Per_CPU_Control *per_cpu ) { - Per_CPU_Control *per_cpu; - Objects_Name name; - Thread_Control *idle; + Objects_Name name; + Thread_Control *idle; - per_cpu = &_Per_CPU_Information[ cpu ]; - name.name_u32 = name_u32; + name.name_u32 = _Objects_Build_name( 'I', 'D', 'L', 'E' ); /* * The entire workspace is zeroed during its initialization. Thus, all @@ -86,16 +79,12 @@ static inline void _Thread_Create_idle_helper( void _Thread_Create_idle( void ) { - #if defined(RTEMS_SMP) - int cpu; + uint32_t processor_count = _SMP_Get_processor_count(); + uint32_t processor; + + for ( processor = 0 ; processor < processor_count ; ++processor ) { + Per_CPU_Control *per_cpu = &_Per_CPU_Information[ processor ]; - for ( cpu=0 ; cpu < _SMP_Get_processor_count() ; cpu++ ) { - _Thread_Create_idle_helper( - _Objects_Build_name( 'I', 'D', 'L', 'E' ), - cpu - ); - } - #else - _Thread_Create_idle_helper(_Objects_Build_name( 'I', 'D', 'L', 'E' ), 0); - #endif + _Thread_Create_idle_for_cpu( per_cpu ); + } } -- cgit v1.2.3