diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-12-10 15:30:41 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-02-03 10:00:56 +0100 |
commit | 190169fee2f267f5e32813eb6fd3e9b51430effc (patch) | |
tree | e9cbaec67b5d37bba38a1336d68cdd76d784bc0e /cpukit | |
parent | Optional POSIX Spinlock initialization (diff) | |
download | rtems-190169fee2f267f5e32813eb6fd3e9b51430effc.tar.bz2 |
Optional CPU Set Handler initialization
Update #2408.
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/sapi/src/exinit.c | 3 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/cpusetimpl.h | 12 | ||||
-rw-r--r-- | cpukit/score/include/rtems/sysinit.h | 1 | ||||
-rw-r--r-- | cpukit/score/src/cpuset.c | 9 |
4 files changed, 9 insertions, 16 deletions
diff --git a/cpukit/sapi/src/exinit.c b/cpukit/sapi/src/exinit.c index dd5e2c90a0..edd8a5c55f 100644 --- a/cpukit/sapi/src/exinit.c +++ b/cpukit/sapi/src/exinit.c @@ -37,7 +37,6 @@ #include <rtems/score/apiext.h> #include <rtems/score/apimutex.h> #include <rtems/score/copyrt.h> -#include <rtems/score/cpusetimpl.h> #include <rtems/score/heap.h> #include <rtems/score/interr.h> #include <rtems/score/isr.h> @@ -130,8 +129,6 @@ static void rtems_initialize_data_structures(void) _SMP_Handler_initialize(); - _CPU_set_Handler_initialization(); - /* MANAGERS */ _POSIX_API_Initialize(); diff --git a/cpukit/score/include/rtems/score/cpusetimpl.h b/cpukit/score/include/rtems/score/cpusetimpl.h index 226c3a1806..f9a0f0fdfa 100644 --- a/cpukit/score/include/rtems/score/cpusetimpl.h +++ b/cpukit/score/include/rtems/score/cpusetimpl.h @@ -123,18 +123,6 @@ static inline void _CPU_set_Set( } #endif -/** - * @brief Initialize the CPU Set Handler - * - * This routine validates a cpuset sets at least one valid cpu and that - * it does not set any invalid cpus. - */ -#if __RTEMS_HAVE_SYS_CPUSET_H__ && defined( RTEMS_SMP ) -void _CPU_set_Handler_initialization(void); -#else -#define _CPU_set_Handler_initialization() do { } while ( 0 ) -#endif - /**@}*/ #ifdef __cplusplus diff --git a/cpukit/score/include/rtems/sysinit.h b/cpukit/score/include/rtems/sysinit.h index 8f187648b4..39e551f416 100644 --- a/cpukit/score/include/rtems/sysinit.h +++ b/cpukit/score/include/rtems/sysinit.h @@ -30,6 +30,7 @@ extern "C" { #define RTEMS_SYSINIT_BSP_START 000200 #define RTEMS_SYSINIT_INITIAL_EXTENSIONS 000300 #define RTEMS_SYSINIT_DATA_STRUCTURES 000301 +#define RTEMS_SYSINIT_CPU_SET 00030d #define RTEMS_SYSINIT_USER_EXTENSIONS 000320 #define RTEMS_SYSINIT_CLASSIC_TASKS 000340 #define RTEMS_SYSINIT_CLASSIC_TIMER 000341 diff --git a/cpukit/score/src/cpuset.c b/cpukit/score/src/cpuset.c index ca355c9681..deb9e436f3 100644 --- a/cpukit/score/src/cpuset.c +++ b/cpukit/score/src/cpuset.c @@ -21,6 +21,7 @@ #ifdef __RTEMS_HAVE_SYS_CPUSET_H__ #include <sys/cpuset.h> +#include <rtems/sysinit.h> #include <rtems/score/cpusetimpl.h> #include <rtems/score/assert.h> #include <rtems/score/percpu.h> @@ -30,7 +31,7 @@ static CPU_set_Control cpuset_default; /* * _CPU_set_Handler_initialization */ -void _CPU_set_Handler_initialization() +static void _CPU_set_Handler_initialization() { uint32_t cpu_count; uint32_t cpu_index; @@ -50,6 +51,12 @@ void _CPU_set_Handler_initialization() CPU_SET_S( (int) cpu_index, cpuset_default.setsize, cpuset_default.set ); } +RTEMS_SYSINIT_ITEM( + _CPU_set_Handler_initialization, + RTEMS_SYSINIT_CPU_SET, + RTEMS_SYSINIT_ORDER_MIDDLE +); + /** * _CPU_set_Is_valid * |