From aac75d3b9bb7bf1b7ec10cfc3c20f58f1ab2240b Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 15 Dec 2008 19:21:01 +0000 Subject: 2008-12-15 Joel Sherrill * itron/include/rtems/itron/itronapi.h, libmisc/capture/capture.c, libmisc/monitor/mon-config.c, libmisc/monitor/mon-driver.c, libmisc/monitor/mon-itask.c, libmisc/monitor/mon-mpci.c, posix/include/rtems/posix/config.h, posix/include/rtems/posix/posixapi.h, rtems/include/rtems/rtems/config.h, rtems/include/rtems/rtems/rtemsapi.h, rtems/src/taskinitusers.c, sapi/include/confdefs.h, sapi/include/rtems/config.h, sapi/include/rtems/init.h, sapi/src/exinit.c, sapi/src/itronapi.c, sapi/src/posixapi.c, sapi/src/rtemsapi.c, score/src/isr.c, score/src/thread.c, score/src/threadcreateidle.c, score/src/threadstackallocate.c, score/src/threadstackfree.c, score/src/wkspace.c: Eliminate pointers to API configuration tables in the main configuration table. Reference the main configuration table and the API configuration tables directly using the confdefs.h version rather than obtaining a pointer to it. This eliminated some variables, a potential fatal error, some unnecessary default configuration structures. Overall, about a 4.5% reduction in the code size for minimum and hello on the SPARC. --- cpukit/sapi/src/rtemsapi.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'cpukit/sapi/src/rtemsapi.c') diff --git a/cpukit/sapi/src/rtemsapi.c b/cpukit/sapi/src/rtemsapi.c index 89d7411b5f..d9f107e316 100644 --- a/cpukit/sapi/src/rtemsapi.c +++ b/cpukit/sapi/src/rtemsapi.c @@ -3,7 +3,7 @@ * * NOTE: * - * COPYRIGHT (c) 1989-1999. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -54,13 +54,15 @@ Objects_Information *_RTEMS_Objects[ OBJECTS_RTEMS_CLASSES_LAST + 1 ]; * XXX */ -void _RTEMS_API_Initialize( - rtems_configuration_table *configuration_table -) +void _RTEMS_API_Initialize(void) { - rtems_api_configuration_table *api_configuration; + rtems_api_configuration_table *api; - api_configuration = configuration_table->RTEMS_api_configuration; + /* + * Install our API Object Management Table and initialize the + * various managers. + */ + api = &Configuration_RTEMS_API; _Objects_Information_table[OBJECTS_CLASSIC_API] = _RTEMS_Objects; @@ -72,29 +74,27 @@ void _RTEMS_API_Initialize( _Multiprocessing_Manager_initialization(); #endif - _RTEMS_tasks_Manager_initialization( api_configuration->maximum_tasks ); + _RTEMS_tasks_Manager_initialization( api->maximum_tasks ); - _Timer_Manager_initialization( api_configuration->maximum_timers ); + _Timer_Manager_initialization( api->maximum_timers ); _Signal_Manager_initialization(); _Event_Manager_initialization(); - _Message_queue_Manager_initialization( - api_configuration->maximum_message_queues - ); + _Message_queue_Manager_initialization( api->maximum_message_queues ); - _Semaphore_Manager_initialization( api_configuration->maximum_semaphores ); + _Semaphore_Manager_initialization( api->maximum_semaphores ); - _Partition_Manager_initialization( api_configuration->maximum_partitions ); + _Partition_Manager_initialization( api->maximum_partitions ); - _Region_Manager_initialization( api_configuration->maximum_regions ); + _Region_Manager_initialization( api->maximum_regions ); - _Dual_ported_memory_Manager_initialization( api_configuration->maximum_ports); + _Dual_ported_memory_Manager_initialization( api->maximum_ports); - _Rate_monotonic_Manager_initialization( api_configuration->maximum_periods ); + _Rate_monotonic_Manager_initialization( api->maximum_periods ); - _Barrier_Manager_initialization( api_configuration->maximum_barriers ); + _Barrier_Manager_initialization( api->maximum_barriers ); } /* end of file */ -- cgit v1.2.3