diff options
Diffstat (limited to 'c/src/lib/libbsp/shmdr')
-rw-r--r-- | c/src/lib/libbsp/shmdr/init.c | 9 | ||||
-rw-r--r-- | c/src/lib/libbsp/shmdr/shm.h | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/shmdr/shm_driver.h | 2 |
3 files changed, 11 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/shmdr/init.c b/c/src/lib/libbsp/shmdr/init.c index 8b62d6fb46..a553e4ff9b 100644 --- a/c/src/lib/libbsp/shmdr/init.c +++ b/c/src/lib/libbsp/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/lib/libbsp/shmdr/shm.h b/c/src/lib/libbsp/shmdr/shm.h index 2b0e39320d..e7a8ae0496 100644 --- a/c/src/lib/libbsp/shmdr/shm.h +++ b/c/src/lib/libbsp/shmdr/shm.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; diff --git a/c/src/lib/libbsp/shmdr/shm_driver.h b/c/src/lib/libbsp/shmdr/shm_driver.h index 2b0e39320d..e7a8ae0496 100644 --- a/c/src/lib/libbsp/shmdr/shm_driver.h +++ b/c/src/lib/libbsp/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; |