diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-11-06 11:26:58 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-11-07 15:08:43 +0100 |
commit | 75524a5e1355fca1d52bb940b4f3595b14337a77 (patch) | |
tree | d763d9ba854a7f555f33afda4ed9f24facd77d45 /cpukit/score/src/isr.c | |
parent | sapi: Use rtems_config*_get_microseconds_per_tick (diff) | |
download | rtems-75524a5e1355fca1d52bb940b4f3595b14337a77.tar.bz2 |
sapi: Use rtems_config*_get_interrupt_stack_size
Diffstat (limited to 'cpukit/score/src/isr.c')
-rw-r--r-- | cpukit/score/src/isr.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/cpukit/score/src/isr.c b/cpukit/score/src/isr.c index 2306f787ab..4407be5dcb 100644 --- a/cpukit/score/src/isr.c +++ b/cpukit/score/src/isr.c @@ -46,22 +46,25 @@ void _ISR_Handler_initialization( void ) #endif #if ( CPU_ALLOCATE_INTERRUPT_STACK == TRUE ) - - if ( !_Stack_Is_enough(Configuration.interrupt_stack_size) ) - _Internal_error_Occurred( - INTERNAL_ERROR_CORE, - true, - INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL + { + size_t stack_size = rtems_configuration_get_interrupt_stack_size(); + + if ( !_Stack_Is_enough( stack_size ) ) + _Internal_error_Occurred( + INTERNAL_ERROR_CORE, + true, + INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL + ); + + _CPU_Interrupt_stack_low = _Workspace_Allocate_or_fatal_error( + stack_size ); - _CPU_Interrupt_stack_low = _Workspace_Allocate_or_fatal_error( - Configuration.interrupt_stack_size - ); - - _CPU_Interrupt_stack_high = _Addresses_Add_offset( - _CPU_Interrupt_stack_low, - Configuration.interrupt_stack_size - ); + _CPU_Interrupt_stack_high = _Addresses_Add_offset( + _CPU_Interrupt_stack_low, + stack_size + ); + } #if (CPU_STACK_ALIGNMENT != 0) _CPU_Interrupt_stack_high = (void *) |