diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-02-17 13:46:11 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-02-19 09:59:40 +0100 |
commit | 9eec2f33e983d466f7677bc0769eafbc448f7cf6 (patch) | |
tree | f968675f2d6d64e50c02e8b9751e23ac4eac57d0 /cpukit/score/src/smp.c | |
parent | bsp/leon3: Add and use fatal codes (diff) | |
download | rtems-9eec2f33e983d466f7677bc0769eafbc448f7cf6.tar.bz2 |
score: Add RTEMS_FATAL_SOURCE_SMP
Use rtems_fatal() instead of _CPU_Fatal_halt() to shutdown processors in
SMP configurations since this allows intervention of BSP or application
specific fatal extensions.
Diffstat (limited to 'cpukit/score/src/smp.c')
-rw-r--r-- | cpukit/score/src/smp.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/cpukit/score/src/smp.c b/cpukit/score/src/smp.c index 50ebc132a8..994bfea922 100644 --- a/cpukit/score/src/smp.c +++ b/cpukit/score/src/smp.c @@ -23,6 +23,7 @@ #include <rtems/score/threadimpl.h> #include <rtems/score/smp.h> #include <rtems/config.h> +#include <rtems/fatal.h> #if defined(RTEMS_DEBUG) #include <rtems/bspIo.h> @@ -75,13 +76,9 @@ void rtems_smp_process_interrupt( void ) #endif if ( ( message & RTEMS_BSP_SMP_SHUTDOWN ) != 0 ) { - _ISR_Disable_without_giant( level ); - - _Thread_Dispatch_set_disable_level( 0 ); - _Per_CPU_Change_state( self_cpu, PER_CPU_STATE_SHUTDOWN ); - _CPU_Fatal_halt( _Per_CPU_Get_index( self_cpu ) ); + rtems_fatal( RTEMS_FATAL_SOURCE_SMP, SMP_FATAL_SHUTDOWN ); /* does not continue past here */ } } |