<div dir="ltr">Other than bookkeeping, what is this going to be used for?<div><br></div><div>How is it configured? The _SMP_Fatal() call at the end of the patch hints</div><div>that there is some related configuration.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 3, 2016 at 8:47 AM, Sebastian Huber <span dir="ltr"><<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">---<br>
 cpukit/score/include/rtems/score/percpu.h | 19 +++++++++++++++++++<br>
 cpukit/score/src/smp.c                    |  2 ++<br>
 2 files changed, 21 insertions(+)<br>
<br>
diff --git a/cpukit/score/include/rtems/score/percpu.h b/cpukit/score/include/rtems/score/percpu.h<br>
index 2b05b78..19f46d2 100644<br>
--- a/cpukit/score/include/rtems/score/percpu.h<br>
+++ b/cpukit/score/include/rtems/score/percpu.h<br>
@@ -365,6 +365,12 @@ typedef struct Per_CPU_Control {<br>
      * _CPU_SMP_Start_processor().<br>
      */<br>
     bool online;<br>
+<br>
+    /**<br>
+     * @brief Indicates if the processor is the one that performed the initial<br>
+     * system initialization.<br>
+     */<br>
+    bool boot;<br>
   #endif<br>
<br>
   Per_CPU_Stats Stats;<br>
@@ -536,6 +542,19 @@ static inline bool _Per_CPU_Is_processor_online(<br>
 #endif<br>
 }<br>
<br>
+static inline bool _Per_CPU_Is_boot_processor(<br>
+  const Per_CPU_Control *cpu<br>
+)<br>
+{<br>
+#if defined( RTEMS_SMP )<br>
+  return cpu->boot;<br>
+#else<br>
+  (void) cpu;<br>
+<br>
+  return true;<br>
+#endif<br>
+}<br>
+<br>
 #if defined( RTEMS_SMP )<br>
<br>
 static inline void _Per_CPU_Send_interrupt( const Per_CPU_Control *cpu )<br>
diff --git a/cpukit/score/src/smp.c b/cpukit/score/src/smp.c<br>
index 68a55ff..8049643 100644<br>
--- a/cpukit/score/src/smp.c<br>
+++ b/cpukit/score/src/smp.c<br>
@@ -57,6 +57,8 @@ static void _SMP_Start_processors( uint32_t cpu_count )<br>
     } else {<br>
       started = true;<br>
<br>
+      cpu->boot = true;<br>
+<br>
       if ( !_Scheduler_Should_start_processor( assignment ) ) {<br>
         _SMP_Fatal( SMP_FATAL_BOOT_PROCESSOR_NOT_ASSIGNED_TO_SCHEDULER );<br>
       }<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.8.4.5<br>
<br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
</font></span></blockquote></div><br></div>