diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-12-10 11:40:26 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-02-03 10:00:51 +0100 |
commit | 92bb345374ea3982b40b10e7d50ecfc1cb4d2ed3 (patch) | |
tree | ec676c079a13b699e7dd28933b26c2a533410e9a /cpukit | |
parent | Optional Initial Extensions initialization (diff) | |
download | rtems-92bb345374ea3982b40b10e7d50ecfc1cb4d2ed3.tar.bz2 |
Optional Extensions initialization
Update #2408.
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/sapi/Makefile.am | 2 | ||||
-rw-r--r-- | cpukit/sapi/include/rtems/extensionimpl.h | 13 | ||||
-rw-r--r-- | cpukit/sapi/src/exinit.c | 2 | ||||
-rw-r--r-- | cpukit/sapi/src/extension.c | 16 | ||||
-rw-r--r-- | cpukit/sapi/src/extensiondata.c | 25 | ||||
-rw-r--r-- | cpukit/score/include/rtems/sysinit.h | 1 |
6 files changed, 14 insertions, 45 deletions
diff --git a/cpukit/sapi/Makefile.am b/cpukit/sapi/Makefile.am index ca7b421464..e930a4ca95 100644 --- a/cpukit/sapi/Makefile.am +++ b/cpukit/sapi/Makefile.am @@ -31,7 +31,7 @@ libsapi_a_SOURCES = src/extension.c src/extensioncreate.c \ src/exshutdown.c src/io.c src/ioclose.c src/iocontrol.c src/iodata.c \ src/ioinitialize.c src/ioopen.c src/ioread.c src/ioregisterdriver.c \ src/iounregisterdriver.c src/iowrite.c src/posixapi.c \ - src/rtemsapi.c src/extensiondata.c src/getversionstring.c \ + src/rtemsapi.c src/getversionstring.c \ src/chainappendnotify.c src/chaingetnotify.c src/chaingetwait.c \ src/chainprependnotify.c src/rbheap.c src/interrtext.c \ src/fatal2.c src/fatalsrctext.c diff --git a/cpukit/sapi/include/rtems/extensionimpl.h b/cpukit/sapi/include/rtems/extensionimpl.h index 487bdb4024..e26731cbcc 100644 --- a/cpukit/sapi/include/rtems/extensionimpl.h +++ b/cpukit/sapi/include/rtems/extensionimpl.h @@ -25,18 +25,7 @@ extern "C" { #endif -#ifndef SAPI_EXT_EXTERN -#define SAPI_EXT_EXTERN extern -#endif - -SAPI_EXT_EXTERN Objects_Information _Extension_Information; - -/** - * @brief Initialize extension manager. - * - * This routine initializes all extension manager related data structures. - */ -void _Extension_Manager_initialization(void); +extern Objects_Information _Extension_Information; RTEMS_INLINE_ROUTINE Extension_Control *_Extension_Allocate( void ) { diff --git a/cpukit/sapi/src/exinit.c b/cpukit/sapi/src/exinit.c index 685197df90..4b04b5f252 100644 --- a/cpukit/sapi/src/exinit.c +++ b/cpukit/sapi/src/exinit.c @@ -137,8 +137,6 @@ static void rtems_initialize_data_structures(void) _RTEMS_API_Initialize(); - _Extension_Manager_initialization(); - _POSIX_API_Initialize(); } diff --git a/cpukit/sapi/src/extension.c b/cpukit/sapi/src/extension.c index 100f194851..337885070f 100644 --- a/cpukit/sapi/src/extension.c +++ b/cpukit/sapi/src/extension.c @@ -21,13 +21,13 @@ #include "config.h" #endif -#include <rtems/system.h> -#include <rtems/config.h> -#include <rtems/rtems/support.h> -#include <rtems/score/thread.h> #include <rtems/extensionimpl.h> +#include <rtems/config.h> +#include <rtems/sysinit.h> -void _Extension_Manager_initialization(void) +Objects_Information _Extension_Information; + +static void _Extension_Manager_initialization(void) { _Objects_Initialize_information( &_Extension_Information, @@ -44,3 +44,9 @@ void _Extension_Manager_initialization(void) #endif ); } + +RTEMS_SYSINIT_ITEM( + _Extension_Manager_initialization, + RTEMS_SYSINIT_USER_EXTENSIONS, + RTEMS_SYSINIT_ORDER_MIDDLE +); diff --git a/cpukit/sapi/src/extensiondata.c b/cpukit/sapi/src/extensiondata.c deleted file mode 100644 index 0d7e481948..0000000000 --- a/cpukit/sapi/src/extensiondata.c +++ /dev/null @@ -1,25 +0,0 @@ -/** - * @file - * - * @brief Extension Data - * - * @ingroup ClassicUserExtensions - */ - -/* - * COPYRIGHT (c) 1989-2007. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#if HAVE_CONFIG_H -#include "config.h" -#endif - -/* instantiate extension data */ -#define SAPI_EXT_EXTERN - -#include <rtems/extensionimpl.h> diff --git a/cpukit/score/include/rtems/sysinit.h b/cpukit/score/include/rtems/sysinit.h index 49c465bfbc..ab7dfc4cd3 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_USER_EXTENSIONS 000320 #define RTEMS_SYSINIT_IDLE_THREADS 000380 #define RTEMS_SYSINIT_BSP_LIBC 000400 #define RTEMS_SYSINIT_BEFORE_DRIVERS 000500 |