2002-07-01 Joel Sherrill <joel@OARcorp.com>

* Mega patch merge to change the format of the object IDs to
	loosen the dependency between the SCORE and the various APIs.
	There was considerable work to simplify the object name management
        and it appears that the name_table field is no longer needed.
	This patch also includes the addition of the internal mutex
	which is currently only used to protect some types of allocation
	and deallocation.  This significantly can reduce context
	switch latency under certain circumstances.  In particular,
	some heap/region operations were O(n) and had dispatching
	disabled.  This should help enormously.  With this merge,
	the patch is not as clean as it should be.  In particular,
	the documentation has not been modified to reflect the new object
	ID layout, the IDs in the test screens are not updated, and
	_Objects_Get_information needs to be a real routine not inlined.
	As part of this patch a lot of MP code for thread/proxy blocking
	was made conditional and cleaned up.
	* src/cre_mbf.c, src/cre_sem.c, src/eventflags.c, src/fmempool.c,
	src/itronsem.c, src/mbox.c, src/msgbuffer.c, src/port.c, src/task.c,
	src/vmempool.c:  Modified as part of above.
This commit is contained in:
Joel Sherrill
2002-07-01 22:35:43 +00:00
parent 2e2cf92151
commit 9fbe22ccd3
22 changed files with 192 additions and 134 deletions

View File

@@ -1,3 +1,24 @@
2002-07-01 Joel Sherrill <joel@OARcorp.com>
* Mega patch merge to change the format of the object IDs to
loosen the dependency between the SCORE and the various APIs.
There was considerable work to simplify the object name management
and it appears that the name_table field is no longer needed.
This patch also includes the addition of the internal mutex
which is currently only used to protect some types of allocation
and deallocation. This significantly can reduce context
switch latency under certain circumstances. In particular,
some heap/region operations were O(n) and had dispatching
disabled. This should help enormously. With this merge,
the patch is not as clean as it should be. In particular,
the documentation has not been modified to reflect the new object
ID layout, the IDs in the test screens are not updated, and
_Objects_Get_information needs to be a real routine not inlined.
As part of this patch a lot of MP code for thread/proxy blocking
was made conditional and cleaned up.
* src/cre_mbf.c, src/cre_sem.c, src/eventflags.c, src/fmempool.c,
src/itronsem.c, src/mbox.c, src/msgbuffer.c, src/port.c, src/task.c,
src/vmempool.c: Modified as part of above.
2002-07-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de> 2002-07-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove RTEMS_PROJECT_ROOT. * configure.ac: Remove RTEMS_PROJECT_ROOT.

View File

@@ -67,11 +67,9 @@ ER cre_mbf(
_CORE_message_queue_Initialize( _CORE_message_queue_Initialize(
&the_message_buffer->message_queue, &the_message_buffer->message_queue,
OBJECTS_ITRON_MESSAGE_BUFFERS,
&the_msgq_attributes, &the_msgq_attributes,
pk_cmbf->bufsz / pk_cmbf->maxmsz, pk_cmbf->bufsz / pk_cmbf->maxmsz,
pk_cmbf->maxmsz, pk_cmbf->maxmsz
NULL /* Multiprocessing not supported */
); );
_ITRON_Objects_Open( &_ITRON_Message_buffer_Information, _ITRON_Objects_Open( &_ITRON_Message_buffer_Information,

View File

@@ -79,10 +79,8 @@ ER cre_sem(
_CORE_semaphore_Initialize( _CORE_semaphore_Initialize(
&the_semaphore->semaphore, &the_semaphore->semaphore,
OBJECTS_ITRON_SEMAPHORES,
&the_semaphore_attributes, &the_semaphore_attributes,
pk_csem->isemcnt, pk_csem->isemcnt
NULL /* Multiprocessing not supported */
); );
_ITRON_Objects_Open( &_ITRON_Semaphore_Information, &the_semaphore->Object ); _ITRON_Objects_Open( &_ITRON_Semaphore_Information, &the_semaphore->Object );

View File

@@ -34,17 +34,18 @@ void _ITRON_Eventflags_Manager_initialization(
{ {
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Eventflags_Information, /* object information table */ &_ITRON_Eventflags_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_EVENTFLAGS, /* object class */ OBJECTS_ITRON_EVENTFLAGS, /* object class */
FALSE, /* TRUE if this is a global */
/* object class */
maximum_eventflags, /* maximum objects of this class */ maximum_eventflags, /* maximum objects of this class */
sizeof( ITRON_Eventflags_Control ), /* size of this object's */ sizeof( ITRON_Eventflags_Control ),
/* control block */ /* size of this object's control block */
FALSE, /* TRUE if names for this object */ FALSE, /* TRUE if names for this object are strings */
/* are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each object's */ #if defined(RTEMS_MULTIPROCESSING)
/* name */ ,
FALSE /* TRUE if this class is threads */ FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -35,17 +35,18 @@ void _ITRON_Fixed_memory_pool_Manager_initialization(
{ {
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Fixed_memory_pool_Information, /* object information table */ &_ITRON_Fixed_memory_pool_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_FIXED_MEMORY_POOLS, /* object class */ OBJECTS_ITRON_FIXED_MEMORY_POOLS, /* object class */
FALSE, /* TRUE if this is a global */
/* object class */
maximum_fixed_memory_pools, /* maximum objects of this class */ maximum_fixed_memory_pools, /* maximum objects of this class */
sizeof( ITRON_Fixed_memory_pool_Control ), sizeof( ITRON_Fixed_memory_pool_Control ),
/* size of this object's control block */ /* size of this object's control block */
FALSE, /* TRUE if names for this object */ FALSE, /* TRUE if names for this object are strings */
/* are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each object's */ #if defined(RTEMS_MULTIPROCESSING)
/* name */ ,
FALSE /* TRUE if this class is threads */ FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -38,16 +38,17 @@ void _ITRON_Semaphore_Manager_initialization(
{ {
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Semaphore_Information, /* object information table */ &_ITRON_Semaphore_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_SEMAPHORES, /* object class */ OBJECTS_ITRON_SEMAPHORES, /* object class */
FALSE, /* TRUE if this is a global */
/* object class */
maximum_semaphores, /* maximum objects of this class */ maximum_semaphores, /* maximum objects of this class */
sizeof( ITRON_Semaphore_Control ), /* size of this object's control block */ sizeof( ITRON_Semaphore_Control ), /* size of this object's control block */
FALSE, /* TRUE if names for this object */ FALSE, /* TRUE if names for this object are strings */
/* are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each object's */ #if defined(RTEMS_MULTIPROCESSING)
/* name */ ,
FALSE /* TRUE if this class is threads */ FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -36,17 +36,18 @@ void _ITRON_Mailbox_Manager_initialization(
) )
{ {
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Mailbox_Information, /* object information table */ &_ITRON_Mailbox_Information, /* object information table */
OBJECTS_ITRON_MAILBOXES, /* object class */ OBJECTS_ITRON_API, /* object API */
FALSE, /* TRUE if this is a global */ OBJECTS_ITRON_MAILBOXES, /* object class */
/* object class */ maximum_mailboxes, /* maximum objects of this class */
maximum_mailboxes, /* maximum objects of this class */
sizeof( ITRON_Mailbox_Control ), /* size of this object's control block */ sizeof( ITRON_Mailbox_Control ), /* size of this object's control block */
FALSE, /* TRUE if names for this object */ FALSE, /* TRUE if names for this object are strings */
/* are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each object's */ #if defined(RTEMS_MULTIPROCESSING)
/* name */ ,
FALSE /* TRUE if this class is threads */ FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -38,18 +38,18 @@ void _ITRON_Message_buffer_Manager_initialization(
{ {
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Message_buffer_Information, /* object information table */ &_ITRON_Message_buffer_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_MESSAGE_BUFFERS, /* object class */ OBJECTS_ITRON_MESSAGE_BUFFERS, /* object class */
FALSE, /* TRUE if this is a
global object class */
maximum_message_buffers, /* maximum objects of this class */ maximum_message_buffers, /* maximum objects of this class */
sizeof( ITRON_Message_buffer_Control ), /* size of this sizeof( ITRON_Message_buffer_Control ),
object's control /* size of this object's control block */
block */ FALSE, /* TRUE if names for this object are strings */
FALSE, /* TRUE if names for this ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
object are strings */ #if defined(RTEMS_MULTIPROCESSING)
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each ,
object's name */ FALSE, /* TRUE if this is a global object class */
FALSE /* TRUE if this class is threads */ NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -34,14 +34,17 @@ void _ITRON_Port_Manager_initialization(
{ {
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Port_Information, /* object information table */ &_ITRON_Port_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_PORTS, /* object class */ OBJECTS_ITRON_PORTS, /* object class */
FALSE, /* TRUE if this is a global object class */
maximum_ports, /* maximum objects of this class */ maximum_ports, /* maximum objects of this class */
sizeof( ITRON_Port_Control ), /* size of this object's control block */ sizeof( ITRON_Port_Control ), /* size of this object's control block */
FALSE, /* TRUE if names for this object */ FALSE, /* TRUE if names for this object are strings */
/* are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each object's name */ #if defined(RTEMS_MULTIPROCESSING)
FALSE /* TRUE if this class is threads */ ,
FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -198,13 +198,17 @@ void _ITRON_Task_Manager_initialization(
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Task_Information, /* object information table */ &_ITRON_Task_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_TASKS, /* object class */ OBJECTS_ITRON_TASKS, /* object class */
FALSE, /* TRUE if this is a global object class */
maximum_tasks, /* maximum objects of this class */ maximum_tasks, /* maximum objects of this class */
sizeof( Thread_Control ), /* size of this object's control block */ sizeof( Thread_Control ), /* size of this object's control block */
FALSE, /* TRUE if names for this object are strings */ FALSE, /* TRUE if names for this object are strings */
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each object's name */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
TRUE /* TRUE if this class is threads */ #if defined(RTEMS_MULTIPROCESSING)
,
FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -35,17 +35,18 @@ void _ITRON_Variable_memory_pool_Manager_initialization(
{ {
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Variable_memory_pool_Information, /* object information table */ &_ITRON_Variable_memory_pool_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_VARIABLE_MEMORY_POOLS, /* object class */ OBJECTS_ITRON_VARIABLE_MEMORY_POOLS, /* object class */
FALSE, /* TRUE if this is a global */ maximum_variable_memory_pools, /* maximum objects of this class */
/* object class */
maximum_variable_memory_pools, /* maximum objects of this class */
sizeof( ITRON_Variable_memory_pool_Control ), sizeof( ITRON_Variable_memory_pool_Control ),
/* size of this object's control block */ /* size of this object's control block */
FALSE, /* TRUE if names for this object */ FALSE, /* TRUE if names for this object are strings */
/* are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each object's */ #if defined(RTEMS_MULTIPROCESSING)
/* name */ ,
FALSE /* TRUE if this class is threads */ FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -1,3 +1,24 @@
2002-07-01 Joel Sherrill <joel@OARcorp.com>
* Mega patch merge to change the format of the object IDs to
loosen the dependency between the SCORE and the various APIs.
There was considerable work to simplify the object name management
and it appears that the name_table field is no longer needed.
This patch also includes the addition of the internal mutex
which is currently only used to protect some types of allocation
and deallocation. This significantly can reduce context
switch latency under certain circumstances. In particular,
some heap/region operations were O(n) and had dispatching
disabled. This should help enormously. With this merge,
the patch is not as clean as it should be. In particular,
the documentation has not been modified to reflect the new object
ID layout, the IDs in the test screens are not updated, and
_Objects_Get_information needs to be a real routine not inlined.
As part of this patch a lot of MP code for thread/proxy blocking
was made conditional and cleaned up.
* src/cre_mbf.c, src/cre_sem.c, src/eventflags.c, src/fmempool.c,
src/itronsem.c, src/mbox.c, src/msgbuffer.c, src/port.c, src/task.c,
src/vmempool.c: Modified as part of above.
2002-07-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de> 2002-07-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove RTEMS_PROJECT_ROOT. * configure.ac: Remove RTEMS_PROJECT_ROOT.

View File

@@ -67,11 +67,9 @@ ER cre_mbf(
_CORE_message_queue_Initialize( _CORE_message_queue_Initialize(
&the_message_buffer->message_queue, &the_message_buffer->message_queue,
OBJECTS_ITRON_MESSAGE_BUFFERS,
&the_msgq_attributes, &the_msgq_attributes,
pk_cmbf->bufsz / pk_cmbf->maxmsz, pk_cmbf->bufsz / pk_cmbf->maxmsz,
pk_cmbf->maxmsz, pk_cmbf->maxmsz
NULL /* Multiprocessing not supported */
); );
_ITRON_Objects_Open( &_ITRON_Message_buffer_Information, _ITRON_Objects_Open( &_ITRON_Message_buffer_Information,

View File

@@ -79,10 +79,8 @@ ER cre_sem(
_CORE_semaphore_Initialize( _CORE_semaphore_Initialize(
&the_semaphore->semaphore, &the_semaphore->semaphore,
OBJECTS_ITRON_SEMAPHORES,
&the_semaphore_attributes, &the_semaphore_attributes,
pk_csem->isemcnt, pk_csem->isemcnt
NULL /* Multiprocessing not supported */
); );
_ITRON_Objects_Open( &_ITRON_Semaphore_Information, &the_semaphore->Object ); _ITRON_Objects_Open( &_ITRON_Semaphore_Information, &the_semaphore->Object );

View File

@@ -34,17 +34,18 @@ void _ITRON_Eventflags_Manager_initialization(
{ {
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Eventflags_Information, /* object information table */ &_ITRON_Eventflags_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_EVENTFLAGS, /* object class */ OBJECTS_ITRON_EVENTFLAGS, /* object class */
FALSE, /* TRUE if this is a global */
/* object class */
maximum_eventflags, /* maximum objects of this class */ maximum_eventflags, /* maximum objects of this class */
sizeof( ITRON_Eventflags_Control ), /* size of this object's */ sizeof( ITRON_Eventflags_Control ),
/* control block */ /* size of this object's control block */
FALSE, /* TRUE if names for this object */ FALSE, /* TRUE if names for this object are strings */
/* are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each object's */ #if defined(RTEMS_MULTIPROCESSING)
/* name */ ,
FALSE /* TRUE if this class is threads */ FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -35,17 +35,18 @@ void _ITRON_Fixed_memory_pool_Manager_initialization(
{ {
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Fixed_memory_pool_Information, /* object information table */ &_ITRON_Fixed_memory_pool_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_FIXED_MEMORY_POOLS, /* object class */ OBJECTS_ITRON_FIXED_MEMORY_POOLS, /* object class */
FALSE, /* TRUE if this is a global */
/* object class */
maximum_fixed_memory_pools, /* maximum objects of this class */ maximum_fixed_memory_pools, /* maximum objects of this class */
sizeof( ITRON_Fixed_memory_pool_Control ), sizeof( ITRON_Fixed_memory_pool_Control ),
/* size of this object's control block */ /* size of this object's control block */
FALSE, /* TRUE if names for this object */ FALSE, /* TRUE if names for this object are strings */
/* are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each object's */ #if defined(RTEMS_MULTIPROCESSING)
/* name */ ,
FALSE /* TRUE if this class is threads */ FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -38,16 +38,17 @@ void _ITRON_Semaphore_Manager_initialization(
{ {
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Semaphore_Information, /* object information table */ &_ITRON_Semaphore_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_SEMAPHORES, /* object class */ OBJECTS_ITRON_SEMAPHORES, /* object class */
FALSE, /* TRUE if this is a global */
/* object class */
maximum_semaphores, /* maximum objects of this class */ maximum_semaphores, /* maximum objects of this class */
sizeof( ITRON_Semaphore_Control ), /* size of this object's control block */ sizeof( ITRON_Semaphore_Control ), /* size of this object's control block */
FALSE, /* TRUE if names for this object */ FALSE, /* TRUE if names for this object are strings */
/* are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each object's */ #if defined(RTEMS_MULTIPROCESSING)
/* name */ ,
FALSE /* TRUE if this class is threads */ FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -36,17 +36,18 @@ void _ITRON_Mailbox_Manager_initialization(
) )
{ {
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Mailbox_Information, /* object information table */ &_ITRON_Mailbox_Information, /* object information table */
OBJECTS_ITRON_MAILBOXES, /* object class */ OBJECTS_ITRON_API, /* object API */
FALSE, /* TRUE if this is a global */ OBJECTS_ITRON_MAILBOXES, /* object class */
/* object class */ maximum_mailboxes, /* maximum objects of this class */
maximum_mailboxes, /* maximum objects of this class */
sizeof( ITRON_Mailbox_Control ), /* size of this object's control block */ sizeof( ITRON_Mailbox_Control ), /* size of this object's control block */
FALSE, /* TRUE if names for this object */ FALSE, /* TRUE if names for this object are strings */
/* are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each object's */ #if defined(RTEMS_MULTIPROCESSING)
/* name */ ,
FALSE /* TRUE if this class is threads */ FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -38,18 +38,18 @@ void _ITRON_Message_buffer_Manager_initialization(
{ {
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Message_buffer_Information, /* object information table */ &_ITRON_Message_buffer_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_MESSAGE_BUFFERS, /* object class */ OBJECTS_ITRON_MESSAGE_BUFFERS, /* object class */
FALSE, /* TRUE if this is a
global object class */
maximum_message_buffers, /* maximum objects of this class */ maximum_message_buffers, /* maximum objects of this class */
sizeof( ITRON_Message_buffer_Control ), /* size of this sizeof( ITRON_Message_buffer_Control ),
object's control /* size of this object's control block */
block */ FALSE, /* TRUE if names for this object are strings */
FALSE, /* TRUE if names for this ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
object are strings */ #if defined(RTEMS_MULTIPROCESSING)
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each ,
object's name */ FALSE, /* TRUE if this is a global object class */
FALSE /* TRUE if this class is threads */ NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -34,14 +34,17 @@ void _ITRON_Port_Manager_initialization(
{ {
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Port_Information, /* object information table */ &_ITRON_Port_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_PORTS, /* object class */ OBJECTS_ITRON_PORTS, /* object class */
FALSE, /* TRUE if this is a global object class */
maximum_ports, /* maximum objects of this class */ maximum_ports, /* maximum objects of this class */
sizeof( ITRON_Port_Control ), /* size of this object's control block */ sizeof( ITRON_Port_Control ), /* size of this object's control block */
FALSE, /* TRUE if names for this object */ FALSE, /* TRUE if names for this object are strings */
/* are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each object's name */ #if defined(RTEMS_MULTIPROCESSING)
FALSE /* TRUE if this class is threads */ ,
FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -198,13 +198,17 @@ void _ITRON_Task_Manager_initialization(
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Task_Information, /* object information table */ &_ITRON_Task_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_TASKS, /* object class */ OBJECTS_ITRON_TASKS, /* object class */
FALSE, /* TRUE if this is a global object class */
maximum_tasks, /* maximum objects of this class */ maximum_tasks, /* maximum objects of this class */
sizeof( Thread_Control ), /* size of this object's control block */ sizeof( Thread_Control ), /* size of this object's control block */
FALSE, /* TRUE if names for this object are strings */ FALSE, /* TRUE if names for this object are strings */
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each object's name */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
TRUE /* TRUE if this class is threads */ #if defined(RTEMS_MULTIPROCESSING)
,
FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
); );
/* /*

View File

@@ -35,17 +35,18 @@ void _ITRON_Variable_memory_pool_Manager_initialization(
{ {
_Objects_Initialize_information( _Objects_Initialize_information(
&_ITRON_Variable_memory_pool_Information, /* object information table */ &_ITRON_Variable_memory_pool_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_VARIABLE_MEMORY_POOLS, /* object class */ OBJECTS_ITRON_VARIABLE_MEMORY_POOLS, /* object class */
FALSE, /* TRUE if this is a global */ maximum_variable_memory_pools, /* maximum objects of this class */
/* object class */
maximum_variable_memory_pools, /* maximum objects of this class */
sizeof( ITRON_Variable_memory_pool_Control ), sizeof( ITRON_Variable_memory_pool_Control ),
/* size of this object's control block */ /* size of this object's control block */
FALSE, /* TRUE if names for this object */ FALSE, /* TRUE if names for this object are strings */
/* are strings */ ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
ITRON_MAXIMUM_NAME_LENGTH, /* maximum length of each object's */ #if defined(RTEMS_MULTIPROCESSING)
/* name */ ,
FALSE /* TRUE if this class is threads */ FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
); );
/* /*