diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-06-04 10:05:14 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-06-05 14:55:16 +0200 |
commit | e87ccf547b98840f9974b0b45202f62c668ea6ce (patch) | |
tree | 8c7cede67b9acd0983a273be52d5d337dafe2aa4 /c/src/lib/libbsp/arm | |
parent | bsps/arm: Cortex-A9 MPCore start (diff) | |
download | rtems-e87ccf547b98840f9974b0b45202f62c668ea6ce.tar.bz2 |
bsps/arm: Cortex-A9 MPCore start
Enable SCU only on the boot processor.
Diffstat (limited to 'c/src/lib/libbsp/arm')
-rw-r--r-- | c/src/lib/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 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 |