diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-05-21 23:19:36 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-05-21 23:19:36 +0000 |
commit | 6f1384cd4ff2518fbbde7fe99f4cbc7112ec14fc (patch) | |
tree | 75216d7fabbbe051420f24832c803ac74418ee7d /cpukit/rtems/src | |
parent | 2007-05-21 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-6f1384cd4ff2518fbbde7fe99f4cbc7112ec14fc.tar.bz2 |
Split Classic API data instantiation into individual files. This reduces the size of the BSS section when an optional manageer stub is used. Some tests showed about a 600 byte reduction in BSS size. Also eliminated the variables _RTEMS_tasks_User_initialization_tasks and _RTEMS_tasks_Number_of_initialization_tasks because they were only used in one place after initialized. It was a waste of space.
Diffstat (limited to 'cpukit/rtems/src')
-rw-r--r-- | cpukit/rtems/src/barrierdata.c | 23 | ||||
-rw-r--r-- | cpukit/rtems/src/dpmem.c | 1 | ||||
-rw-r--r-- | cpukit/rtems/src/dpmemdata.c | 22 | ||||
-rw-r--r-- | cpukit/rtems/src/eventdata.c | 22 | ||||
-rw-r--r-- | cpukit/rtems/src/msgdata.c | 23 | ||||
-rw-r--r-- | cpukit/rtems/src/partdata.c | 22 | ||||
-rw-r--r-- | cpukit/rtems/src/ratemondata.c | 22 | ||||
-rw-r--r-- | cpukit/rtems/src/regiondata.c | 22 | ||||
-rw-r--r-- | cpukit/rtems/src/rtemstimerdata.c | 22 | ||||
-rw-r--r-- | cpukit/rtems/src/semdata.c | 22 | ||||
-rw-r--r-- | cpukit/rtems/src/taskdata.c | 22 | ||||
-rw-r--r-- | cpukit/rtems/src/taskinitusers.c | 9 | ||||
-rw-r--r-- | cpukit/rtems/src/tasks.c | 16 |
13 files changed, 232 insertions, 16 deletions
diff --git a/cpukit/rtems/src/barrierdata.c b/cpukit/rtems/src/barrierdata.c new file mode 100644 index 0000000000..6e4af5a4c8 --- /dev/null +++ b/cpukit/rtems/src/barrierdata.c @@ -0,0 +1,23 @@ +/* + * Barrier Manager -- Instantiate Data + * + * 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.com/license/LICENSE. + * + * $Id$ + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +/* instantiate barrier data */ +#define RTEMS_BARRIER_EXTERN + +#include <rtems/system.h> +#include <rtems/rtems/barrier.h> + diff --git a/cpukit/rtems/src/dpmem.c b/cpukit/rtems/src/dpmem.c index 27ded43f5f..6e730e6f75 100644 --- a/cpukit/rtems/src/dpmem.c +++ b/cpukit/rtems/src/dpmem.c @@ -22,7 +22,6 @@ #include <rtems/rtems/dpmem.h> #include <rtems/score/object.h> #include <rtems/score/thread.h> -#include <rtems/rtems/dpmem.h> /*PAGE * diff --git a/cpukit/rtems/src/dpmemdata.c b/cpukit/rtems/src/dpmemdata.c new file mode 100644 index 0000000000..cc2285c1f6 --- /dev/null +++ b/cpukit/rtems/src/dpmemdata.c @@ -0,0 +1,22 @@ +/* + * Dual Port Memory Manager -- Instantiate Data + * + * 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.com/license/LICENSE. + * + * $Id$ + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +/* instantiate semaphore data */ +#define RTEMS_DPMEM_EXTERN + +#include <rtems/system.h> +#include <rtems/rtems/dpmem.h> diff --git a/cpukit/rtems/src/eventdata.c b/cpukit/rtems/src/eventdata.c new file mode 100644 index 0000000000..bc7eb466c1 --- /dev/null +++ b/cpukit/rtems/src/eventdata.c @@ -0,0 +1,22 @@ +/* + * Event Manager -- Instantiate Data + * + * 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.com/license/LICENSE. + * + * $Id$ + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +/* instantiate RTEMS event data */ +#define RTEMS_EVENT_EXTERN + +#include <rtems/system.h> +#include <rtems/rtems/event.h> diff --git a/cpukit/rtems/src/msgdata.c b/cpukit/rtems/src/msgdata.c new file mode 100644 index 0000000000..70baa35723 --- /dev/null +++ b/cpukit/rtems/src/msgdata.c @@ -0,0 +1,23 @@ +/* + * Barrier Manager -- Instantiate Data + * + * 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.com/license/LICENSE. + * + * $Id$ + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +/* instantiate message queue data */ +#define RTEMS_MESSAGE_EXTERN + +#include <rtems/system.h> +#include <rtems/rtems/message.h> + diff --git a/cpukit/rtems/src/partdata.c b/cpukit/rtems/src/partdata.c new file mode 100644 index 0000000000..8f6c5b4531 --- /dev/null +++ b/cpukit/rtems/src/partdata.c @@ -0,0 +1,22 @@ +/* + * Partition Manager -- Instantiate Data + * + * 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.com/license/LICENSE. + * + * $Id$ + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +/* instantiate RTEMS partition data */ +#define RTEMS_PART_EXTERN + +#include <rtems/system.h> +#include <rtems/rtems/part.h> diff --git a/cpukit/rtems/src/ratemondata.c b/cpukit/rtems/src/ratemondata.c new file mode 100644 index 0000000000..efd461fa02 --- /dev/null +++ b/cpukit/rtems/src/ratemondata.c @@ -0,0 +1,22 @@ +/* + * Rate Monotonic Manager -- Instantiate Data + * + * 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.com/license/LICENSE. + * + * $Id$ + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +/* instantiate RTEMS period data */ +#define RTEMS_RATEMON_EXTERN + +#include <rtems/system.h> +#include <rtems/rtems/ratemon.h> diff --git a/cpukit/rtems/src/regiondata.c b/cpukit/rtems/src/regiondata.c new file mode 100644 index 0000000000..9ecce9e7bb --- /dev/null +++ b/cpukit/rtems/src/regiondata.c @@ -0,0 +1,22 @@ +/* + * Region Manager -- Instantiate Data + * + * 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.com/license/LICENSE. + * + * $Id$ + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +/* instantiate RTEMS Region data */ +#define RTEMS_REGION_EXTERN + +#include <rtems/system.h> +#include <rtems/rtems/region.h> diff --git a/cpukit/rtems/src/rtemstimerdata.c b/cpukit/rtems/src/rtemstimerdata.c new file mode 100644 index 0000000000..b817c2f788 --- /dev/null +++ b/cpukit/rtems/src/rtemstimerdata.c @@ -0,0 +1,22 @@ +/* + * Timer Manager -- Instantiate Data + * + * 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.com/license/LICENSE. + * + * $Id$ + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +/* instantiate RTEMS timer data */ +#define RTEMS_TIMER_EXTERN + +#include <rtems/system.h> +#include <rtems/rtems/timer.h> diff --git a/cpukit/rtems/src/semdata.c b/cpukit/rtems/src/semdata.c new file mode 100644 index 0000000000..cc4126db15 --- /dev/null +++ b/cpukit/rtems/src/semdata.c @@ -0,0 +1,22 @@ +/* + * Semaphore Manager -- Data Instantiation + * + * 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.com/license/LICENSE. + * + * $Id$ + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +/* instantiate semaphore data */ +#define RTEMS_SEM_EXTERN + +#include <rtems/system.h> +#include <rtems/rtems/sem.h> diff --git a/cpukit/rtems/src/taskdata.c b/cpukit/rtems/src/taskdata.c new file mode 100644 index 0000000000..13c0a1f6e1 --- /dev/null +++ b/cpukit/rtems/src/taskdata.c @@ -0,0 +1,22 @@ +/* + * RTEMS Task Manager -- Instantiate Data + * + * 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.com/license/LICENSE. + * + * $Id$ + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +/* instantiate RTEMS Classic API tasks data */ +#define RTEMS_TASKS_EXTERN + +#include <rtems/system.h> +#include <rtems/rtems/tasks.h> diff --git a/cpukit/rtems/src/taskinitusers.c b/cpukit/rtems/src/taskinitusers.c index 3e0ae4b0f2..38e470f408 100644 --- a/cpukit/rtems/src/taskinitusers.c +++ b/cpukit/rtems/src/taskinitusers.c @@ -17,6 +17,7 @@ #endif #include <rtems/system.h> +#include <rtems/config.h> #include <rtems/rtems/status.h> #include <rtems/rtems/support.h> #include <rtems/rtems/modes.h> @@ -51,13 +52,17 @@ void _RTEMS_tasks_Initialize_user_tasks_body( void ) rtems_id id; rtems_status_code return_value; rtems_initialization_tasks_table *user_tasks; + rtems_api_configuration_table *api_configuration; + + + api_configuration = _Configuration_Table->RTEMS_api_configuration; /* * NOTE: This is slightly different from the Ada implementation. */ - user_tasks = _RTEMS_tasks_User_initialization_tasks; - maximum = _RTEMS_tasks_Number_of_initialization_tasks; + user_tasks = api_configuration->User_initialization_tasks_table; + maximum = api_configuration->number_of_initialization_tasks; if ( !user_tasks || maximum == 0 ) return; diff --git a/cpukit/rtems/src/tasks.c b/cpukit/rtems/src/tasks.c index 963ec10368..78d50db831 100644 --- a/cpukit/rtems/src/tasks.c +++ b/cpukit/rtems/src/tasks.c @@ -1,8 +1,7 @@ /* - * RTEMS Task Manager + * RTEMS Task Manager -- Initialize Manager * - * - * COPYRIGHT (c) 1989-1999. + * COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -243,19 +242,10 @@ User_extensions_Control _RTEMS_tasks_User_extensions = { */ void _RTEMS_tasks_Manager_initialization( - uint32_t maximum_tasks, - uint32_t number_of_initialization_tasks, - rtems_initialization_tasks_table *user_tasks + uint32_t maximum_tasks ) { - _RTEMS_tasks_Number_of_initialization_tasks = number_of_initialization_tasks; - _RTEMS_tasks_User_initialization_tasks = user_tasks; - - /* - * There may not be any RTEMS initialization tasks configured. - */ - _Objects_Initialize_information( &_RTEMS_tasks_Information, /* object information table */ OBJECTS_CLASSIC_API, /* object API */ |