<div class="gmail_extra"><br></div><div class="gmail_extra">Here is my progress update on the problem of booting on SCC.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I found that the variable bsp is not correctly set in apic_init (/kernel/arch/x86/apic.c). bsp is initiated as true when defined. But there is no code that set its value when __scc__ is defined. The only code that touch bsp is wapped by #if !defined(__scc__) || defined.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">So I added the following line in text_init (/kernel/arch/x86_32/init.c), right after print the "My APIC ID:" message, </div><div class="gmail_extra"><br>
</div><div class="gmail_extra">bsp = (apic_id == 0);</div><div class="gmail_extra"><br></div><div class="gmail_extra">It's a temporal hack that we assume core 0 is always the bsp core.</div><div class="gmail_extra"><br>
</div><div class="gmail_extra">After done this, core 1 will realize that it's not bsp core so it will not try to boot core 0. But then I immediately found that the core_data passed to core 1 is corrupted. I found this from:</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">- core_data->memory_base_start = 0x0ffb7000, which seems ok but core_data->memory_bits = 0, this will make app_alloc_phys_end = 0x0ffb7001 and fail app_alloc_phys</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">- core_data->dst_core_id and src_arch_id is wrong (some meaningless number)</div><div class="gmail_extra"><br></div><div class="gmail_extra">I'm trying to figure out whether core 0 has place the x86_core_data structure correctly..</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Thanks,</div><div class="gmail_extra">Jinghao<br><br><div class="gmail_quote">On Fri, Apr 27, 2012 at 2:18 PM, Shi Jinghao <span dir="ltr"><<a href="mailto:jhshi89@gmail.com" target="_blank">jhshi89@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra">Hi, Stefan,</div><div class="gmail_extra"><br></div><div class="gmail_extra">I tried release2011-09-02 but it's still not work, and the same problem occurs.</div>
<div class="gmail_extra"><br></div>
<div class="gmail_extra">Don't know if you got any clue yet, but when I insert a printk in function kernel_startup (/kernel/arch/x86/startup_x86.c). I find that the function apic_is_bsp() may not work properly: each core think it' startup core!! But when I traced the code and come to apic_base_msr (function apic_init in file /kernel/arch/x86/apic.c), I am lost, and can not figure out where apic_base_msr.bsp is set. Any hints here?</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Thanks,</div><div class="gmail_extra">Jinghao</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Here is the code snippet where I inserted printk, FYI:</div>
<div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra">290 if (apic_is_bsp()) {</div><div class="gmail_extra">291 printk(LOG_DEBUG, "\n in kernel_startup, I am BSP\n");</div>
<div class="gmail_extra">292 /* Initialize the location to allocate phys memory from */</div><div class="gmail_extra">293 bsp_init_alloc_addr = glbl_core_data->start_free_ram;</div><div class="gmail_extra">
294 </div><div class="gmail_extra">295 /* spawn init */</div><div class="gmail_extra">296 init_dcb = spawn_bsp_init(BSP_INIT_MODULE_PATH, bsp_alloc_phys);</div><div class="gmail_extra">297 } else {</div>
<div class="gmail_extra">298 printk(LOG_DEBUG, "\n in kernel_startup, I am NOT BSP\n");</div><div class="gmail_extra">299 my_core_id = core_data->dst_core_id;</div><div class="gmail_extra">300 </div>
<div class="gmail_extra">301 /* Initialize the allocator */</div><div class="gmail_extra">302 app_alloc_phys_start = core_data->memory_base_start;</div><div class="gmail_extra">303 app_alloc_phys_end = ((lpaddr_t)1 << core_data->memory_bits) +</div>
<div class="gmail_extra">304 app_alloc_phys_start;</div><div class="gmail_extra">305 </div><div class="gmail_extra">306 init_dcb = spawn_app_init(core_data, APP_INIT_PROG_NAME, app_alloc_phys);</div>
<div class="gmail_extra">307 }</div><div><div class="h5"><div><br></div><br><div class="gmail_quote">On Tue, Apr 24, 2012 at 4:13 AM, Stefan Kästle <span dir="ltr"><<a href="mailto:stefan.kaestle@inf.ethz.ch" target="_blank">stefan.kaestle@inf.ethz.ch</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Hi,<br>
<br>
this is harder to fix than I originally though. I will take some
time to fix (especially since I am a little busy right now).<br>
<br>
Maybe you want to use an earlier version of Barrelfish in the
meanwhile, e.g. revision release2011-09-02?! Since then, nothing
significantly changed for the SCC code anyway. That one works fine
on our SCC. In case you revert, make sure to do a clean rebuild!<br>
<br>
Cheers<br>
Stefan<br>
<br>
On 04/22/2012 12:18 PM, Shi Jinghao (史经浩) wrote:
<blockquote type="cite">
<div class="gmail_extra">Hi, stefan.</div>
<div class="gmail_extra"><br>
</div>
<div class="gmail_extra">I changed the line as you instructed and
it works. But when I try to boot core 0, 1, 2 ,3</div>
<div class="gmail_extra">
with the following line:</div>
<div class="gmail_extra"><br>
</div>
<div class="gmail_extra">module /scc/sbin/spawnd boot bootscc=1-3</div>
<div class="gmail_extra"><br>
</div>
<div class="gmail_extra">The same problem occurs (ouput attached).
So what's the proper syntax that correctly</div>
<div class="gmail_extra">boot scc cores (e.g. {0, 1, 2, 3}, or {0,
2, 4, 6} )?</div>
<div class="gmail_extra"><br>
</div>
<div class="gmail_extra">Regards,</div>
<div class="gmail_extra">Jinghao</div>
<div class="gmail_extra">
<br>
</div>
<div class="gmail_extra">
---------- OUTPUT START ------------------------------</div>
<div class="gmail_extra">
<div class="gmail_extra">Kernel starting at address 0x80100000</div>
<div>Barrelfish CPU driver starting on scc core 0</div>
</div>
<div class="gmail_extra">
<div class="gmail_extra">init: invoked as: init 2097152</div>
<div class="gmail_extra">Spawning memory server
(scc/sbin/mem_serv)...</div>
<div class="gmail_extra">Spawning monitor (scc/sbin/monitor)...</div>
<div class="gmail_extra">
starting monitor as 'scc/sbin/monitor 327680 '</div>
<div class="gmail_extra">monitor: invoked as: scc/sbin/monitor
327680</div>
<div class="gmail_extra">RAM allocator initialised, 1612 MB (of
1628 MB) available</div>
<div class="gmail_extra">Spawning chips on core 0</div>
<div class="gmail_extra">Spawning /scc/sbin/ramfsd on core 0</div>
<div class="gmail_extra">Spawning /scc/sbin/spawnd on core 0</div>
<div class="gmail_extra">Spawning /scc/sbin/startd on core 0</div>
<div class="gmail_extra">0 chips: client waiting for ramfs</div>
<div class="gmail_extra">ramfsd.0: pre-populating from boot
image...</div>
<div class="gmail_extra">0 chips: client waiting for ramfs</div>
<div class="gmail_extra">
ramfsd.0: ready</div>
<div class="gmail_extra">0 chips: notifying client about ramfs</div>
<div class="gmail_extra">0 chips: notifying client about ramfs</div>
<div class="gmail_extra">kernel 0: Allocating RAM at 0x80000000
uninitialized</div>
<div class="gmail_extra">kernel 0: Allocating RAM at 0x80010000
uninitialized</div>
<div class="gmail_extra">spawnd.0: coreid 0 is arch id 0</div>
<div class="gmail_extra">spawnd.0: coreid 1 is arch id 1</div>
<div class="gmail_extra">
spawnd.0: coreid 2 is arch id 2</div>
<div class="gmail_extra">spawnd.0: coreid 3 is arch id 3</div>
<div class="gmail_extra">0 chips: client waiting for
all_spawnds_up</div>
<div class="gmail_extra">Monitor 0: booting scc core 1 as
'/scc/sbin/cpu'</div>
<div class="gmail_extra">kernel 0: Allocating RAM at 0x80020000
uninitialized</div>
<div class="gmail_extra">Kernel starting at address 0x80100000</div>
<div class="gmail_extra">My APIC ID: 1</div>
<div class="gmail_extra">
Barrelfish CPU driver starting on scc core 1</div>
<div class="gmail_extra">init: invoked as: init 2097152</div>
<div class="gmail_extra">Spawning memory server
(scc/sbin/mem_serv)...</div>
<div class="gmail_extra">Spawning monitor (scc/sbin/monitor)...</div>
<div class="gmail_extra">
starting monitor as 'scc/sbin/monitor 327680 '</div>
<div class="gmail_extra">monitor: invoked as: scc/sbin/monitor
327680</div>
<div class="gmail_extra">RAM allocator initialised, 1612 MB (of
1628 MB) available</div>
<div class="gmail_extra">Spawning chips on core 1</div>
<div class="gmail_extra">Spawning /scc/sbin/ramfsd on core 1</div>
<div class="gmail_extra">Spawning /scc/sbin/spawnd on core 1</div>
<div class="gmail_extra">Spawning /scc/sbin/startd on core 1</div>
<div class="gmail_extra">0 chips: client waiting for ramfs</div>
<div class="gmail_extra">ramfsd.1: pre-populating from boot
image...</div>
<div class="gmail_extra">0 chips: client waiting for ramfs</div>
<div class="gmail_extra">
ramfsd.1: ready</div>
<div class="gmail_extra">0 chips: notifying client about ramfs</div>
<div class="gmail_extra">0 chips: notifying client about ramfs</div>
<div class="gmail_extra">kernel 1: Allocating RAM at 0x84000000
uninitialized</div>
<div class="gmail_extra">kernel 1: Allocating RAM at 0x84010000
uninitialized</div>
<div class="gmail_extra">spawnd.1: coreid 0 is arch id 2</div>
<div class="gmail_extra">spawnd.1: coreid 1 is arch id 1</div>
<div class="gmail_extra">
spawnd.1: coreid 2 is arch id 3</div>
<div class="gmail_extra">0 chips: client waiting for
all_spawnds_up</div>
<div class="gmail_extra">Monitor 1: booting scc core 0 as
'/scc/sbin/cpu'</div>
<div class="gmail_extra">
kernel 1: Allocating RAM at 0x84020000 uninitialized</div>
<div class="gmail_extra">kernel 1 PANIC! kernel assertion
"rck_get_coreid() == 0" failed at ../kernel/arch/scc/rck.c:876</div>
<div class="gmail_extra">kernel 1: exception 3 (error code 0x0):
breakpoint</div>
<div class="gmail_extra">On behalf of: monitor</div>
<div class="gmail_extra">Faulting instruction pointer (or
following instruction): 0x8010a7bf (0x 10a7bf in binary)</div>
<div class="gmail_extra">EAX 0x80118000 EBX 0x80116e88 ECX 0x0
EDX 0x805202c0 ESP 0x80920a08</div>
<div class="gmail_extra">Top o' stack:</div>
<div class="gmail_extra">0x8010a7bf 0x2 0x8 0x10 0x3 0x0
0x8010a7bf 0x8 0x2 0x80520180 0x80116e88 0x80920a44 0x8010c612
0x80116e88 0x210d6000 0x80920a64 0x8010c64b 0x801164a0
0x80114c10 0x80114b55 </div>
<div class="gmail_extra">No GDB backend</div>
<div class="gmail_extra">---------------- OUTPUT END
----------------------------</div>
<div><br>
</div>
<br>
<div class="gmail_quote">On Sun, Apr 22, 2012 at 5:33 PM, <span dir="ltr"><<a href="mailto:barrelfish-users-request@lists.inf.ethz.ch" target="_blank">barrelfish-users-request@lists.inf.ethz.ch</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send
Barrelfish-users mailing list submissions to<br>
<a href="mailto:barrelfish-users@lists.inf.ethz.ch" target="_blank">barrelfish-users@lists.inf.ethz.ch</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a><br>
or, via email, send a message with subject or body 'help' to<br>
<a href="mailto:barrelfish-users-request@lists.inf.ethz.ch" target="_blank">barrelfish-users-request@lists.inf.ethz.ch</a><br>
<br>
You can reach the person managing the list at<br>
<a href="mailto:barrelfish-users-owner@lists.inf.ethz.ch" target="_blank">barrelfish-users-owner@lists.inf.ethz.ch</a><br>
<br>
When replying, please edit your Subject line so it is more
specific<br>
than "Re: Contents of Barrelfish-users digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
1. Problems when booting Barrelfish on SCC (???? <<a href="mailto:jhshi@cs.hku.hk" target="_blank">jhshi@cs.hku.hk</a>>)<br>
2. Re: Problems when booting Barrelfish on SCC (Stefan
K?stle)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Sun, 22 Apr 2012 17:12:57 +0800<br>
From: Shi Jinghao (???? <<a href="mailto:jhshi@cs.hku.hk" target="_blank">jhshi@cs.hku.hk</a>><br>
Subject: [Barrelfish-users] Problems when booting Barrelfish
on SCC<br>
To: <a href="mailto:barrelfish-users@lists.inf.ethz.ch" target="_blank">barrelfish-users@lists.inf.ethz.ch</a><br>
Message-ID:<br>
<<a href="mailto:CAKdW-HFRKv6HWqAxwsL5MMJRqot6BSPkHXPx9ecXg3eaONRHZw@mail.gmail.com" target="_blank">CAKdW-HFRKv6HWqAxwsL5MMJRqot6BSPkHXPx9ecXg3eaONRHZw@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="iso-8859-1"<br>
<br>
Hi,<br>
<br>
I'm trying to boot barrelfish on SCC. I've managed to
compile the source,<br>
get barrelfish0.obj and <a href="http://barrelfish48.mt" target="_blank">barrelfish48.mt</a>.<br>
Then I use the bootscc.sh to boot it. For test, I just want
to boot core 0<br>
and core 1, but a weird problem<br>
happens: core 1 is trying to boot core 0. Here is the output
after system<br>
start.<br>
<br>
----------------------OUTPUT START
------------------------------------<br>
Kernel starting at address 0x80100000<br>
hku@ubuntu:~/fish/<a href="http://hg.barrelfish.org/build$" target="_blank">hg.barrelfish.org/build$</a>
My APIC ID: 0<br>
Barrelfish CPU driver starting on scc core 0<br>
init: invoked as: init 2097152<br>
Spawning memory server (scc/sbin/mem_serv)...<br>
Spawning monitor (scc/sbin/monitor)...<br>
starting monitor as 'scc/sbin/monitor 327680 '<br>
monitor: invoked as: scc/sbin/monitor 327680<br>
RAM allocator initialised, 1612 MB (of 1628 MB) available<br>
Spawning chips on core 0<br>
Spawning /scc/sbin/ramfsd on core 0<br>
Spawning /scc/sbin/spawnd on core 0<br>
Spawning /scc/sbin/startd on core 0<br>
0 chips: client waiting for ramfs<br>
ramfsd.0: pre-populating from boot image...<br>
0 chips: client waiting for ramfs<br>
ramfsd.0: ready<br>
0 chips: notifying client about ramfs<br>
0 chips: notifying client about ramfs<br>
kernel 0: Allocating RAM at 0x80000000 uninitialized<br>
kernel 0: Allocating RAM at 0x80010000 uninitialized<br>
spawnd.0: coreid 0 is arch id 0<br>
spawnd.0: coreid 1 is arch id 1<br>
0 chips: client waiting for all_spawnds_up<br>
Monitor 0: booting scc core 1 as '/scc/sbin/cpu'<br>
kernel 0: Allocating RAM at 0x80020000 uninitialized<br>
Kernel starting at address 0x80100000<br>
My APIC ID: 1<br>
Barrelfish CPU driver starting on scc core 1<br>
init: invoked as: init 2097152<br>
Spawning memory server (scc/sbin/mem_serv)...<br>
Spawning monitor (scc/sbin/monitor)...<br>
starting monitor as 'scc/sbin/monitor 327680 '<br>
monitor: invoked as: scc/sbin/monitor 327680<br>
RAM allocator initialised, 1612 MB (of 1628 MB) available<br>
Spawning chips on core 1<br>
Spawning /scc/sbin/ramfsd on core 1<br>
Spawning /scc/sbin/spawnd on core 1<br>
Spawning /scc/sbin/startd on core 1<br>
0 chips: client waiting for ramfs<br>
ramfsd.1: pre-populating from boot image...<br>
0 chips: client waiting for ramfs<br>
ramfsd.1: ready<br>
0 chips: notifying client about ramfs<br>
0 chips: notifying client about ramfs<br>
kernel 1: Allocating RAM at 0x84000000 uninitialized<br>
kernel 1: Allocating RAM at 0x84010000 uninitialized<br>
spawnd.1: coreid 0 is arch id 0<br>
spawnd.1: coreid 1 is arch id 1<br>
0 chips: client waiting for all_spawnds_up<br>
Monitor 1: booting scc core 0 as '/scc/sbin/cpu'<br>
********* Why would core 1 want to boot core 0 ?
**************<br>
kernel 1: Allocating RAM at 0x84020000 uninitialized<br>
kernel 1 PANIC! kernel assertion "rck_get_coreid() == 0"
failed at<br>
../kernel/arch/scc/rck.c:876<br>
kernel 1: exception 3 (error code 0x0): breakpoint<br>
On behalf of: monitor<br>
Faulting instruction pointer (or following instruction):
0x8010a7bf (0x<br>
10a7bf in binary)<br>
EAX 0x80118000 EBX 0x80116e88 ECX 0x0 EDX 0x805202c0 ESP
0x80920a08<br>
Top o' stack:<br>
0x8010a7bf 0x2 0x8 0x10 0x3 0x0 0x8010a7bf 0x8 0x2
0x80520180 0x80116e88<br>
0x80920a44 0x8010c612 0x80116e88 0x210d6000 0x80920a64
0x8010c64b<br>
0x801164a0 0x80114c10 0x80114b55<br>
No GDB backend<br>
--------------- OUTPUT END ------------------------------<br>
<br>
As I see it, core 1 seems thought that it's the bsp core
(while it's not)<br>
so it's responsible to boot other cores. But I fail to see
why core 1 would<br>
think like that.<br>
<br>
Any ideas on this? Thanks in advance.<br>
<br>
Regards,<br>
Jinghao<br>
<br>
FYI, this is my menu.lst.scc<br>
<br>
1 timeout 0<br>
2<br>
3 # spawnd is used to control which cpus are booted<br>
4 #<br>
5 # "spawnd boot" will use the skb and pci to figure out
and<br>
6 # boot all cores in the machine<br>
7 #<br>
8 # "spawnd boot bootscc=1-6" will not use the skb and<br>
9 # boot the list of cores passed as argument.<br>
10 # The hardware id of the cores to boot should be
specified.<br>
11 # This list may not include the bsp core id.<br>
12<br>
13 title Barrelfish<br>
14 root (nd)<br>
15 kernel /scc/sbin/cpu loglevel=4<br>
16 module /scc/sbin/cpu<br>
17 module /scc/sbin/init<br>
18<br>
19 # Domains spawned by init<br>
20 module /scc/sbin/mem_serv<br>
21 module /scc/sbin/monitor<br>
22<br>
23 module /scc/sbin/chips boot<br>
24 module /scc/sbin/ramfsd boot<br>
25 module /scc/sbin/spawnd boot bootscc=0-1<br>
26 module /scc/sbin/startd boot<br>
27<br>
28 #module /scc/sbin/examples/xmpl-hello<br>
29<br>
30 # modules needed to start the networking<br>
31 # module /scc/sbin/eMAC core=0 device=2<br>
32 # module /scc/sbin/netd core=0 cardname=eMAC2_0<br>
33 # module /scc/sbin/eMAC core=1<br>
34 # module /scc/sbin/netd core=1 cardname=eMAC2_1<br>
35<br>
36 # Test for network throughput<br>
37 # module /scc/sbin/netthroughput core=1 /nfs<br>
nfs://<a href="http://10.110.4.41/shared/nfs/pravin/testfile.txt" target="_blank"><font color="red"><b>MailScanner warning: numerical links are often malicious:</b></font> 10.110.4.41/shared/nfs/pravin/testfile.txt</a><br>
38<br>
39 # For webserver<br>
40 # module /scc/sbin/webserver core=1 eMAC2_1 10.110.4.41<br>
/shared/pravin/sw<br>
41<br>
42 # RCK memory map<br>
43 # Everything up til VGA is private RAM (maybe we want to
throw it away)<br>
44 mmap map 0x0 0xa000 2<br>
45 # Everything after VGA is private RAM (we also live in
this area)<br>
46 mmap map 0xe800 0x26ff1800 1<br>
47 # Shared RAM (over all MCs) in the middle of address
space<br>
48 #mmap map 0x80000000 0x4000000 1<br>
49 mmap map 0x80000000 0x40000000 1<br>
50 # At the very end we have some platform memory (bootup
EEPROM)<br>
51 mmap map 0xfffc0000 0x40000 2<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <a href="https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/e2ff7982/attachment-0001.html" target="_blank">https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/e2ff7982/attachment-0001.html</a><br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Sun, 22 Apr 2012 11:33:52 +0200<br>
From: Stefan K?stle <<a href="mailto:stefan.kaestle@inf.ethz.ch" target="_blank">stefan.kaestle@inf.ethz.ch</a>><br>
Subject: Re: [Barrelfish-users] Problems when booting
Barrelfish on<br>
SCC<br>
To: <<a href="mailto:barrelfish-users@lists.inf.ethz.ch" target="_blank">barrelfish-users@lists.inf.ethz.ch</a>><br>
Message-ID: <<a href="mailto:4F93D080.6080905@inf.ethz.ch" target="_blank">4F93D080.6080905@inf.ethz.ch</a>><br>
Content-Type: text/plain; charset="iso-8859-1"<br>
<br>
Hi,<br>
<br>
can you try replacing<br>
module /scc/sbin/spawnd boot bootscc=0-1<br>
with<br>
module /scc/sbin/spawnd boot bootscc=1<br>
and try it again?<br>
<br>
The boot-up of core 0 is implicit - we do not specify it as
a spwand<br>
argument.<br>
<br>
Cheers,<br>
Stefan<br>
<br>
On 04/22/2012 11:12 AM, Shi Jinghao (???) wrote:<br>
> Hi,<br>
><br>
> I'm trying to boot barrelfish on SCC. I've managed to
compile the<br>
> source, get barrelfish0.obj and <a href="http://barrelfish48.mt" target="_blank">barrelfish48.mt</a> <<a href="http://barrelfish48.mt" target="_blank">http://barrelfish48.mt</a>>.<br>
> Then I use the bootscc.sh to boot it. For test, I just
want to boot<br>
> core 0 and core 1, but a weird problem<br>
> happens: core 1 is trying to boot core 0. Here is the
output after<br>
> system start.<br>
><br>
> ----------------------OUTPUT START
------------------------------------<br>
> Kernel starting at address 0x80100000<br>
> hku@ubuntu:~/fish/<a href="http://hg.barrelfish.org/build$" target="_blank">hg.barrelfish.org/build$</a><br>
> <<a href="http://hg.barrelfish.org/build$" target="_blank">http://hg.barrelfish.org/build$</a>>
My APIC ID: 0<br>
> Barrelfish CPU driver starting on scc core 0<br>
> init: invoked as: init 2097152<br>
> Spawning memory server (scc/sbin/mem_serv)...<br>
> Spawning monitor (scc/sbin/monitor)...<br>
> starting monitor as 'scc/sbin/monitor 327680 '<br>
> monitor: invoked as: scc/sbin/monitor 327680<br>
> RAM allocator initialised, 1612 MB (of 1628 MB)
available<br>
> Spawning chips on core 0<br>
> Spawning /scc/sbin/ramfsd on core 0<br>
> Spawning /scc/sbin/spawnd on core 0<br>
> Spawning /scc/sbin/startd on core 0<br>
> 0 chips: client waiting for ramfs<br>
> ramfsd.0: pre-populating from boot image...<br>
> 0 chips: client waiting for ramfs<br>
> ramfsd.0: ready<br>
> 0 chips: notifying client about ramfs<br>
> 0 chips: notifying client about ramfs<br>
> kernel 0: Allocating RAM at 0x80000000 uninitialized<br>
> kernel 0: Allocating RAM at 0x80010000 uninitialized<br>
> spawnd.0: coreid 0 is arch id 0<br>
> spawnd.0: coreid 1 is arch id 1<br>
> 0 chips: client waiting for all_spawnds_up<br>
> Monitor 0: booting scc core 1 as '/scc/sbin/cpu'<br>
> kernel 0: Allocating RAM at 0x80020000 uninitialized<br>
> Kernel starting at address 0x80100000<br>
> My APIC ID: 1<br>
> Barrelfish CPU driver starting on scc core 1<br>
> init: invoked as: init 2097152<br>
> Spawning memory server (scc/sbin/mem_serv)...<br>
> Spawning monitor (scc/sbin/monitor)...<br>
> starting monitor as 'scc/sbin/monitor 327680 '<br>
> monitor: invoked as: scc/sbin/monitor 327680<br>
> RAM allocator initialised, 1612 MB (of 1628 MB)
available<br>
> Spawning chips on core 1<br>
> Spawning /scc/sbin/ramfsd on core 1<br>
> Spawning /scc/sbin/spawnd on core 1<br>
> Spawning /scc/sbin/startd on core 1<br>
> 0 chips: client waiting for ramfs<br>
> ramfsd.1: pre-populating from boot image...<br>
> 0 chips: client waiting for ramfs<br>
> ramfsd.1: ready<br>
> 0 chips: notifying client about ramfs<br>
> 0 chips: notifying client about ramfs<br>
> kernel 1: Allocating RAM at 0x84000000 uninitialized<br>
> kernel 1: Allocating RAM at 0x84010000 uninitialized<br>
> spawnd.1: coreid 0 is arch id 0<br>
> spawnd.1: coreid 1 is arch id 1<br>
> 0 chips: client waiting for all_spawnds_up<br>
> Monitor 1: booting scc core 0 as '/scc/sbin/cpu'<br>
> ********* Why would core 1 want to boot core 0 ?
**************<br>
> kernel 1: Allocating RAM at 0x84020000 uninitialized<br>
> kernel 1 PANIC! kernel assertion "rck_get_coreid() ==
0" failed at<br>
> ../kernel/arch/scc/rck.c:876<br>
> kernel 1: exception 3 (error code 0x0): breakpoint<br>
> On behalf of: monitor<br>
> Faulting instruction pointer (or following
instruction): 0x8010a7bf<br>
> (0x 10a7bf in binary)<br>
> EAX 0x80118000 EBX 0x80116e88 ECX 0x0 EDX 0x805202c0
ESP 0x80920a08<br>
> Top o' stack:<br>
> 0x8010a7bf 0x2 0x8 0x10 0x3 0x0 0x8010a7bf 0x8 0x2
0x80520180<br>
> 0x80116e88 0x80920a44 0x8010c612 0x80116e88 0x210d6000
0x80920a64<br>
> 0x8010c64b 0x801164a0 0x80114c10 0x80114b55<br>
> No GDB backend<br>
> --------------- OUTPUT END
------------------------------<br>
><br>
> As I see it, core 1 seems thought that it's the bsp
core (while it's<br>
> not) so it's responsible to boot other cores. But I
fail to see why<br>
> core 1 would think like that.<br>
><br>
> Any ideas on this? Thanks in advance.<br>
><br>
> Regards,<br>
> Jinghao<br>
><br>
> FYI, this is my menu.lst.scc<br>
><br>
> 1 timeout 0<br>
> 2<br>
> 3 # spawnd is used to control which cpus are booted<br>
> 4 #<br>
> 5 # "spawnd boot" will use the skb and pci to figure
out and<br>
> 6 # boot all cores in the machine<br>
> 7 #<br>
> 8 # "spawnd boot bootscc=1-6" will not use the skb
and<br>
> 9 # boot the list of cores passed as argument.<br>
> 10 # The hardware id of the cores to boot should be
specified.<br>
> 11 # This list may not include the bsp core id.<br>
> 12<br>
> 13 title Barrelfish<br>
> 14 root (nd)<br>
> 15 kernel /scc/sbin/cpu loglevel=4<br>
> 16 module /scc/sbin/cpu<br>
> 17 module /scc/sbin/init<br>
> 18<br>
> 19 # Domains spawned by init<br>
> 20 module /scc/sbin/mem_serv<br>
> 21 module /scc/sbin/monitor<br>
> 22<br>
> 23 module /scc/sbin/chips boot<br>
> 24 module /scc/sbin/ramfsd boot<br>
> 25 module /scc/sbin/spawnd boot bootscc=0-1<br>
> 26 module /scc/sbin/startd boot<br>
> 27<br>
> 28 #module /scc/sbin/examples/xmpl-hello<br>
> 29<br>
> 30 # modules needed to start the networking<br>
> 31 # module /scc/sbin/eMAC core=0 device=2<br>
> 32 # module /scc/sbin/netd core=0 cardname=eMAC2_0<br>
> 33 # module /scc/sbin/eMAC core=1<br>
> 34 # module /scc/sbin/netd core=1 cardname=eMAC2_1<br>
> 35<br>
> 36 # Test for network throughput<br>
> 37 # module /scc/sbin/netthroughput core=1 /nfs<br>
> nfs://<a href="http://10.110.4.41/shared" target="_blank"><font color="red"><b>MailScanner warning: numerical links are often malicious:</b></font> 10.110.4.41/shared</a>
<<a href="http://10.110.4.41/shared" target="_blank"><font color="red"><b>MailScanner warning: numerical links are often malicious:</b></font> http://10.110.4.41/shared</a>><br>
> /nfs/pravin/testfile.txt<br>
> 38<br>
> 39 # For webserver<br>
> 40 # module /scc/sbin/webserver core=1 eMAC2_1
10.110.4.41<br>
> /shared/pravin/sw<br>
> 41<br>
> 42 # RCK memory map<br>
> 43 # Everything up til VGA is private RAM (maybe we
want to throw it<br>
> away)<br>
> 44 mmap map 0x0 0xa000 2<br>
> 45 # Everything after VGA is private RAM (we also live
in this area)<br>
> 46 mmap map 0xe800 0x26ff1800 1<br>
> 47 # Shared RAM (over all MCs) in the middle of
address space<br>
> 48 #mmap map 0x80000000 0x4000000 1<br>
> 49 mmap map 0x80000000 0x40000000 1<br>
> 50 # At the very end we have some platform memory
(bootup EEPROM)<br>
> 51 mmap map 0xfffc0000 0x40000 2<br>
><br>
><br>
><br>
> _______________________________________________<br>
> Barrelfish-users mailing list<br>
> <a href="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank">Barrelfish-users@lists.inf.ethz.ch</a><br>
> <a href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a><br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <a href="https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/ffc2681c/attachment.html" target="_blank">https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/ffc2681c/attachment.html</a><br>
<br>
------------------------------<br>
<br>
_______________________________________________<br>
Barrelfish-users mailing list<br>
<a href="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank">Barrelfish-users@lists.inf.ethz.ch</a><br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a><br>
<br>
<br>
End of Barrelfish-users Digest, Vol 27, Issue 9<br>
***********************************************<br>
<br>
</blockquote>
</div>
<br>
</div>
</blockquote>
</div>
</blockquote></div><br></div></div></div>
</blockquote></div><br></div>