gem5: fixed booting non-bsp cores.
authorSimon Gerber <simon.gerber@inf.ethz.ch>
Tue, 13 Jan 2015 12:03:35 +0000 (13:03 +0100)
committerSimon Gerber <simon.gerber@inf.ethz.ch>
Tue, 13 Jan 2015 12:04:24 +0000 (13:04 +0100)
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

hake/menu.lst.arm_gem5_mc
tools/harness/barrelfish.py
usr/monitor/spawn.c

index cd6c0a2..e0c0a8a 100644 (file)
@@ -24,7 +24,12 @@ module /armv7/sbin/spawnd boot
 module /armv7/sbin/startd boot
 
 # Booting the first core manually:
-module /armv7/sbin/corectrl boot boot 1 
+# the boot parameter here is used by monitor and corectrl, if we ever clean up
+# eating of special arguments for special domains, e.g. 'boot' to indicate
+# that a domain should be spawned by the BSP monitor this line should be
+#     module /armv7/sbin/corectrl boot boot 1
+# -SG, 2015-01-13
+module /armv7/sbin/corectrl boot 1
 
 # General user domains
 #module        /armv7/sbin/serial
index cc6fa77..19118c8 100644 (file)
@@ -143,7 +143,7 @@ def default_bootmodules(build, machine):
         else:
             m.add_module("%s/sbin/pci" % a, ["auto"])
 
-    if a == "arm_gem5":
+    if a == "armv7":
        if machine.get_ncores() == 2:
                m.add_module("corectrl", ["boot", "1"])
        elif machine.get_ncores() == 4:
index 6f3ea9e..0bc5ac9 100644 (file)
@@ -252,14 +252,19 @@ errval_t spawn_all_domains(void)
         }
 
         /* Do not spawn special domains */
-        if(!strcmp(short_name, "init") ||
-           !strcmp(short_name, "skb") ||
-           !strcmp(short_name, "ramfsd") ||
-           !strcmp(short_name, "cpu") ||
-           !strcmp(short_name, "monitor") ||
-           !strcmp(short_name, "mem_serv")||
-           !strcmp(short_name, "xeon_phi") ||
-           !strcmp(short_name, "corectrl")) {
+        if(!strcmp(short_name, "init")
+           || !strcmp(short_name, "skb")
+           || !strcmp(short_name, "ramfsd")
+           || !strcmp(short_name, "cpu")
+           || !strcmp(short_name, "monitor")
+           || !strcmp(short_name, "mem_serv")
+           || !strcmp(short_name, "xeon_phi")
+#if __k1om
+           // only skip corectrl on xeon phi, -SG,2015-01-13
+           || !strcmp(short_name, "corectrl")
+#endif
+          )
+        {
             continue;
         }