From 98d1292d0ac0b27a8e22e34f28724ceccd4f30cb Mon Sep 17 00:00:00 2001 From: Luiz Otavio O Souza Date: Wed, 13 May 2015 01:48:47 +0000 Subject: [PATCH] Fix the SMP initialization on RPi 2 (BCM2836). Invalidate the CPU cache before start the others CPUs. Submitted by: Michal Meloun --- sys/arm/broadcom/bcm2835/bcm2836_mp.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/arm/broadcom/bcm2835/bcm2836_mp.c b/sys/arm/broadcom/bcm2835/bcm2836_mp.c index 177f41ec6ed9..717f24208cf2 100644 --- a/sys/arm/broadcom/bcm2835/bcm2836_mp.c +++ b/sys/arm/broadcom/bcm2835/bcm2836_mp.c @@ -123,6 +123,8 @@ platform_mp_start_ap(void) BSWR4(MBOX3CLR_CORE(i), 0xffffffff); } wmb(); + cpu_idcache_wbinv_all(); + cpu_l2cache_wbinv_all(); /* boot secondary CPUs */ for (i = 1; i < mp_ncpus; i++) { @@ -152,9 +154,6 @@ platform_mp_start_ap(void) /* recode AP in CPU map */ CPU_SET(i, &all_cpus); } - - cpu_idcache_wbinv_all(); - cpu_l2cache_wbinv_all(); } void