[ build application { target = "kaluga",
cFiles = [ "main.c", "queue.c", "boot_modules.c", "common.c",
"start_cpu.c", "start_pci.c", "driver_startup.c" ],
- flounderDefs = [ "monitor" ],
+ flounderDefs = [ "monitor" ],
flounderBindings = [ "octopus" ],
+ flounderTHCStubs = [ "octopus" ],
addLibraries = [ "skb", "octopus", "octopus_parser",
"thc", "vfs", "nfs", "ahci", "lwip",
"contmng", "procon", "hashtable",
// XXX: This is a bit silly, I add this record
// because it was previously in spawnd so
- // there might be code out there who relies on this
+ // there may be code out there who relies on this
// It might be better to get rid of this completely
err = oct_set("all_spawnds_up { iref: 0 }");
assert(err_is_ok(err));
// limited. We need to know how many cores are available
// at boot time and send a boot initialize reply
// after all cores are up.
- // Also, we cannot boot cores in parallel because on machines
- // with a lot of cores this causes problem with memory
- // allocation (see appenzeller):
- // ERROR: monitor.0 in ram_alloc() ../lib/barrelfish/ram_alloc.c:116
- // ERROR: ram_alloc
- // Failure: ( libmm) No matching node found [MM_ERR_NOT_FOUND]
+ // It is possible to boot cores parallel, however,
+ // I figured a clean output on boot is worth more
+ // than the gain in speed so we still boot sequential.
// For now we do not handle cores that appear at runtime.
// In case the boot protocol changes in the future
// just use trigger_existing_and_watch()