From e06ecec5182bd9ca37e78eb1ae7a5a0ba16afe31 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 17 Dec 2008 22:12:24 +0000 Subject: 2008-12-17 Joel Sherrill * itron/include/rtems/itron/config.h, itron/include/rtems/itron/eventflags.h, itron/include/rtems/itron/fmempool.h, itron/include/rtems/itron/mbox.h, itron/include/rtems/itron/msgbuffer.h, itron/include/rtems/itron/port.h, itron/include/rtems/itron/semaphore.h, itron/include/rtems/itron/task.h, itron/include/rtems/itron/vmempool.h, itron/src/eventflags.c, itron/src/fmempool.c, itron/src/itroninittasks.c, itron/src/itronsem.c, itron/src/mbox.c, itron/src/msgbuffer.c, itron/src/port.c, itron/src/task.c, itron/src/vmempool.c, sapi/src/itronapi.c: Convert ITRON manager initialization routines to directly pull parameters from configuration table. --- cpukit/itron/include/rtems/itron/config.h | 10 +++++++++- cpukit/itron/include/rtems/itron/eventflags.h | 6 ++---- cpukit/itron/include/rtems/itron/fmempool.h | 6 ++---- cpukit/itron/include/rtems/itron/mbox.h | 6 ++---- cpukit/itron/include/rtems/itron/msgbuffer.h | 6 ++---- cpukit/itron/include/rtems/itron/port.h | 6 ++---- cpukit/itron/include/rtems/itron/semaphore.h | 6 ++---- cpukit/itron/include/rtems/itron/task.h | 14 +------------- cpukit/itron/include/rtems/itron/vmempool.h | 6 ++---- cpukit/itron/src/eventflags.c | 14 ++++++-------- cpukit/itron/src/fmempool.c | 14 ++++++-------- cpukit/itron/src/itroninittasks.c | 10 +++------- cpukit/itron/src/itronsem.c | 22 ++++++++++------------ cpukit/itron/src/mbox.c | 14 ++++++-------- cpukit/itron/src/msgbuffer.c | 14 ++++++-------- cpukit/itron/src/port.c | 14 ++++++-------- cpukit/itron/src/task.c | 14 ++++---------- cpukit/itron/src/vmempool.c | 11 +++++------ 18 files changed, 76 insertions(+), 117 deletions(-) (limited to 'cpukit/itron') diff --git a/cpukit/itron/include/rtems/itron/config.h b/cpukit/itron/include/rtems/itron/config.h index 18776e2da2..76dec2ef6f 100644 --- a/cpukit/itron/include/rtems/itron/config.h +++ b/cpukit/itron/include/rtems/itron/config.h @@ -7,7 +7,7 @@ * This include file contains the table of user defined configuration * parameters specific for the ITRON API. * - * COPYRIGHT (c) 1989-1999. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -58,6 +58,14 @@ typedef struct { itron_initialization_tasks_table *User_initialization_tasks_table; } itron_api_configuration_table; +/** + * @brief ITRON API Configuration Table + * + * This is the ITRON API Configuration Table expected to be generated + * by confdefs.h. + */ +extern itron_api_configuration_table Configuration_ITRON_API; + #ifdef __cplusplus } #endif diff --git a/cpukit/itron/include/rtems/itron/eventflags.h b/cpukit/itron/include/rtems/itron/eventflags.h index 5b1ab97b56..38198e75b7 100644 --- a/cpukit/itron/include/rtems/itron/eventflags.h +++ b/cpukit/itron/include/rtems/itron/eventflags.h @@ -3,7 +3,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 @@ -46,9 +46,7 @@ ITRON_EXTERN Objects_Information _ITRON_Eventflags_Information; * This routine performs the initialization necessary for this manager. */ -void _ITRON_Eventflags_Manager_initialization( - uint32_t maximum_eventflags -); +void _ITRON_Eventflags_Manager_initialization(void); /* * XXX insert private stuff here diff --git a/cpukit/itron/include/rtems/itron/fmempool.h b/cpukit/itron/include/rtems/itron/fmempool.h index 2ef26fd411..47c26de907 100644 --- a/cpukit/itron/include/rtems/itron/fmempool.h +++ b/cpukit/itron/include/rtems/itron/fmempool.h @@ -3,7 +3,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 @@ -47,9 +47,7 @@ ITRON_EXTERN Objects_Information _ITRON_Fixed_memory_pool_Information; * This routine performs the initialization necessary for this manager. */ -void _ITRON_Fixed_memory_pool_Manager_initialization( - uint32_t maximum_fixed_memory_pools -); +void _ITRON_Fixed_memory_pool_Manager_initialization(void); /* * XXX insert private stuff here diff --git a/cpukit/itron/include/rtems/itron/mbox.h b/cpukit/itron/include/rtems/itron/mbox.h index 4743590e6c..0d0ac6c2c9 100644 --- a/cpukit/itron/include/rtems/itron/mbox.h +++ b/cpukit/itron/include/rtems/itron/mbox.h @@ -3,7 +3,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 @@ -49,9 +49,7 @@ ITRON_EXTERN Objects_Information _ITRON_Mailbox_Information; * This routine performs the initialization necessary for this manager. */ -void _ITRON_Mailbox_Manager_initialization( - uint32_t maximum_mailboxes -); +void _ITRON_Mailbox_Manager_initialization(void); /* * _ITRON_Mailbox_Translate_core_message_queue_return_code diff --git a/cpukit/itron/include/rtems/itron/msgbuffer.h b/cpukit/itron/include/rtems/itron/msgbuffer.h index f7742cb776..9ff016d4f2 100644 --- a/cpukit/itron/include/rtems/itron/msgbuffer.h +++ b/cpukit/itron/include/rtems/itron/msgbuffer.h @@ -3,7 +3,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 @@ -49,9 +49,7 @@ ITRON_EXTERN Objects_Information _ITRON_Message_buffer_Information; * This routine performs the initialization necessary for this manager. */ -void _ITRON_Message_buffer_Manager_initialization( - uint32_t maximum_message_buffers -); +void _ITRON_Message_buffer_Manager_initialization(void); /* * _ITRON_Message_buffer_Translate_core_message_buffer_return_code diff --git a/cpukit/itron/include/rtems/itron/port.h b/cpukit/itron/include/rtems/itron/port.h index f1c743a8b7..5cde8aec6e 100644 --- a/cpukit/itron/include/rtems/itron/port.h +++ b/cpukit/itron/include/rtems/itron/port.h @@ -3,7 +3,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 @@ -46,9 +46,7 @@ ITRON_EXTERN Objects_Information _ITRON_Port_Information; * This routine performs the initialization necessary for this manager. */ -void _ITRON_Port_Manager_initialization( - uint32_t maximum_ports -); +void _ITRON_Port_Manager_initialization(void); /* * XXX insert private stuff here diff --git a/cpukit/itron/include/rtems/itron/semaphore.h b/cpukit/itron/include/rtems/itron/semaphore.h index 28d886cb41..739fa3fc85 100644 --- a/cpukit/itron/include/rtems/itron/semaphore.h +++ b/cpukit/itron/include/rtems/itron/semaphore.h @@ -3,7 +3,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 @@ -48,9 +48,7 @@ ITRON_EXTERN Objects_Information _ITRON_Semaphore_Information; * This routine performs the initialization necessary for this manager. */ -void _ITRON_Semaphore_Manager_initialization( - uint32_t maximum_semaphores -); +void _ITRON_Semaphore_Manager_initialization(void); #include diff --git a/cpukit/itron/include/rtems/itron/task.h b/cpukit/itron/include/rtems/itron/task.h index 1f72891a11..7aa146c4e6 100644 --- a/cpukit/itron/include/rtems/itron/task.h +++ b/cpukit/itron/include/rtems/itron/task.h @@ -56,14 +56,6 @@ typedef struct { ITRON_EXTERN Objects_Information _ITRON_Task_Information; -/* - * These are used to manage the user initialization tasks. - */ - -ITRON_EXTERN itron_initialization_tasks_table - *_ITRON_Task_User_initialization_tasks; -ITRON_EXTERN uint32_t _ITRON_Task_Number_of_initialization_tasks; - /** * When the user configures a set of ITRON API initialization tasks, * This variable will point to the method used to initialize them. @@ -79,11 +71,7 @@ extern void (*_ITRON_Initialize_user_tasks_p)(void); * This routine initializes the ITRON Task Manager. */ -void _ITRON_Task_Manager_initialization( - uint32_t maximum_tasks, - uint32_t number_of_initialization_tasks, - itron_initialization_tasks_table *user_tasks -); +void _ITRON_Task_Manager_initialization(void); /* * Return a status code and enable dispatching diff --git a/cpukit/itron/include/rtems/itron/vmempool.h b/cpukit/itron/include/rtems/itron/vmempool.h index a89ba4d546..bb582b6b9d 100644 --- a/cpukit/itron/include/rtems/itron/vmempool.h +++ b/cpukit/itron/include/rtems/itron/vmempool.h @@ -3,7 +3,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 @@ -47,9 +47,7 @@ ITRON_EXTERN Objects_Information _ITRON_Variable_memory_pool_Information; * This routine performs the initialization necessary for this manager. */ -void _ITRON_Variable_memory_pool_Manager_initialization( - uint32_t maximum_variable_memory_pools -); +void _ITRON_Variable_memory_pool_Manager_initialization(void); /* * XXX insert private stuff here diff --git a/cpukit/itron/src/eventflags.c b/cpukit/itron/src/eventflags.c index 6668677eef..99664f59f5 100644 --- a/cpukit/itron/src/eventflags.c +++ b/cpukit/itron/src/eventflags.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,7 +14,7 @@ #endif #include - +#include #include /* @@ -22,21 +22,19 @@ * * This routine initializes all event flags manager related data structures. * - * Input parameters: - * maximum_eventflags - maximum configured eventflags + * Input parameters: NONE * * Output parameters: NONE */ -void _ITRON_Eventflags_Manager_initialization( - uint32_t maximum_eventflags -) +void _ITRON_Eventflags_Manager_initialization(void) { _Objects_Initialize_information( &_ITRON_Eventflags_Information, /* object information table */ OBJECTS_ITRON_API, /* object API */ OBJECTS_ITRON_EVENTFLAGS, /* object class */ - maximum_eventflags, /* maximum objects of this class */ + Configuration_ITRON_API.maximum_eventflags, + /* maximum objects of this class */ sizeof( ITRON_Eventflags_Control ), /* size of this object's control block */ FALSE, /* TRUE if names for this object are strings */ diff --git a/cpukit/itron/src/fmempool.c b/cpukit/itron/src/fmempool.c index e42a7a1b6f..9d8f40b1b6 100644 --- a/cpukit/itron/src/fmempool.c +++ b/cpukit/itron/src/fmempool.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,7 +14,7 @@ #endif #include - +#include #include /* @@ -23,21 +23,19 @@ * This routine initializes all fixed memory pool manager related * data structures. * - * Input parameters: - * maximum_fixed_memory_pools - maximum configured fixed memory pools + * Input parameters: NONE * * Output parameters: NONE */ -void _ITRON_Fixed_memory_pool_Manager_initialization( - uint32_t maximum_fixed_memory_pools -) +void _ITRON_Fixed_memory_pool_Manager_initialization(void) { _Objects_Initialize_information( &_ITRON_Fixed_memory_pool_Information, /* object information table */ OBJECTS_ITRON_API, /* object API */ OBJECTS_ITRON_FIXED_MEMORY_POOLS, /* object class */ - maximum_fixed_memory_pools, /* maximum objects of this class */ + Configuration_ITRON_API.maximum_fixed_memory_pools, + /* maximum objects of this class */ sizeof( ITRON_Fixed_memory_pool_Control ), /* size of this object's control block */ FALSE, /* TRUE if names for this object are strings */ diff --git a/cpukit/itron/src/itroninittasks.c b/cpukit/itron/src/itroninittasks.c index 65bd19f54c..96a0a88548 100644 --- a/cpukit/itron/src/itroninittasks.c +++ b/cpukit/itron/src/itroninittasks.c @@ -1,5 +1,5 @@ /* - * COPYRIGHT (c) 1989-1999. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -37,12 +37,8 @@ void _ITRON_Task_Initialize_user_tasks_body( void ) ER return_value; itron_initialization_tasks_table *user_tasks; - /* - * NOTE: This is slightly different from the Ada implementation. - */ - - user_tasks = _ITRON_Task_User_initialization_tasks; - maximum = _ITRON_Task_Number_of_initialization_tasks; + user_tasks = Configuration_ITRON_API.User_initialization_tasks_table; + maximum = Configuration_ITRON_API.number_of_initialization_tasks; if ( !user_tasks || maximum == 0 ) return; diff --git a/cpukit/itron/src/itronsem.c b/cpukit/itron/src/itronsem.c index 755b3fe840..3a16199d05 100644 --- a/cpukit/itron/src/itronsem.c +++ b/cpukit/itron/src/itronsem.c @@ -1,5 +1,5 @@ /* - * COPYRIGHT (c) 1989-1999. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -14,7 +14,7 @@ #endif #include - +#include #include #include #include @@ -26,22 +26,20 @@ * * This routine initializes all semaphore manager related data structures. * - * Input parameters: - * maximum_semaphores - maximum configured semaphores + * Input parameters: NONE * * Output parameters: NONE */ -void _ITRON_Semaphore_Manager_initialization( - uint32_t maximum_semaphores -) +void _ITRON_Semaphore_Manager_initialization(void) { _Objects_Initialize_information( - &_ITRON_Semaphore_Information, /* object information table */ - OBJECTS_ITRON_API, /* object API */ - OBJECTS_ITRON_SEMAPHORES, /* object class */ - maximum_semaphores, /* maximum objects of this class */ - sizeof( ITRON_Semaphore_Control ), /* size of this object's control block */ + &_ITRON_Semaphore_Information, /* object information table */ + OBJECTS_ITRON_API, /* object API */ + OBJECTS_ITRON_SEMAPHORES, /* object class */ + Configuration_ITRON_API.maximum_semaphores, + /* maximum objects of this class */ + sizeof(ITRON_Semaphore_Control), /* size of this object's control block */ FALSE, /* TRUE if names for this object are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */ #if defined(RTEMS_MULTIPROCESSING) diff --git a/cpukit/itron/src/mbox.c b/cpukit/itron/src/mbox.c index 19a4ca1257..b0888dc2bc 100644 --- a/cpukit/itron/src/mbox.c +++ b/cpukit/itron/src/mbox.c @@ -1,7 +1,7 @@ /* * ITRON 3.0 Mailbox Manager * - * COPYRIGHT (c) 1989-1999. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -16,7 +16,7 @@ #endif #include - +#include #include #include @@ -25,21 +25,19 @@ * * This routine initializes all mailboxes manager related data structures. * - * Input parameters: - * maximum_mailboxes - maximum configured mailboxes + * Input parameters: NONE * * Output parameters: NONE */ -void _ITRON_Mailbox_Manager_initialization( - uint32_t maximum_mailboxes -) +void _ITRON_Mailbox_Manager_initialization(void) { _Objects_Initialize_information( &_ITRON_Mailbox_Information, /* object information table */ OBJECTS_ITRON_API, /* object API */ OBJECTS_ITRON_MAILBOXES, /* object class */ - maximum_mailboxes, /* maximum objects of this class */ + Configuration_ITRON_API.maximum_mailboxes, + /* maximum objects of this class */ sizeof( ITRON_Mailbox_Control ), /* size of this object's control block */ FALSE, /* TRUE if names for this object are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */ diff --git a/cpukit/itron/src/msgbuffer.c b/cpukit/itron/src/msgbuffer.c index fdf714ec1f..0945c4967d 100644 --- a/cpukit/itron/src/msgbuffer.c +++ b/cpukit/itron/src/msgbuffer.c @@ -1,7 +1,7 @@ /* * ITRON Message Buffer Manager * - * COPYRIGHT (c) 1989-1999. + * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -16,7 +16,7 @@ #endif #include - +#include #include #include @@ -26,21 +26,19 @@ * This routine initializes all message buffer manager related data * structures. * - * Input parameters: - * maximum_message_buffers - maximum configured message buffers + * Input parameters: NONE * * Output parameters: NONE */ -void _ITRON_Message_buffer_Manager_initialization( - uint32_t maximum_message_buffers -) +void _ITRON_Message_buffer_Manager_initialization(void) { _Objects_Initialize_information( &_ITRON_Message_buffer_Information, /* object information table */ OBJECTS_ITRON_API, /* object API */ OBJECTS_ITRON_MESSAGE_BUFFERS, /* object class */ - maximum_message_buffers, /* maximum objects of this class */ + Configuration_ITRON_API.maximum_message_buffers, + /* maximum objects of this class */ sizeof( ITRON_Message_buffer_Control ), /* size of this object's control block */ FALSE, /* TRUE if names for this object are strings */ diff --git a/cpukit/itron/src/port.c b/cpukit/itron/src/port.c index afb6e5959f..cd7f40b626 100644 --- a/cpukit/itron/src/port.c +++ b/cpukit/itron/src/port.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,7 +14,7 @@ #endif #include - +#include #include /* @@ -22,21 +22,19 @@ * * This routine initializes all ports manager related data structures. * - * Input parameters: - * maximum_ports - maximum configured ports + * Input parameters: NONE * * Output parameters: NONE */ -void _ITRON_Port_Manager_initialization( - uint32_t maximum_ports -) +void _ITRON_Port_Manager_initialization(void) { _Objects_Initialize_information( &_ITRON_Port_Information, /* object information table */ OBJECTS_ITRON_API, /* object API */ OBJECTS_ITRON_PORTS, /* object class */ - maximum_ports, /* maximum objects of this class */ + Configuration_ITRON_API.maximum_ports, + /* maximum objects of this class */ sizeof( ITRON_Port_Control ), /* size of this object's control block */ FALSE, /* TRUE if names for this object are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */ diff --git a/cpukit/itron/src/task.c b/cpukit/itron/src/task.c index b52663d160..180924eb3d 100644 --- a/cpukit/itron/src/task.c +++ b/cpukit/itron/src/task.c @@ -14,7 +14,7 @@ #endif #include - +#include #include #include #include @@ -148,21 +148,15 @@ User_extensions_Control _ITRON_Task_User_extensions = { * Output parameters: NONE */ -void _ITRON_Task_Manager_initialization( - uint32_t maximum_tasks, - uint32_t number_of_initialization_tasks, - itron_initialization_tasks_table *user_tasks -) +void _ITRON_Task_Manager_initialization(void) { - _ITRON_Task_Number_of_initialization_tasks = number_of_initialization_tasks; - _ITRON_Task_User_initialization_tasks = user_tasks; - _Objects_Initialize_information( &_ITRON_Task_Information, /* object information table */ OBJECTS_ITRON_API, /* object API */ OBJECTS_ITRON_TASKS, /* object class */ - maximum_tasks, /* maximum objects of this class */ + Configuration_ITRON_API.maximum_tasks, + /* maximum objects of this class */ sizeof( Thread_Control ), /* size of this object's control block */ FALSE, /* TRUE if names for this object are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */ diff --git a/cpukit/itron/src/vmempool.c b/cpukit/itron/src/vmempool.c index a14fac6b82..78b17a9c27 100644 --- a/cpukit/itron/src/vmempool.c +++ b/cpukit/itron/src/vmempool.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,7 +14,7 @@ #endif #include - +#include #include /* @@ -29,15 +29,14 @@ * Output parameters: NONE */ -void _ITRON_Variable_memory_pool_Manager_initialization( - uint32_t maximum_variable_memory_pools -) +void _ITRON_Variable_memory_pool_Manager_initialization(void) { _Objects_Initialize_information( &_ITRON_Variable_memory_pool_Information, /* object information table */ OBJECTS_ITRON_API, /* object API */ OBJECTS_ITRON_VARIABLE_MEMORY_POOLS, /* object class */ - maximum_variable_memory_pools, /* maximum objects of this class */ + Configuration_ITRON_API.maximum_memory_pools, + /* maximum objects of this class */ sizeof( ITRON_Variable_memory_pool_Control ), /* size of this object's control block */ FALSE, /* TRUE if names for this object are strings */ -- cgit v1.2.3