diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-12-17 22:46:05 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-12-17 22:46:05 +0000 |
commit | 790b50b8da754eba39e2c21d67bb9b14df966080 (patch) | |
tree | 7f8386fb4eb796d8dc60e421e07f9059278012d2 /cpukit | |
parent | 2008-12-17 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-790b50b8da754eba39e2c21d67bb9b14df966080.tar.bz2 |
2008-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>
* sapi/include/rtems/extension.h, sapi/include/rtems/io.h,
sapi/src/exinit.c, sapi/src/extension.c, sapi/src/io.c,
score/include/rtems/score/mpci.h, score/include/rtems/score/object.h,
score/include/rtems/score/thread.h, score/include/rtems/score/tod.h,
score/include/rtems/score/userext.h,
score/include/rtems/score/wkspace.h, score/src/coretod.c,
score/src/mpci.c, score/src/object.c, score/src/thread.c,
score/src/userext.c, score/src/wkspace.c: Convert SAPI manager and
SuperCore Handler initialization routines to directly pull parameters
from configuration table.
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/ChangeLog | 13 | ||||
-rw-r--r-- | cpukit/sapi/include/rtems/extension.h | 6 | ||||
-rw-r--r-- | cpukit/sapi/include/rtems/io.h | 8 | ||||
-rw-r--r-- | cpukit/sapi/src/exinit.c | 52 | ||||
-rw-r--r-- | cpukit/sapi/src/extension.c | 12 | ||||
-rw-r--r-- | cpukit/sapi/src/io.c | 18 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/mpci.h | 8 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/object.h | 16 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/thread.h | 11 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/tod.h | 4 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/userext.h | 10 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/wkspace.h | 11 | ||||
-rw-r--r-- | cpukit/score/src/coretod.c | 9 | ||||
-rw-r--r-- | cpukit/score/src/mpci.c | 11 | ||||
-rw-r--r-- | cpukit/score/src/object.c | 23 | ||||
-rw-r--r-- | cpukit/score/src/thread.c | 26 | ||||
-rw-r--r-- | cpukit/score/src/userext.c | 13 | ||||
-rw-r--r-- | cpukit/score/src/wkspace.c | 11 |
18 files changed, 103 insertions, 159 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 58634f9732..648eaa0d17 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,5 +1,18 @@ 2008-12-17 Joel Sherrill <joel.sherrill@oarcorp.com> + * sapi/include/rtems/extension.h, sapi/include/rtems/io.h, + sapi/src/exinit.c, sapi/src/extension.c, sapi/src/io.c, + score/include/rtems/score/mpci.h, score/include/rtems/score/object.h, + score/include/rtems/score/thread.h, score/include/rtems/score/tod.h, + score/include/rtems/score/userext.h, + score/include/rtems/score/wkspace.h, score/src/coretod.c, + score/src/mpci.c, score/src/object.c, score/src/thread.c, + score/src/userext.c, score/src/wkspace.c: Convert SAPI manager and + SuperCore Handler initialization routines to directly pull parameters + from configuration table. + +2008-12-17 Joel Sherrill <joel.sherrill@oarcorp.com> + * itron/include/rtems/itron/config.h, itron/include/rtems/itron/eventflags.h, itron/include/rtems/itron/fmempool.h, diff --git a/cpukit/sapi/include/rtems/extension.h b/cpukit/sapi/include/rtems/extension.h index a1f448c98e..0d62c1df55 100644 --- a/cpukit/sapi/include/rtems/extension.h +++ b/cpukit/sapi/include/rtems/extension.h @@ -13,7 +13,7 @@ * + get ID of user extension set * + delete user extension set * - * COPYRIGHT (c) 1989-2007. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -82,9 +82,7 @@ typedef struct { * This routine performs the initialization necessary for this manager. */ -void _Extension_Manager_initialization( - uint32_t maximum_extensions -); +void _Extension_Manager_initialization(void); /* * rtems_extension_create diff --git a/cpukit/sapi/include/rtems/io.h b/cpukit/sapi/include/rtems/io.h index e96a2f6333..05b954c779 100644 --- a/cpukit/sapi/include/rtems/io.h +++ b/cpukit/sapi/include/rtems/io.h @@ -17,7 +17,7 @@ */ /* - * COPYRIGHT (c) 1989-1999. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -103,11 +103,7 @@ SAPI_IO_EXTERN rtems_driver_address_table *_IO_Driver_address_table; * This routine performs the initialization necessary for this manager. */ -void _IO_Manager_initialization( - rtems_driver_address_table *driver_table, - uint32_t drivers_in_table, - uint32_t number_of_drivers -); +void _IO_Manager_initialization(void); /* * rtems_io_register_driver diff --git a/cpukit/sapi/src/exinit.c b/cpukit/sapi/src/exinit.c index 4a86dfd240..b2378032de 100644 --- a/cpukit/sapi/src/exinit.c +++ b/cpukit/sapi/src/exinit.c @@ -111,67 +111,37 @@ void rtems_initialize_data_structures(void) * Before this is called, we are not allowed to allocate memory * from the Workspace because it is not initialized. */ - _Workspace_Handler_initialization( - Configuration.work_space_start, - Configuration.work_space_size - ); - - _User_extensions_Handler_initialization( - Configuration.number_of_initial_extensions, - Configuration.User_extension_table - ); + _Workspace_Handler_initialization(); + _User_extensions_Handler_initialization(); _ISR_Handler_initialization(); - - _Objects_Handler_initialization( - #if defined(RTEMS_MULTIPROCESSING) - _Configuration_MP_table->node, - _Configuration_MP_table->maximum_nodes, - _Configuration_MP_table->maximum_global_objects - #endif - ); - - _Objects_Information_table[OBJECTS_INTERNAL_API] = _Internal_Objects; + _Objects_Handler_initialization(); /* - * Initialize the internal allocator Mutex + * Initialize the internal support API and allocator Mutex */ + _Objects_Information_table[OBJECTS_INTERNAL_API] = _Internal_Objects; + _API_Mutex_Initialization( 1 ); _API_Mutex_Allocate( &_RTEMS_Allocator_Mutex ); _Priority_Handler_initialization(); - _Watchdog_Handler_initialization(); + _TOD_Handler_initialization(); - _TOD_Handler_initialization( Configuration.microseconds_per_tick ); - - _Thread_Handler_initialization( - Configuration.ticks_per_timeslice, - Configuration.maximum_extensions - #if defined(RTEMS_MULTIPROCESSING) - , - _Configuration_MP_table->maximum_proxies - #endif - ); + _Thread_Handler_initialization(); #if defined(RTEMS_MULTIPROCESSING) - _MPCI_Handler_initialization( - _Configuration_MP_table->User_mpci_table, - RTEMS_TIMEOUT - ); + _MPCI_Handler_initialization( RTEMS_TIMEOUT ); #endif /* MANAGERS */ _RTEMS_API_Initialize(); - _Extension_Manager_initialization( Configuration.maximum_extensions ); + _Extension_Manager_initialization(); - _IO_Manager_initialization( - Configuration.Device_driver_table, - Configuration.number_of_device_drivers, - Configuration.maximum_drivers - ); + _IO_Manager_initialization(); #ifdef RTEMS_POSIX_API _POSIX_API_Initialize(); diff --git a/cpukit/sapi/src/extension.c b/cpukit/sapi/src/extension.c index 1a85cddf3a..993f415fd8 100644 --- a/cpukit/sapi/src/extension.c +++ b/cpukit/sapi/src/extension.c @@ -1,7 +1,7 @@ /* * Extension Manager * - * COPYRIGHT (c) 1989-2007. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -16,6 +16,7 @@ #endif #include <rtems/system.h> +#include <rtems/config.h> #include <rtems/rtems/support.h> #include <rtems/score/object.h> #include <rtems/score/thread.h> @@ -27,21 +28,18 @@ * * This routine initializes all extension manager related data structures. * - * Input parameters: - * maximum_extensions - number of extensions to initialize + * Input parameters: NONE * * Output parameters: NONE */ -void _Extension_Manager_initialization( - uint32_t maximum_extensions -) +void _Extension_Manager_initialization(void) { _Objects_Initialize_information( &_Extension_Information, OBJECTS_CLASSIC_API, /* object API */ OBJECTS_RTEMS_EXTENSIONS, - maximum_extensions, + Configuration.maximum_extensions, sizeof( Extension_Control ), false, /* true if the name is a string */ RTEMS_MAXIMUM_NAME_LENGTH /* maximum length of an object name */ diff --git a/cpukit/sapi/src/io.c b/cpukit/sapi/src/io.c index bd5cd4f0ec..c3cdf6ea7f 100644 --- a/cpukit/sapi/src/io.c +++ b/cpukit/sapi/src/io.c @@ -1,7 +1,7 @@ /* * Input/Output Manager - Initialize Device Driver Subsystem * - * COPYRIGHT (c) 1989-2007. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -16,6 +16,7 @@ #endif #include <rtems/system.h> +#include <rtems/config.h> #include <rtems/io.h> #include <rtems/score/isr.h> #include <rtems/score/thread.h> @@ -32,13 +33,16 @@ * */ -void _IO_Manager_initialization( - rtems_driver_address_table *driver_table, - uint32_t drivers_in_table, - uint32_t number_of_drivers -) +void _IO_Manager_initialization(void) { - uint32_t index; + uint32_t index; + rtems_driver_address_table *driver_table; + uint32_t drivers_in_table; + uint32_t number_of_drivers; + + driver_table = Configuration.Device_driver_table; + drivers_in_table = Configuration.number_of_device_drivers; + number_of_drivers = Configuration.maximum_drivers; /* * If the user claims there are less drivers than are actually in diff --git a/cpukit/score/include/rtems/score/mpci.h b/cpukit/score/include/rtems/score/mpci.h index 1b65c3adc7..366e84f289 100644 --- a/cpukit/score/include/rtems/score/mpci.h +++ b/cpukit/score/include/rtems/score/mpci.h @@ -6,7 +6,7 @@ */ /* - * COPYRIGHT (c) 1989-2006. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -197,15 +197,11 @@ SCORE_EXTERN MPCI_Packet_processor /** * This routine performs the initialization necessary for this handler. * - * @param[in] users_mpci_table is a pointer to the application configured - * MPCI Table. This table contains pointers to the MPCI Layers - * entry points. * @param[in] timeout_status is the value which should be returned to * blocking threads when they timeout on a remote operation. */ void _MPCI_Handler_initialization( - MPCI_Control *users_mpci_table, - uint32_t timeout_status + uint32_t timeout_status ); /** diff --git a/cpukit/score/include/rtems/score/object.h b/cpukit/score/include/rtems/score/object.h index f1203bc8d5..3d02e5f9a7 100644 --- a/cpukit/score/include/rtems/score/object.h +++ b/cpukit/score/include/rtems/score/object.h @@ -434,26 +434,10 @@ SCORE_EXTERN Objects_Information */ #define OBJECTS_ID_FINAL ((Objects_Id)~0) -#if defined(RTEMS_MULTIPROCESSING) -/** - * This function performs the initialization necessary for this handler. - * - * @param[in] node indicates the identifying number of this node. - * @param[in] maximum_nodes is the maximum number of nodes in this system. - * @param[in] maximum_global_objects is maximum number of global objects - * concurrently offered in the system. - */ -void _Objects_Handler_initialization( - uint32_t node, - uint32_t maximum_nodes, - uint32_t maximum_global_objects -); -#else /** * This function performs the initialization necessary for this handler. */ void _Objects_Handler_initialization(void); -#endif /** * This function extends an object class information record. diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h index 1f79b49f8b..fc106240a3 100644 --- a/cpukit/score/include/rtems/score/thread.h +++ b/cpukit/score/include/rtems/score/thread.h @@ -506,21 +506,14 @@ SCORE_EXTERN struct _reent **_Thread_libc_reent; /** * This routine performs the initialization necessary for this handler. */ -void _Thread_Handler_initialization ( - uint32_t ticks_per_timeslice, - uint32_t maximum_extensions -#if defined(RTEMS_MULTIPROCESSING) - , - uint32_t maximum_proxies -#endif -); +void _Thread_Handler_initialization(void); /** * This routine creates the idle thread. * * @warning No thread should be created before this one. */ -void _Thread_Create_idle( void ); +void _Thread_Create_idle(void); /** * This routine initiates multitasking. It is invoked only as diff --git a/cpukit/score/include/rtems/score/tod.h b/cpukit/score/include/rtems/score/tod.h index fb3ac98140..31da246226 100644 --- a/cpukit/score/include/rtems/score/tod.h +++ b/cpukit/score/include/rtems/score/tod.h @@ -144,9 +144,7 @@ SCORE_EXTERN Timestamp_Control _TOD_Uptime; * * This routine performs the initialization necessary for this handler. */ -void _TOD_Handler_initialization( - uint32_t microseconds_per_tick -); +void _TOD_Handler_initialization(void); /** @brief _TOD_Set * diff --git a/cpukit/score/include/rtems/score/userext.h b/cpukit/score/include/rtems/score/userext.h index 8fa1d30deb..6c0c41164e 100644 --- a/cpukit/score/include/rtems/score/userext.h +++ b/cpukit/score/include/rtems/score/userext.h @@ -7,7 +7,7 @@ */ /* - * COPYRIGHT (c) 1989-2006. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -205,14 +205,8 @@ SCORE_EXTERN Chain_Control _User_extensions_Switches_list; /** @brief User extensions Handler Initialization * * This routine performs the initialization necessary for this handler. - * - * @param[in] number_of_extensions is the number of extensions - * @param[in] initial_extensions is the initial extension set */ -void _User_extensions_Handler_initialization ( - uint32_t number_of_extensions, - User_extensions_Table *initial_extensions -); +void _User_extensions_Handler_initialization(void); /** @brief User extensions Add to API extension set * diff --git a/cpukit/score/include/rtems/score/wkspace.h b/cpukit/score/include/rtems/score/wkspace.h index b4047c56fa..94979c6b9b 100644 --- a/cpukit/score/include/rtems/score/wkspace.h +++ b/cpukit/score/include/rtems/score/wkspace.h @@ -7,7 +7,7 @@ */ /* - * COPYRIGHT (c) 1989-2006. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -45,15 +45,8 @@ SCORE_EXTERN Heap_Control _Workspace_Area; /* executive heap header */ /** @brief Workspace Handler Initialization * * This routine performs the initialization necessary for this handler. - * - * @param[in] starting_address is the base address of the RTEMS Executive - * Workspace - * @param[in] size is the number of bytes in the RTEMS Executive Workspace */ -void _Workspace_Handler_initialization( - void *starting_address, - size_t size -); +void _Workspace_Handler_initialization(void); /** @brief Allocate Memory from Workspace * diff --git a/cpukit/score/src/coretod.c b/cpukit/score/src/coretod.c index 6d0fc11b5a..f672c43455 100644 --- a/cpukit/score/src/coretod.c +++ b/cpukit/score/src/coretod.c @@ -2,7 +2,7 @@ * Time of Day (TOD) Handler */ -/* COPYRIGHT (c) 1989-2007. +/* COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -28,15 +28,12 @@ * * This routine initializes the time of day handler. * - * Input parameters: - * microseconds_per_tick - microseconds between clock ticks + * Input parameters: NONE * * Output parameters: NONE */ -void _TOD_Handler_initialization( - uint32_t microseconds_per_tick -) +void _TOD_Handler_initialization(void) { /* POSIX format TOD (timespec) */ _Timestamp_Set( &_TOD_Now, TOD_SECONDS_1970_THROUGH_1988, 0 ); diff --git a/cpukit/score/src/mpci.c b/cpukit/score/src/mpci.c index 9cd7866c66..30dd3baaa5 100644 --- a/cpukit/score/src/mpci.c +++ b/cpukit/score/src/mpci.c @@ -2,7 +2,7 @@ * Multiprocessing Communications Interface (MPCI) Handler * * - * COPYRIGHT (c) 1989-2007. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -21,6 +21,7 @@ #include <rtems/score/mpci.h> #include <rtems/score/mppkt.h> #endif +#include <rtems/config.h> #include <rtems/score/cpu.h> #include <rtems/score/interr.h> #include <rtems/score/states.h> @@ -46,11 +47,13 @@ CORE_semaphore_Control _MPCI_Semaphore; */ void _MPCI_Handler_initialization( - MPCI_Control *users_mpci_table, - uint32_t timeout_status + uint32_t timeout_status ) { - CORE_semaphore_Attributes attributes; + CORE_semaphore_Attributes attributes; + MPCI_Control *users_mpci_table; + + users_mpci_table = _Configuration_MP_table->User_mpci_table; if ( _System_state_Is_multiprocessing && !users_mpci_table ) _Internal_error_Occurred( diff --git a/cpukit/score/src/object.c b/cpukit/score/src/object.c index 9be6f89c95..f34739aa67 100644 --- a/cpukit/score/src/object.c +++ b/cpukit/score/src/object.c @@ -2,7 +2,7 @@ * Object Handler * * - * COPYRIGHT (c) 1989-2007. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -17,6 +17,7 @@ #endif #include <rtems/system.h> +#include <rtems/config.h> #include <rtems/score/address.h> #include <rtems/score/chain.h> #include <rtems/score/object.h> @@ -34,24 +35,22 @@ * * This routine initializes the object handler. * - * Input parameters: - * node - local node - * maximum_nodes - number of nodes in the system - * maximum_global_objects - number of configured global objects + * Input parameters: NONE * * Output parameters: NONE */ -#if defined(RTEMS_MULTIPROCESSING) -void _Objects_Handler_initialization( - uint32_t node, - uint32_t maximum_nodes, - uint32_t maximum_global_objects ) -#else void _Objects_Handler_initialization(void) -#endif { #if defined(RTEMS_MULTIPROCESSING) + uint32_t node; + uint32_t maximum_nodes; + uint32_t maximum_global_objects; + + node = _Configuration_MP_table->node; + maximum_nodes = _Configuration_MP_table->maximum_nodes; + maximum_global_objects = _Configuration_MP_table->maximum_global_objects; + if ( node < 1 || node > maximum_nodes ) _Internal_error_Occurred( INTERNAL_ERROR_CORE, diff --git a/cpukit/score/src/thread.c b/cpukit/score/src/thread.c index ecc47f49b2..a6774388e0 100644 --- a/cpukit/score/src/thread.c +++ b/cpukit/score/src/thread.c @@ -17,6 +17,7 @@ #endif #include <rtems/system.h> +#include <rtems/config.h> #include <rtems/score/apiext.h> #include <rtems/score/context.h> #include <rtems/score/interr.h> @@ -37,24 +38,25 @@ * * This routine initializes all thread manager related data structures. * - * Input parameters: - * ticks_per_timeslice - clock ticks per quantum - * maximum_proxies - number of proxies to initialize + * Input parameters: NONE * * Output parameters: NONE */ -void _Thread_Handler_initialization( - uint32_t ticks_per_timeslice, - uint32_t maximum_extensions -#if defined(RTEMS_MULTIPROCESSING) - , - uint32_t maximum_proxies -#endif -) +void _Thread_Handler_initialization(void) { - uint32_t index; + uint32_t index; + uint32_t ticks_per_timeslice; + uint32_t maximum_extensions; + #if defined(RTEMS_MULTIPROCESSING) + uint32_t maximum_proxies; + #endif + ticks_per_timeslice = Configuration.ticks_per_timeslice; + maximum_extensions = Configuration.maximum_extensions; + #if defined(RTEMS_MULTIPROCESSING) + maximum_proxies = _Configuration_MP_table->maximum_proxies; + #endif /* * BOTH stacks hooks must be set or both must be NULL. * Do not allow mixture. diff --git a/cpukit/score/src/userext.c b/cpukit/score/src/userext.c index c23e63f40d..190c15f85f 100644 --- a/cpukit/score/src/userext.c +++ b/cpukit/score/src/userext.c @@ -1,5 +1,5 @@ /* - * COPYRIGHT (c) 1989-2007. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -14,6 +14,7 @@ #endif #include <rtems/system.h> +#include <rtems/config.h> #include <rtems/score/userext.h> #include <rtems/score/wkspace.h> #include <string.h> @@ -22,13 +23,15 @@ * This routine performs the initialization necessary for this handler. */ -void _User_extensions_Handler_initialization ( - uint32_t number_of_extensions, - User_extensions_Table *initial_extensions -) +void _User_extensions_Handler_initialization(void) { User_extensions_Control *extension; uint32_t i; + uint32_t number_of_extensions; + User_extensions_Table *initial_extensions; + + number_of_extensions = Configuration.number_of_initial_extensions; + initial_extensions = Configuration.User_extension_table; _Chain_Initialize_empty( &_User_extensions_List ); _Chain_Initialize_empty( &_User_extensions_Switches_list ); diff --git a/cpukit/score/src/wkspace.c b/cpukit/score/src/wkspace.c index fe18d75e59..181be3bcb5 100644 --- a/cpukit/score/src/wkspace.c +++ b/cpukit/score/src/wkspace.c @@ -16,6 +16,7 @@ #endif #include <rtems/system.h> +#include <rtems/config.h> #include <rtems/score/wkspace.h> #include <rtems/score/interr.h> #include <rtems/config.h> @@ -25,12 +26,14 @@ /* * _Workspace_Handler_initialization */ -void _Workspace_Handler_initialization( - void *starting_address, - size_t size -) +void _Workspace_Handler_initialization(void) { uint32_t memory_available; + void *starting_address; + size_t size; + + starting_address = Configuration.work_space_start; + size = Configuration.work_space_size; if ( !starting_address || !_Addresses_Is_aligned( starting_address ) ) _Internal_error_Occurred( |