From 9928d0887de24d848a248798edaabc8c2586b7a4 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 13 Dec 2000 22:13:32 +0000 Subject: 2000-12-13 Joel Sherrill * include/rtems/score/isr.h, src/isr.c: Allocate it from the workspace rather than explicitly declaring it. This allows the size to be a non-constant from the perspective of score/cpu. --- c/src/exec/score/ChangeLog | 6 ++++++ c/src/exec/score/include/rtems/score/isr.h | 2 +- c/src/exec/score/src/isr.c | 4 ++++ cpukit/score/ChangeLog | 6 ++++++ cpukit/score/include/rtems/score/isr.h | 2 +- cpukit/score/src/isr.c | 4 ++++ 6 files changed, 22 insertions(+), 2 deletions(-) diff --git a/c/src/exec/score/ChangeLog b/c/src/exec/score/ChangeLog index cca0c595b7..af36ef47ea 100644 --- a/c/src/exec/score/ChangeLog +++ b/c/src/exec/score/ChangeLog @@ -1,4 +1,10 @@ +2000-12-13 Joel Sherrill + + * include/rtems/score/isr.h, src/isr.c: Allocate it from the + workspace rather than explicitly declaring it. This allows + the size to be a non-constant from the perspective of score/cpu. + 2000-12-01 Joel Sherrill * macros/rtems/score/coresem.inl: Removed comments since convention diff --git a/c/src/exec/score/include/rtems/score/isr.h b/c/src/exec/score/include/rtems/score/isr.h index 2cba4394d4..84052339f1 100644 --- a/c/src/exec/score/include/rtems/score/isr.h +++ b/c/src/exec/score/include/rtems/score/isr.h @@ -88,7 +88,7 @@ SCORE_EXTERN volatile unsigned32 _ISR_Nest_level; * interrupt service routines are vectored by the ISR Handler via this table. */ -SCORE_EXTERN ISR_Handler_entry _ISR_Vector_table[ ISR_NUMBER_OF_VECTORS ]; +SCORE_EXTERN ISR_Handler_entry *_ISR_Vector_table; /* * _ISR_Handler_initialization diff --git a/c/src/exec/score/src/isr.c b/c/src/exec/score/src/isr.c index b187fda581..16b73861cf 100644 --- a/c/src/exec/score/src/isr.c +++ b/c/src/exec/score/src/isr.c @@ -42,6 +42,10 @@ void _ISR_Handler_initialization( void ) INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL ); + _ISR_Vector_table = _Workspace_Allocate_or_fatal_error( + sizeof(ISR_Handler_entry) * ISR_NUMBER_OF_VECTORS + ); + _CPU_Interrupt_stack_low = _Workspace_Allocate_or_fatal_error( _CPU_Table.interrupt_stack_size ); diff --git a/cpukit/score/ChangeLog b/cpukit/score/ChangeLog index cca0c595b7..af36ef47ea 100644 --- a/cpukit/score/ChangeLog +++ b/cpukit/score/ChangeLog @@ -1,4 +1,10 @@ +2000-12-13 Joel Sherrill + + * include/rtems/score/isr.h, src/isr.c: Allocate it from the + workspace rather than explicitly declaring it. This allows + the size to be a non-constant from the perspective of score/cpu. + 2000-12-01 Joel Sherrill * macros/rtems/score/coresem.inl: Removed comments since convention diff --git a/cpukit/score/include/rtems/score/isr.h b/cpukit/score/include/rtems/score/isr.h index 2cba4394d4..84052339f1 100644 --- a/cpukit/score/include/rtems/score/isr.h +++ b/cpukit/score/include/rtems/score/isr.h @@ -88,7 +88,7 @@ SCORE_EXTERN volatile unsigned32 _ISR_Nest_level; * interrupt service routines are vectored by the ISR Handler via this table. */ -SCORE_EXTERN ISR_Handler_entry _ISR_Vector_table[ ISR_NUMBER_OF_VECTORS ]; +SCORE_EXTERN ISR_Handler_entry *_ISR_Vector_table; /* * _ISR_Handler_initialization diff --git a/cpukit/score/src/isr.c b/cpukit/score/src/isr.c index b187fda581..16b73861cf 100644 --- a/cpukit/score/src/isr.c +++ b/cpukit/score/src/isr.c @@ -42,6 +42,10 @@ void _ISR_Handler_initialization( void ) INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL ); + _ISR_Vector_table = _Workspace_Allocate_or_fatal_error( + sizeof(ISR_Handler_entry) * ISR_NUMBER_OF_VECTORS + ); + _CPU_Interrupt_stack_low = _Workspace_Allocate_or_fatal_error( _CPU_Table.interrupt_stack_size ); -- cgit v1.2.3