Firmware after May 8, 2017 places APs in WFE state at boot. Add a "sev"
after writing the start vector, otherwise secondary CPUs will not boot.
This commit is contained in:
parent
4eb0a742c5
commit
e538d5098a
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: rpi_machdep.c,v 1.80 2017/08/16 20:54:19 jmcneill Exp $ */
|
||||
/* $NetBSD: rpi_machdep.c,v 1.81 2017/11/04 14:47:06 jmcneill Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2012 The NetBSD Foundation, Inc.
|
||||
|
@ -30,7 +30,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: rpi_machdep.c,v 1.80 2017/08/16 20:54:19 jmcneill Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: rpi_machdep.c,v 1.81 2017/11/04 14:47:06 jmcneill Exp $");
|
||||
|
||||
#include "opt_arm_debug.h"
|
||||
#include "opt_bcm283x.h"
|
||||
|
@ -660,6 +660,9 @@ rpi_bootstrap(void)
|
|||
}
|
||||
}
|
||||
|
||||
/* Wake up APs in case firmware has placed them in WFE state */
|
||||
__asm __volatile("sev");
|
||||
|
||||
for (int loop = 0; loop < 16; loop++) {
|
||||
if (arm_cpu_hatched == __BITS(arm_cpu_max - 1, 1))
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue