<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi,<br>
<br>
can you try replacing <br>
<tt>module /scc/sbin/spawnd boot bootscc=0-1</tt><br>
with<br>
<tt>module /scc/sbin/spawnd boot bootscc=1</tt><br>
and try it again?<br>
<br>
The boot-up of core 0 is implicit - we do not specify it as a spwand
argument.<br>
<br>
Cheers, <br>
Stefan<br>
<br>
On 04/22/2012 11:12 AM, Shi Jinghao (史经浩) wrote:
<blockquote
cite="mid:CAKdW-HFRKv6HWqAxwsL5MMJRqot6BSPkHXPx9ecXg3eaONRHZw@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
Hi,
<div><br>
</div>
<div>I'm trying to boot barrelfish on SCC. I've managed to compile
the source, get barrelfish0.obj and <a moz-do-not-send="true"
href="http://barrelfish48.mt">barrelfish48.mt</a>.</div>
<div>Then I use the bootscc.sh to boot it. For test, I just want
to boot core 0 and core 1, but a weird problem</div>
<div>happens: core 1 is trying to boot core 0. Here is the output
after system start.</div>
<div><br>
</div>
<div>----------------------OUTPUT START
------------------------------------</div>
<div>
<div>Kernel starting at address 0x80100000</div>
<div>hku@ubuntu:~/fish/<a moz-do-not-send="true"
href="http://hg.barrelfish.org/build$">hg.barrelfish.org/build$</a>
My APIC ID: 0</div>
<div>Barrelfish CPU driver starting on scc core 0</div>
<div>init: invoked as: init 2097152</div>
<div>Spawning memory server (scc/sbin/mem_serv)...</div>
<div>Spawning monitor (scc/sbin/monitor)...</div>
<div>starting monitor as 'scc/sbin/monitor 327680 '</div>
<div>monitor: invoked as: scc/sbin/monitor 327680</div>
<div>RAM allocator initialised, 1612 MB (of 1628 MB) available</div>
<div>Spawning chips on core 0</div>
<div>Spawning /scc/sbin/ramfsd on core 0</div>
<div>Spawning /scc/sbin/spawnd on core 0</div>
<div>Spawning /scc/sbin/startd on core 0</div>
<div>0 chips: client waiting for ramfs</div>
<div>
ramfsd.0: pre-populating from boot image...</div>
<div>0 chips: client waiting for ramfs</div>
<div>ramfsd.0: ready</div>
<div>0 chips: notifying client about ramfs</div>
<div>0 chips: notifying client about ramfs</div>
<div>
kernel 0: Allocating RAM at 0x80000000 uninitialized</div>
<div>kernel 0: Allocating RAM at 0x80010000 uninitialized</div>
<div>spawnd.0: coreid 0 is arch id 0</div>
<div>spawnd.0: coreid 1 is arch id 1</div>
<div>0 chips: client waiting for all_spawnds_up</div>
<div>Monitor 0: booting scc core 1 as '/scc/sbin/cpu'</div>
<div>kernel 0: Allocating RAM at 0x80020000 uninitialized</div>
<div>Kernel starting at address 0x80100000</div>
<div>My APIC ID: 1</div>
<div>Barrelfish CPU driver starting on scc core 1</div>
<div>init: invoked as: init 2097152</div>
<div>Spawning memory server (scc/sbin/mem_serv)...</div>
<div>Spawning monitor (scc/sbin/monitor)...</div>
<div>starting monitor as 'scc/sbin/monitor 327680 '</div>
<div>monitor: invoked as: scc/sbin/monitor 327680</div>
<div>RAM allocator initialised, 1612 MB (of 1628 MB) available</div>
<div>Spawning chips on core 1</div>
<div>Spawning /scc/sbin/ramfsd on core 1</div>
<div>Spawning /scc/sbin/spawnd on core 1</div>
<div>Spawning /scc/sbin/startd on core 1</div>
<div>0 chips: client waiting for ramfs</div>
<div>ramfsd.1: pre-populating from boot image...</div>
<div>0 chips: client waiting for ramfs</div>
<div>ramfsd.1: ready</div>
<div>0 chips: notifying client about ramfs</div>
<div>
0 chips: notifying client about ramfs</div>
<div>kernel 1: Allocating RAM at 0x84000000 uninitialized</div>
<div>kernel 1: Allocating RAM at 0x84010000 uninitialized</div>
<div>spawnd.1: coreid 0 is arch id 0</div>
<div>spawnd.1: coreid 1 is arch id 1</div>
<div>0 chips: client waiting for all_spawnds_up</div>
<div>Monitor 1: booting scc core 0 as '/scc/sbin/cpu'</div>
<div>********* Why would core 1 want to boot core 0 ?
**************</div>
<div>kernel 1: Allocating RAM at 0x84020000 uninitialized</div>
<div>kernel 1 PANIC! kernel assertion "rck_get_coreid() == 0"
failed at ../kernel/arch/scc/rck.c:876</div>
<div>kernel 1: exception 3 (error code 0x0): breakpoint</div>
<div>On behalf of: monitor</div>
<div>Faulting instruction pointer (or following instruction):
0x8010a7bf (0x 10a7bf in binary)</div>
<div>EAX 0x80118000 EBX 0x80116e88 ECX 0x0 EDX 0x805202c0 ESP
0x80920a08</div>
<div>Top o' stack:</div>
<div>0x8010a7bf 0x2 0x8 0x10 0x3 0x0 0x8010a7bf 0x8 0x2
0x80520180 0x80116e88 0x80920a44 0x8010c612 0x80116e88
0x210d6000 0x80920a64 0x8010c64b 0x801164a0 0x80114c10
0x80114b55 </div>
<div>No GDB backend</div>
</div>
<div>--------------- OUTPUT END ------------------------------</div>
<div><br>
</div>
<div>As I see it, core 1 seems thought that it's the bsp core
(while it's not) so it's responsible to boot other cores. But I
fail to see why core 1 would think like that.</div>
<div><br>
</div>
<div>Any ideas on this? Thanks in advance.</div>
<div><br>
</div>
<div>Regards,</div>
<div>Jinghao</div>
<div><br>
</div>
<div>FYI, this is my menu.lst.scc</div>
<div><br>
</div>
<div>
<div> 1 timeout 0</div>
<div> 2 </div>
<div> 3 # spawnd is used to control which cpus are booted</div>
<div> 4 #</div>
<div> 5 # "spawnd boot" will use the skb and pci to figure out
and</div>
<div> 6 # boot all cores in the machine</div>
<div> 7 #</div>
<div> 8 # "spawnd boot bootscc=1-6" will not use the skb and</div>
<div> 9 # boot the list of cores passed as argument.</div>
<div> 10 # The hardware id of the cores to boot should be
specified.</div>
<div> 11 # This list may not include the bsp core id.</div>
<div> 12 </div>
<div> 13 title Barrelfish</div>
<div> 14 root (nd)</div>
<div> 15 kernel /scc/sbin/cpu loglevel=4</div>
<div> 16 module /scc/sbin/cpu</div>
<div> 17 module /scc/sbin/init</div>
<div> 18 </div>
<div> 19 # Domains spawned by init</div>
<div> 20 module /scc/sbin/mem_serv</div>
<div> 21 module /scc/sbin/monitor</div>
<div> 22 </div>
<div> 23 module /scc/sbin/chips boot</div>
<div> 24 module /scc/sbin/ramfsd boot</div>
<div> 25 module /scc/sbin/spawnd boot bootscc=0-1</div>
<div> 26 module /scc/sbin/startd boot</div>
<div> 27 </div>
<div> 28 #module /scc/sbin/examples/xmpl-hello</div>
<div> 29 </div>
<div> 30 # modules needed to start the networking</div>
<div> 31 # module /scc/sbin/eMAC core=0 device=2</div>
<div> 32 # module /scc/sbin/netd core=0 cardname=eMAC2_0</div>
<div> 33 # module /scc/sbin/eMAC core=1</div>
<div> 34 # module /scc/sbin/netd core=1 cardname=eMAC2_1</div>
<div> 35 </div>
<div> 36 # Test for network throughput</div>
<div> 37 # module /scc/sbin/netthroughput core=1 /nfs nfs://<a
moz-do-not-send="true" href="http://10.110.4.41/shared">10.110.4.41/shared</a>
/nfs/pravin/testfile.txt</div>
<div> 38 </div>
<div> 39 # For webserver</div>
<div> 40 # module /scc/sbin/webserver core=1 eMAC2_1
10.110.4.41 /shared/pravin/sw</div>
<div> 41 </div>
<div> 42 # RCK memory map</div>
<div> 43 # Everything up til VGA is private RAM (maybe we want
to throw it away)</div>
<div> 44 mmap map 0x0 0xa000 2</div>
<div> 45 # Everything after VGA is private RAM (we also live in
this area)</div>
<div> 46 mmap map 0xe800 0x26ff1800 1</div>
<div> 47 # Shared RAM (over all MCs) in the middle of address
space</div>
<div> 48 #mmap map 0x80000000 0x4000000 1</div>
<div> 49 mmap map 0x80000000 0x40000000 1</div>
<div> 50 # At the very end we have some platform memory (bootup
EEPROM)</div>
<div> 51 mmap map 0xfffc0000 0x40000 2</div>
</div>
<div><br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Barrelfish-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a>
<a class="moz-txt-link-freetext" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a>
</pre>
</blockquote>
</body>
</html>