ARMv7: Don't autoboot cores on big.LITTLE - it's broken for now.
authorDavid Cock <david.cock@inf.ethz.ch>
Fri, 2 Sep 2016 12:24:22 +0000 (14:24 +0200)
committerDavid Cock <david.cock@inf.ethz.ch>
Fri, 2 Sep 2016 12:24:22 +0000 (14:24 +0200)
Signed-off-by: David Cock <david.cock@inf.ethz.ch>

hake/menu.lst.armv7_a15a7ve
usr/drivers/cpuboot/armboot.c
usr/skb/programs/plat_VE_A15x4_A7x4.pl

index 6c55191..b83f0d5 100644 (file)
@@ -29,7 +29,7 @@ module /armv7/sbin/startd boot
 # Device drivers
 # module /armv7/sbin/serial_pl011 auto
 module /armv7/sbin/serial_kernel irq=37
-module /armv7/sbin/corectrl auto
+module /armv7/sbin/corectrl nospawn
 
 # General user domains
 module /armv7/sbin/angler serial0.terminal dumb
index fa3082c..91f2c1f 100644 (file)
@@ -486,14 +486,20 @@ errval_t spawn_xcore_monitor(coreid_t coreid, int hwid,
     /* Query the SKB for the CPU driver to use. */
     err= skb_execute_query("arm_core(%d,T), cpu_driver(T,S), write(res(S)).",
                            hwid);
-    if (err_is_fail(err)) return err;
+    if (err_is_fail(err)) {
+        DEBUG_SKB_ERR(err, "skb_execute_query");
+        return err;
+    }
     err= skb_read_output("res(%255[^)])", cpuname);
     if (err_is_fail(err)) return err;
 
     /* Query the SKB for the monitor binary to use. */
     err= skb_execute_query("arm_core(%d,T), monitor(T,S), write(res(S)).",
                            hwid);
-    if (err_is_fail(err)) return err;
+    if (err_is_fail(err)) {
+        DEBUG_SKB_ERR(err, "skb_execute_query");
+        return err;
+    }
     err= skb_read_output("res(%255[^)])", monitorname);
     if (err_is_fail(err)) return err;
 
index 5b4d8ad..06e574b 100644 (file)
 % Platform with 4 A15 cores and 4 A7
 
 cpu_driver(cortexA15, "/armv7/sbin/cpu_a15ve").
-monitor(cortexA15, "/armv7/sbin/monitor").
-
 % The A7 runs fine with the A15 CPU driver.
 cpu_driver(cortexA7, "/armv7/sbin/cpu_a15ve").
+
+monitor(cortexA15, "/armv7/sbin/monitor").
 monitor(cortexA7, "/armv7/sbin/monitor").
 
 % One cluster of four Cortex A15s