[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:    82850b8e82c86173514ddc3264b63f6e67c93417
Changeset: http://git.rtems.org/rtems/commit/?id=82850b8e82c86173514ddc3264b63f6e67c93417

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

bsps/arm: Cortex-A9 MPCore start

Invalidate entire branch predictor array.

---

 .../libbsp/arm/shared/include/arm-a9mpcore-start.h |    5 +++++
 1 files changed, 5 insertions(+), 0 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 fd0e5ce..76a2f32 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
@@ -52,6 +52,9 @@ BSP_START_TEXT_SECTION static inline void
 arm_cp15_set_vector_base_address(void *base);
 
 BSP_START_TEXT_SECTION static inline void
+arm_cp15_branch_predictor_invalidate_all(void);
+
+BSP_START_TEXT_SECTION static inline void
 arm_a9mpcore_start_set_vector_base(void)
 {
   /*
@@ -145,6 +148,8 @@ BSP_START_TEXT_SECTION static inline void arm_a9mpcore_start_hook_0(void)
     (volatile a9mpcore_scu *) BSP_ARM_A9MPCORE_SCU_BASE;
   uint32_t cpu_id = arm_cortex_a9_get_multiprocessor_cpu_id();
 
+  arm_cp15_branch_predictor_invalidate_all();
+
   if (cpu_id == 0) {
     arm_a9mpcore_start_scu_enable(scu);
   }




More information about the vc mailing list