Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/broadcom - fix AP spinup on bcm283x



details:   https://anonhg.NetBSD.org/src/rev/3532a26dafd0
branches:  trunk
changeset: 445265:3532a26dafd0
user:      ryo <ryo%NetBSD.org@localhost>
date:      Sat Oct 20 05:53:22 2018 +0000

description:
- fix AP spinup on bcm283x
- "brcm,bcm2836-smp" is a enable-method for only 32bit bcm2836.

diffstat:

 sys/arch/arm/broadcom/bcm283x_platform.c |  11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diffs (55 lines):

diff -r 37540fbdbd52 -r 3532a26dafd0 sys/arch/arm/broadcom/bcm283x_platform.c
--- a/sys/arch/arm/broadcom/bcm283x_platform.c  Sat Oct 20 05:38:27 2018 +0000
+++ b/sys/arch/arm/broadcom/bcm283x_platform.c  Sat Oct 20 05:53:22 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: bcm283x_platform.c,v 1.20 2018/10/18 09:01:52 skrll Exp $      */
+/*     $NetBSD: bcm283x_platform.c,v 1.21 2018/10/20 05:53:22 ryo Exp $        */
 
 /*-
  * Copyright (c) 2017 Jared D. McNeill <jmcneill%invisible.ca@localhost>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bcm283x_platform.c,v 1.20 2018/10/18 09:01:52 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcm283x_platform.c,v 1.21 2018/10/20 05:53:22 ryo Exp $");
 
 #include "opt_arm_debug.h"
 #include "opt_bcm283x.h"
@@ -729,6 +729,8 @@
 bcm2836_mpstart(void)
 {
 #ifdef MULTIPROCESSOR
+#ifdef __arm__
+       /* implementation dependent string "brcm,bcm2836-smp" for ARM 32-bit */
        const char *method;
 
        const int cpus = OF_finddevice("/cpus");
@@ -738,7 +740,6 @@
                return;
        }
 
-       /* implementation dependent string "brcm,bcm2836-smp" for ARM 32-bit */
        method = fdtbus_get_string(cpus, "enable-method");
        if ((method != NULL) && (strcmp(method, "brcm,bcm2836-smp") == 0)) {
                arm_cpu_max = RPI_CPU_MAX;
@@ -772,9 +773,10 @@
                }
                return;
        }
+#endif /* __arm__ */
 
        /* try enable-method each cpus */
-       arm_fdt_cpu_bootstrap();
+       arm_fdt_cpu_mpstart();
 #endif /* MULTIPROCESSOR */
 }
 
@@ -1183,6 +1185,7 @@
 
 #ifdef MULTIPROCESSOR
        arm_cpu_max = RPI_CPU_MAX;
+       arm_fdt_cpu_bootstrap();
 #endif
 }
 #endif



Home | Main Index | Thread Index | Old Index