diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-01-28 17:19:01 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-01-28 17:19:01 +0000 |
commit | def9eef5f7fd8d82fcb194d77636cb7801d64394 (patch) | |
tree | 9169485a3638c511dd424a298183756b74fbd548 /cpukit/score | |
parent | 2008-01-25 Jennifer Averett <jennifer.averett@OARcorp.com> (diff) | |
download | rtems-def9eef5f7fd8d82fcb194d77636cb7801d64394.tar.bz2 |
2008-01-28 Joel Sherrill <joel.sherrill@OARcorp.com>
* sapi/include/confdefs.h, score/src/mpci.c, score/src/objectmp.c,
score/src/objectnametoid.c, score/src/objectnametoidstring.c:
Multiprocessing compiles again and survives initialization. The
recent object name and confdefs.h changes had broken it.
Diffstat (limited to 'cpukit/score')
-rw-r--r-- | cpukit/score/src/mpci.c | 7 | ||||
-rw-r--r-- | cpukit/score/src/objectmp.c | 2 | ||||
-rw-r--r-- | cpukit/score/src/objectnametoid.c | 6 | ||||
-rw-r--r-- | cpukit/score/src/objectnametoidstring.c | 6 |
4 files changed, 15 insertions, 6 deletions
diff --git a/cpukit/score/src/mpci.c b/cpukit/score/src/mpci.c index 17eb37625f..058191530d 100644 --- a/cpukit/score/src/mpci.c +++ b/cpukit/score/src/mpci.c @@ -95,10 +95,10 @@ void _MPCI_Handler_initialization( * This subprogram creates the MPCI receive server. */ -char *_MPCI_Internal_name = "MPCI"; - void _MPCI_Create_server( void ) { + Objects_Name name; + if ( !_System_state_Is_multiprocessing ) return; @@ -109,6 +109,7 @@ void _MPCI_Create_server( void ) _MPCI_Receive_server_tcb = _Thread_Internal_allocate(); + name.name_u32 = _Objects_Build_name( 'M', 'P', 'C', 'I' ); _Thread_Initialize( &_Thread_Internal_information, _MPCI_Receive_server_tcb, @@ -122,7 +123,7 @@ void _MPCI_Create_server( void ) THREAD_CPU_BUDGET_ALGORITHM_NONE, NULL, /* no budget algorithm callout */ 0, /* all interrupts enabled */ - _MPCI_Internal_name + name ); _Thread_Start( diff --git a/cpukit/score/src/objectmp.c b/cpukit/score/src/objectmp.c index dae942cb63..b9c05ee681 100644 --- a/cpukit/score/src/objectmp.c +++ b/cpukit/score/src/objectmp.c @@ -169,7 +169,7 @@ Objects_Name_or_id_lookup_errors _Objects_MP_Global_name_search ( Objects_MP_Control *the_object; uint32_t name_to_use; - name_to_use = (uint32_t)the_name; /* XXX only fixed length names */ + name_to_use = the_name.name_u32; /* XXX only fixed length names */ if ( nodes_to_search > _Objects_Maximum_nodes ) return OBJECTS_INVALID_NODE; diff --git a/cpukit/score/src/objectnametoid.c b/cpukit/score/src/objectnametoid.c index cc523e17b9..021e361cf7 100644 --- a/cpukit/score/src/objectnametoid.c +++ b/cpukit/score/src/objectnametoid.c @@ -58,6 +58,9 @@ Objects_Name_or_id_lookup_errors _Objects_Name_to_id_u32( Objects_Control *the_object; uint32_t index; uint32_t name_length; +#if defined(RTEMS_MULTIPROCESSING) + Objects_Name name_for_mp; +#endif /* ASSERT: information->is_string == FALSE */ @@ -95,7 +98,8 @@ Objects_Name_or_id_lookup_errors _Objects_Name_to_id_u32( if ( _Objects_Is_local_node( node ) || node == OBJECTS_SEARCH_LOCAL_NODE ) return OBJECTS_INVALID_NAME; - return ( _Objects_MP_Global_name_search( information, name, node, id ) ); + name_for_mp.name_u32 = name; + return _Objects_MP_Global_name_search( information, name_for_mp, node, id ); #else return OBJECTS_INVALID_NAME; #endif diff --git a/cpukit/score/src/objectnametoidstring.c b/cpukit/score/src/objectnametoidstring.c index f6ebd41d4e..2ab5d7e0c2 100644 --- a/cpukit/score/src/objectnametoidstring.c +++ b/cpukit/score/src/objectnametoidstring.c @@ -60,6 +60,9 @@ Objects_Name_or_id_lookup_errors _Objects_Name_to_id_string( Objects_Control *the_object; uint32_t index; uint32_t name_length; +#if defined(RTEMS_MULTIPROCESSING) + Objects_Name name_for_mp; +#endif /* ASSERT: information->is_string == TRUE */ @@ -100,7 +103,8 @@ Objects_Name_or_id_lookup_errors _Objects_Name_to_id_string( if ( _Objects_Is_local_node( node ) || node == OBJECTS_SEARCH_LOCAL_NODE ) return OBJECTS_INVALID_NAME; - return ( _Objects_MP_Global_name_search( information, name, node, id ) ); + name_for_mp.name_p = name; + return _Objects_MP_Global_name_search( information, name_for_mp, node, id ); #else return OBJECTS_INVALID_NAME; #endif |