[rtems commit] score: Move _SMP_Handler_initialize()

Sebastian Huber sebh at rtems.org
Wed Feb 19 08:52:43 UTC 2014


Module:    rtems
Branch:    master
Commit:    282bfd3b41e3725ac9f5fb08b1e391af02572f4f
Changeset: http://git.rtems.org/rtems/commit/?id=282bfd3b41e3725ac9f5fb08b1e391af02572f4f

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Feb 18 13:03:27 2014 +0100

score: Move _SMP_Handler_initialize()

---

 cpukit/score/src/percpu.c |   31 -------------------------------
 cpukit/score/src/smp.c    |   22 ++++++++++++++++++++++
 2 files changed, 22 insertions(+), 31 deletions(-)

diff --git a/cpukit/score/src/percpu.c b/cpukit/score/src/percpu.c
index aa95aa9..c68f378 100644
--- a/cpukit/score/src/percpu.c
+++ b/cpukit/score/src/percpu.c
@@ -18,40 +18,9 @@
 #include "config.h"
 #endif
 
-#include <rtems/system.h>
-#include <rtems/score/address.h>
-#include <rtems/score/thread.h>
 #include <rtems/score/percpu.h>
-#include <rtems/score/wkspace.h>
-#include <rtems/config.h>
-#include <string.h>
 
 #if defined(RTEMS_SMP)
-
-  #include <rtems/score/smp.h>
-
-  void _SMP_Handler_initialize(void)
-  {
-    uint32_t max_cpus = rtems_configuration_get_maximum_processors();
-    uint32_t cpu;
-
-    /*
-     * Discover and initialize the secondary cores in an SMP system.
-     */
-    max_cpus = _CPU_SMP_Initialize( max_cpus );
-
-    _SMP_Processor_count = max_cpus;
-
-    for ( cpu = 1 ; cpu < max_cpus; ++cpu ) {
-      const Per_CPU_Control *per_cpu = _Per_CPU_Get_by_index( cpu );
-
-      _Per_CPU_Wait_for_state(
-        per_cpu,
-        PER_CPU_STATE_READY_TO_BEGIN_MULTITASKING
-      );
-    }
-  }
-
   void _Per_CPU_Change_state(
     Per_CPU_Control *per_cpu,
     Per_CPU_State new_state
diff --git a/cpukit/score/src/smp.c b/cpukit/score/src/smp.c
index 86116da..bfd77dc 100644
--- a/cpukit/score/src/smp.c
+++ b/cpukit/score/src/smp.c
@@ -29,6 +29,28 @@
   #include <rtems/bspIo.h>
 #endif
 
+void _SMP_Handler_initialize( void )
+{
+  uint32_t max_cpus = rtems_configuration_get_maximum_processors();
+  uint32_t cpu;
+
+  /*
+   * Discover and initialize the secondary cores in an SMP system.
+   */
+  max_cpus = _CPU_SMP_Initialize( max_cpus );
+
+  _SMP_Processor_count = max_cpus;
+
+  for ( cpu = 1 ; cpu < max_cpus; ++cpu ) {
+    const Per_CPU_Control *per_cpu = _Per_CPU_Get_by_index( cpu );
+
+    _Per_CPU_Wait_for_state(
+      per_cpu,
+      PER_CPU_STATE_READY_TO_BEGIN_MULTITASKING
+    );
+  }
+}
+
 void _SMP_Start_multitasking_on_secondary_processor( void )
 {
   Per_CPU_Control *self_cpu = _Per_CPU_Get();




More information about the vc mailing list