summaryrefslogtreecommitdiffstats
path: root/c/src/libchip/shmdr/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/libchip/shmdr/init.c')
-rw-r--r--c/src/libchip/shmdr/init.c39
1 files changed, 18 insertions, 21 deletions
diff --git a/c/src/libchip/shmdr/init.c b/c/src/libchip/shmdr/init.c
index 131ff24257..cf1d33f76a 100644
--- a/c/src/libchip/shmdr/init.c
+++ b/c/src/libchip/shmdr/init.c
@@ -33,34 +33,31 @@
rtems_extensions_table MPCI_Shm_extensions;
+/*
+ * MP configuration table from confdefs.h
+ */
+
rtems_mpci_entry Shm_Initialization( void )
{
- uint32_t i, all_initialized;
- uint32_t interrupt_cause, interrupt_value;
+ uint32_t i, all_initialized;
+ uint32_t interrupt_cause, interrupt_value;
void *interrupt_address;
Shm_Node_status_control *nscb;
- uint32_t extension_id; /* for installation of MPCI_Fatal */
- uint32_t remaining_memory;
-/* XXX these should use "public" methods to set their values.... */
- rtems_configuration_table *configuration = _Configuration_Table;
- rtems_multiprocessing_table *mp_configuration = _Configuration_MP_table;
+ uint32_t extension_id; /* for installation of MPCI_Fatal */
+ uint32_t remaining_memory;
+ uint32_t local_node;
- Shm_RTEMS_Configuration = configuration;
- Shm_RTEMS_MP_Configuration = mp_configuration;
+ local_node = _Configuration_MP_table->node;
- Shm_Local_node = Shm_RTEMS_MP_Configuration->node;
- Shm_Maximum_nodes = Shm_RTEMS_MP_Configuration->maximum_nodes;
-
- Shm_Get_configuration( Shm_Local_node, &Shm_Configuration );
+ Shm_Get_configuration( local_node, &Shm_Configuration );
Shm_Interrupt_table = (Shm_Interrupt_information *) malloc(
- sizeof(Shm_Interrupt_information) * (Shm_Maximum_nodes + 1)
+ sizeof(Shm_Interrupt_information) * (SHM_MAXIMUM_NODES + 1)
);
assert( Shm_Interrupt_table );
-
Shm_Receive_message_count = 0;
Shm_Null_message_count = 0;
Shm_Interrupt_count = 0;
@@ -112,8 +109,8 @@ rtems_mpci_entry Shm_Initialization( void )
* processing it.
*/
- Shm_Local_receive_queue = &Shm_Locked_queues[ Shm_Local_node ];
- Shm_Local_node_status = &Shm_Node_statuses[ Shm_Local_node ];
+ Shm_Local_receive_queue = &Shm_Locked_queues[ local_node ];
+ Shm_Local_node_status = &Shm_Node_statuses[ local_node ];
/*
* Convert local interrupt cause information into the
@@ -150,7 +147,7 @@ rtems_mpci_entry Shm_Initialization( void )
Shm_Locked_queue_Initialize( FREE_ENV_CB, FREE_ENV_POOL );
- for ( i=SHM_FIRST_NODE ; i<=Shm_Maximum_nodes ; i++ ) {
+ for ( i=SHM_FIRST_NODE ; i<=SHM_MAXIMUM_NODES ; i++ ) {
Shm_Initialize_receive_queue( i );
Shm_Node_statuses[ i ].status = Shm_Pending_initialization;
@@ -185,7 +182,7 @@ rtems_mpci_entry Shm_Initialization( void )
do {
all_initialized = 1;
- for ( i = SHM_FIRST_NODE ; i <= Shm_Maximum_nodes ; i++ )
+ for ( i = SHM_FIRST_NODE ; i <= SHM_MAXIMUM_NODES ; i++ )
if ( Shm_Node_statuses[ i ].status != Shm_Initialization_complete )
all_initialized = 0;
@@ -195,7 +192,7 @@ rtems_mpci_entry Shm_Initialization( void )
* Tell the other nodes we think that the system is up.
*/
- for ( i = SHM_FIRST_NODE ; i <= Shm_Maximum_nodes ; i++ )
+ for ( i = SHM_FIRST_NODE ; i <= SHM_MAXIMUM_NODES ; i++ )
Shm_Node_statuses[ i ].status = Shm_Active_node;
} else { /* is not MASTER node */
@@ -233,7 +230,7 @@ rtems_mpci_entry Shm_Initialization( void )
* Initialize the Interrupt Information Table
*/
- for ( i = SHM_FIRST_NODE ; i <= Shm_Maximum_nodes ; i++ ) {
+ for ( i = SHM_FIRST_NODE ; i <= SHM_MAXIMUM_NODES ; i++ ) {
nscb = &Shm_Node_statuses[ i ];
Shm_Interrupt_table[i].address = Shm_Convert_address(