summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cpukit/ChangeLog13
-rw-r--r--cpukit/sapi/include/rtems/extension.h6
-rw-r--r--cpukit/sapi/include/rtems/io.h8
-rw-r--r--cpukit/sapi/src/exinit.c52
-rw-r--r--cpukit/sapi/src/extension.c12
-rw-r--r--cpukit/sapi/src/io.c18
-rw-r--r--cpukit/score/include/rtems/score/mpci.h8
-rw-r--r--cpukit/score/include/rtems/score/object.h16
-rw-r--r--cpukit/score/include/rtems/score/thread.h11
-rw-r--r--cpukit/score/include/rtems/score/tod.h4
-rw-r--r--cpukit/score/include/rtems/score/userext.h10
-rw-r--r--cpukit/score/include/rtems/score/wkspace.h11
-rw-r--r--cpukit/score/src/coretod.c9
-rw-r--r--cpukit/score/src/mpci.c11
-rw-r--r--cpukit/score/src/object.c23
-rw-r--r--cpukit/score/src/thread.c26
-rw-r--r--cpukit/score/src/userext.c13
-rw-r--r--cpukit/score/src/wkspace.c11
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(