summaryrefslogtreecommitdiffstats
path: root/c/src/libchip
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1996-04-22 16:49:25 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1996-04-22 16:49:25 +0000
commitf5674938bb6008a62223a71c97a4c7ce4c660ddc (patch)
tree348606b22e999260b549e3b4f9106c9a08f44092 /c/src/libchip
parentthread.c: added support for optional user provided stack allocator (diff)
downloadrtems-f5674938bb6008a62223a71c97a4c7ce4c660ddc.tar.bz2
Fixed so now supports more than 16 nodes. Tested for up to 24 nodes
by Tony Bennett. Information table is now malloc'ed.
Diffstat (limited to 'c/src/libchip')
-rw-r--r--c/src/libchip/shmdr/init.c9
-rw-r--r--c/src/libchip/shmdr/shm_driver.h2
2 files changed, 10 insertions, 1 deletions
diff --git a/c/src/libchip/shmdr/init.c b/c/src/libchip/shmdr/init.c
index 8b62d6fb46..a553e4ff9b 100644
--- a/c/src/libchip/shmdr/init.c
+++ b/c/src/libchip/shmdr/init.c
@@ -24,6 +24,8 @@
#include <shm.h>
#include <string.h> /* memset() */
+#include <stdlib.h> /* malloc() */
+#include <assert.h>
/*
* User extension to install MPCI_Fatal as a fatal error
@@ -53,6 +55,13 @@ rtems_mpci_entry Shm_Initialization( void )
Shm_Get_configuration( Shm_Local_node, &Shm_Configuration );
+ Shm_Interrupt_table = (Shm_Interrupt_information *) malloc(
+ 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;
diff --git a/c/src/libchip/shmdr/shm_driver.h b/c/src/libchip/shmdr/shm_driver.h
index 2b0e39320d..e7a8ae0496 100644
--- a/c/src/libchip/shmdr/shm_driver.h
+++ b/c/src/libchip/shmdr/shm_driver.h
@@ -430,7 +430,7 @@ typedef struct shm_config_info shm_config_table;
#endif
SHM_EXTERN shm_config_table *Shm_Configuration;
-SHM_EXTERN Shm_Interrupt_information Shm_Interrupt_table[16];
+SHM_EXTERN Shm_Interrupt_information *Shm_Interrupt_table;
SHM_EXTERN Shm_Node_status_control *Shm_Node_statuses;
SHM_EXTERN Shm_Locked_queue_Control *Shm_Locked_queues;
SHM_EXTERN Shm_Envelope_control *Shm_Envelopes;