bsps/arm: Cortex-A9 MPCore start

Invalidate entire branch predictor array.
This commit is contained in:
Sebastian Huber
2014-06-04 11:07:11 +02:00
parent e87ccf547b
commit 82850b8e82

View File

@@ -51,6 +51,9 @@ arm_cp15_set_auxiliary_control(uint32_t val);
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);
}