[PATCH] SMP: make IPI fatal code unique

Daniel Hellstrom daniel at gaisler.com
Fri May 23 12:27:12 UTC 2014


The same smp fatal code is used in percpu
_Per_CPU_State_change(). In order to determine which CPU
requested a fatal shutdown and which CPU responds to it a
unique code should be used.

A unique code makes it also possible to handle the CPUs
differently in the fatal exception handler.
---
 cpukit/score/include/rtems/score/smpimpl.h |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/cpukit/score/include/rtems/score/smpimpl.h b/cpukit/score/include/rtems/score/smpimpl.h
index ac04833..4ef5045 100644
--- a/cpukit/score/include/rtems/score/smpimpl.h
+++ b/cpukit/score/include/rtems/score/smpimpl.h
@@ -59,7 +59,8 @@ typedef enum {
   SMP_FATAL_BOOT_PROCESSOR_NOT_ASSIGNED_TO_SCHEDULER,
   SMP_FATAL_MANDATORY_PROCESSOR_NOT_PRESENT,
   SMP_FATAL_MULTITASKING_START_ON_UNASSIGNED_PROCESSOR,
-  SMP_FATAL_START_OF_MANDATORY_PROCESSOR_FAILED
+  SMP_FATAL_START_OF_MANDATORY_PROCESSOR_FAILED,
+  SMP_FATAL_SHUTDOWN_RESPONSE
 } SMP_Fatal_code;
 
 static inline void _SMP_Fatal( SMP_Fatal_code code )
@@ -140,7 +141,7 @@ static inline void _SMP_Inter_processor_interrupt_handler( void )
     );
 
     if ( ( message & SMP_MESSAGE_SHUTDOWN ) != 0 ) {
-      rtems_fatal( RTEMS_FATAL_SOURCE_SMP, SMP_FATAL_SHUTDOWN );
+      rtems_fatal( RTEMS_FATAL_SOURCE_SMP, SMP_FATAL_SHUTDOWN_RESPONSE );
       /* does not continue past here */
     }
 
-- 
1.7.0.4




More information about the devel mailing list