summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-06-04 10:05:14 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-06-05 14:55:16 +0200
commite87ccf547b98840f9974b0b45202f62c668ea6ce (patch)
tree8c7cede67b9acd0983a273be52d5d337dafe2aa4
parentbsps/arm: Cortex-A9 MPCore start (diff)
downloadrtems-e87ccf547b98840f9974b0b45202f62c668ea6ce.tar.bz2
bsps/arm: Cortex-A9 MPCore start
Enable SCU only on the boot processor.
-rw-r--r--c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h8
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 155d33088e..fd0e5cebd1 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