armv7: kaluga, startd: enable proper waiting on all_spawnds_up
authorSimon Gerber <simon.gerber@inf.ethz.ch>
Thu, 10 Nov 2016 09:52:17 +0000 (10:52 +0100)
committerSimon Gerber <simon.gerber@inf.ethz.ch>
Thu, 10 Nov 2016 09:52:17 +0000 (10:52 +0100)
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

usr/kaluga/armv7.c
usr/kaluga/start_cpu.c
usr/startd/main.c

index 4199987..9a2ecc0 100644 (file)
@@ -30,8 +30,8 @@ static errval_t omap44xx_startup(void)
     err = init_cap_manager();
     assert(err_is_ok(err));
 
-    err = oct_set("all_spawnds_up { iref: 0 }");
-    assert(err_is_ok(err));
+    //err = oct_set("all_spawnds_up { iref: 0 }");
+    //assert(err_is_ok(err));
 
     struct module_info* mi = find_module("fdif");
     if (mi != NULL) {
@@ -95,8 +95,8 @@ static errval_t vexpress_startup(void)
     err = init_cap_manager();
     assert(err_is_ok(err));
 
-    err = oct_set("all_spawnds_up { iref: 0 }");
-    assert(err_is_ok(err));
+    //err = oct_set("all_spawnds_up { iref: 0 }");
+    //assert(err_is_ok(err));
 
     struct module_info* mi = find_module("serial_pl011");
     if (mi != NULL) {
index 8485198..ae20d12 100644 (file)
@@ -240,6 +240,7 @@ static void spawnd_change_event(octopus_mode_t mode, char* record, void* state)
 
         if (spawnd_counter == count) {
             KALUGA_DEBUG("Found enough spawnds, setting all_spawnds_up\n");
+            debug_printf("Found enough spawnds, setting all_spawnds_up\n");
             errval_t err = oct_set("all_spawnds_up { iref: 0 }");
             assert(err_is_ok(err));
         }
index ff3c2b5..4af1569 100644 (file)
@@ -112,13 +112,11 @@ int main(int argc, const char *argv[])
     // construct sane inital environment
     init_environ();
 
-#if defined(__x86_64__) || defined(__i386__)
     // wait for spawnd boot to finish
     errval_t err = nsb_wait(ALL_SPAWNDS_UP);
     if (err_is_fail(err)) {
         USER_PANIC_ERR(err, "failed ns barrier wait for %s", ALL_SPAWNDS_UP);
     }
-#endif
 
     // startup distributed services
     spawn_dist_domains();