[rtems commit] bsps/arm: Cortex-A9 MPCore start

Sebastian Huber sebh at rtems.org
Fri Jun 6 06:34:43 UTC 2014


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

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Wed Jun  4 10:05:14 2014 +0200

bsps/arm: Cortex-A9 MPCore start

Enable SCU only on the boot processor.

---

 .../libbsp/arm/shared/include/arm-a9mpcore-start.h |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h b/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h
index 155d330..fd0e5ce 100644
--- a/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h
+++ b/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h
@@ -143,16 +143,16 @@ BSP_START_TEXT_SECTION static inline void arm_a9mpcore_start_hook_0(void)
 {
   volatile a9mpcore_scu *scu =
     (volatile a9mpcore_scu *) BSP_ARM_A9MPCORE_SCU_BASE;
-  uint32_t cpu_id;
+  uint32_t cpu_id = arm_cortex_a9_get_multiprocessor_cpu_id();
 
-  arm_a9mpcore_start_scu_enable(scu);
+  if (cpu_id == 0) {
+    arm_a9mpcore_start_scu_enable(scu);
+  }
 
 #ifdef RTEMS_SMP
   arm_a9mpcore_start_enable_smp_in_auxiliary_control();
 #endif
 
-  cpu_id = arm_cortex_a9_get_multiprocessor_cpu_id();
-
   arm_a9mpcore_start_scu_invalidate(scu, cpu_id, 0xf);
 
 #ifdef RTEMS_SMP




More information about the vc mailing list