[Barrelfish-users] Problems when booting Barrelfish on SCC

Shi Jinghao (史经浩) jhshi at cs.hku.hk
Sun Apr 22 12:18:42 CEST 2012


Hi, stefan.

I changed the line as you instructed and it works. But when I try to boot
core 0, 1, 2 ,3
with the following line:

module /scc/sbin/spawnd boot bootscc=1-3

The same problem occurs (ouput attached). So what's the proper syntax that
correctly
boot scc cores (e.g. {0, 1, 2, 3}, or {0, 2, 4, 6} )?

Regards,
Jinghao

---------- OUTPUT START ------------------------------
Kernel starting at address 0x80100000
Barrelfish CPU driver starting on scc core 0
init: invoked as: init 2097152
Spawning memory server (scc/sbin/mem_serv)...
Spawning monitor (scc/sbin/monitor)...
starting monitor as 'scc/sbin/monitor 327680 '
monitor: invoked as: scc/sbin/monitor 327680
RAM allocator initialised, 1612 MB (of 1628 MB) available
Spawning chips on core 0
Spawning /scc/sbin/ramfsd on core 0
Spawning /scc/sbin/spawnd on core 0
Spawning /scc/sbin/startd on core 0
0 chips: client waiting for ramfs
ramfsd.0: pre-populating from boot image...
0 chips: client waiting for ramfs
ramfsd.0: ready
0 chips: notifying client about ramfs
0 chips: notifying client about ramfs
kernel 0: Allocating RAM at 0x80000000 uninitialized
kernel 0: Allocating RAM at 0x80010000 uninitialized
spawnd.0: coreid 0 is arch id 0
spawnd.0: coreid 1 is arch id 1
spawnd.0: coreid 2 is arch id 2
spawnd.0: coreid 3 is arch id 3
0 chips: client waiting for all_spawnds_up
Monitor 0: booting scc core 1 as '/scc/sbin/cpu'
kernel 0: Allocating RAM at 0x80020000 uninitialized
Kernel starting at address 0x80100000
My APIC ID: 1
Barrelfish CPU driver starting on scc core 1
init: invoked as: init 2097152
Spawning memory server (scc/sbin/mem_serv)...
Spawning monitor (scc/sbin/monitor)...
starting monitor as 'scc/sbin/monitor 327680 '
monitor: invoked as: scc/sbin/monitor 327680
RAM allocator initialised, 1612 MB (of 1628 MB) available
Spawning chips on core 1
Spawning /scc/sbin/ramfsd on core 1
Spawning /scc/sbin/spawnd on core 1
Spawning /scc/sbin/startd on core 1
0 chips: client waiting for ramfs
ramfsd.1: pre-populating from boot image...
0 chips: client waiting for ramfs
ramfsd.1: ready
0 chips: notifying client about ramfs
0 chips: notifying client about ramfs
kernel 1: Allocating RAM at 0x84000000 uninitialized
kernel 1: Allocating RAM at 0x84010000 uninitialized
spawnd.1: coreid 0 is arch id 2
spawnd.1: coreid 1 is arch id 1
spawnd.1: coreid 2 is arch id 3
0 chips: client waiting for all_spawnds_up
Monitor 1: booting scc core 0 as '/scc/sbin/cpu'
kernel 1: Allocating RAM at 0x84020000 uninitialized
kernel 1 PANIC! kernel assertion "rck_get_coreid() == 0" failed at
../kernel/arch/scc/rck.c:876
kernel 1: exception 3 (error code 0x0): breakpoint
On behalf of: monitor
Faulting instruction pointer (or following instruction): 0x8010a7bf (0x
10a7bf in binary)
EAX 0x80118000 EBX 0x80116e88 ECX 0x0 EDX 0x805202c0 ESP 0x80920a08
Top o' stack:
0x8010a7bf 0x2 0x8 0x10 0x3 0x0 0x8010a7bf 0x8 0x2 0x80520180 0x80116e88
0x80920a44 0x8010c612 0x80116e88 0x210d6000 0x80920a64 0x8010c64b
0x801164a0 0x80114c10 0x80114b55
No GDB backend
---------------- OUTPUT END ----------------------------


On Sun, Apr 22, 2012 at 5:33 PM, <barrelfish-users-request at lists.inf.ethz.ch
> wrote:

> Send Barrelfish-users mailing list submissions to
>        barrelfish-users at lists.inf.ethz.ch
>
> To subscribe or unsubscribe via the World Wide Web, visit
>        https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
> or, via email, send a message with subject or body 'help' to
>        barrelfish-users-request at lists.inf.ethz.ch
>
> You can reach the person managing the list at
>        barrelfish-users-owner at lists.inf.ethz.ch
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Barrelfish-users digest..."
>
>
> Today's Topics:
>
>   1. Problems when booting Barrelfish on SCC (???? <jhshi at cs.hku.hk>)
>   2. Re: Problems when booting Barrelfish on SCC (Stefan K?stle)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sun, 22 Apr 2012 17:12:57 +0800
> From: Shi Jinghao (???? <jhshi at cs.hku.hk>
> Subject: [Barrelfish-users] Problems when booting Barrelfish on SCC
> To: barrelfish-users at lists.inf.ethz.ch
> Message-ID:
>        <CAKdW-HFRKv6HWqAxwsL5MMJRqot6BSPkHXPx9ecXg3eaONRHZw at mail.gmail.com
> >
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hi,
>
> I'm trying to boot barrelfish on SCC. I've managed to compile the source,
> get barrelfish0.obj and barrelfish48.mt.
> 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
> happens: core 1 is trying to boot core 0. Here is the output after system
> start.
>
> ----------------------OUTPUT START ------------------------------------
> Kernel starting at address 0x80100000
> hku at ubuntu:~/fish/hg.barrelfish.org/build$ My APIC ID: 0
> Barrelfish CPU driver starting on scc core 0
> init: invoked as: init 2097152
> Spawning memory server (scc/sbin/mem_serv)...
> Spawning monitor (scc/sbin/monitor)...
> starting monitor as 'scc/sbin/monitor 327680 '
> monitor: invoked as: scc/sbin/monitor 327680
> RAM allocator initialised, 1612 MB (of 1628 MB) available
> Spawning chips on core 0
> Spawning /scc/sbin/ramfsd on core 0
> Spawning /scc/sbin/spawnd on core 0
> Spawning /scc/sbin/startd on core 0
> 0 chips: client waiting for ramfs
> ramfsd.0: pre-populating from boot image...
> 0 chips: client waiting for ramfs
> ramfsd.0: ready
> 0 chips: notifying client about ramfs
> 0 chips: notifying client about ramfs
> kernel 0: Allocating RAM at 0x80000000 uninitialized
> kernel 0: Allocating RAM at 0x80010000 uninitialized
> spawnd.0: coreid 0 is arch id 0
> spawnd.0: coreid 1 is arch id 1
> 0 chips: client waiting for all_spawnds_up
> Monitor 0: booting scc core 1 as '/scc/sbin/cpu'
> kernel 0: Allocating RAM at 0x80020000 uninitialized
> Kernel starting at address 0x80100000
> My APIC ID: 1
> Barrelfish CPU driver starting on scc core 1
> init: invoked as: init 2097152
> Spawning memory server (scc/sbin/mem_serv)...
> Spawning monitor (scc/sbin/monitor)...
> starting monitor as 'scc/sbin/monitor 327680 '
> monitor: invoked as: scc/sbin/monitor 327680
> RAM allocator initialised, 1612 MB (of 1628 MB) available
> Spawning chips on core 1
> Spawning /scc/sbin/ramfsd on core 1
> Spawning /scc/sbin/spawnd on core 1
> Spawning /scc/sbin/startd on core 1
> 0 chips: client waiting for ramfs
> ramfsd.1: pre-populating from boot image...
> 0 chips: client waiting for ramfs
> ramfsd.1: ready
> 0 chips: notifying client about ramfs
> 0 chips: notifying client about ramfs
> kernel 1: Allocating RAM at 0x84000000 uninitialized
> kernel 1: Allocating RAM at 0x84010000 uninitialized
> spawnd.1: coreid 0 is arch id 0
> spawnd.1: coreid 1 is arch id 1
> 0 chips: client waiting for all_spawnds_up
> Monitor 1: booting scc core 0 as '/scc/sbin/cpu'
> ********* Why would core 1 want to boot core 0 ? **************
> kernel 1: Allocating RAM at 0x84020000 uninitialized
> kernel 1 PANIC! kernel assertion "rck_get_coreid() == 0" failed at
> ../kernel/arch/scc/rck.c:876
> kernel 1: exception 3 (error code 0x0): breakpoint
> On behalf of: monitor
> Faulting instruction pointer (or following instruction): 0x8010a7bf (0x
> 10a7bf in binary)
> EAX 0x80118000 EBX 0x80116e88 ECX 0x0 EDX 0x805202c0 ESP 0x80920a08
> Top o' stack:
> 0x8010a7bf 0x2 0x8 0x10 0x3 0x0 0x8010a7bf 0x8 0x2 0x80520180 0x80116e88
> 0x80920a44 0x8010c612 0x80116e88 0x210d6000 0x80920a64 0x8010c64b
> 0x801164a0 0x80114c10 0x80114b55
> No GDB backend
> --------------- OUTPUT END ------------------------------
>
> 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.
>
> Any ideas on this? Thanks in advance.
>
> Regards,
> Jinghao
>
> FYI, this is my menu.lst.scc
>
>  1 timeout 0
>  2
>  3 # spawnd is used to control which cpus are booted
>  4 #
>  5 # "spawnd boot" will use the skb and pci to figure out and
>  6 #  boot all cores in the machine
>  7 #
>  8 # "spawnd boot bootscc=1-6" will not use the skb and
>  9 # boot the list of cores passed as argument.
>  10 # The hardware id of the cores to boot should be specified.
>  11 # This list may not include the bsp core id.
>  12
>  13 title   Barrelfish
>  14 root    (nd)
>  15 kernel  /scc/sbin/cpu loglevel=4
>  16 module  /scc/sbin/cpu
>  17 module  /scc/sbin/init
>  18
>  19 # Domains spawned by init
>  20 module  /scc/sbin/mem_serv
>  21 module  /scc/sbin/monitor
>  22
>  23 module  /scc/sbin/chips boot
>  24 module  /scc/sbin/ramfsd boot
>  25 module  /scc/sbin/spawnd boot bootscc=0-1
>  26 module  /scc/sbin/startd boot
>  27
>  28 #module /scc/sbin/examples/xmpl-hello
>  29
>  30 # modules needed to start the networking
>  31 # module  /scc/sbin/eMAC core=0 device=2
>  32 # module  /scc/sbin/netd core=0 cardname=eMAC2_0
>  33 # module  /scc/sbin/eMAC core=1
>  34 # module  /scc/sbin/netd core=1 cardname=eMAC2_1
>  35
>  36 # Test for network throughput
>  37 # module  /scc/sbin/netthroughput core=1 /nfs
> nfs://10.110.4.41/shared/nfs/pravin/testfile.txt
>  38
>  39 # For webserver
>  40 # module  /scc/sbin/webserver core=1 eMAC2_1 10.110.4.41
> /shared/pravin/sw
>  41
>  42 # RCK memory map
>  43 # Everything up til VGA is private RAM (maybe we want to throw it away)
>  44 mmap    map 0x0     0xa000      2
>  45 # Everything after VGA is private RAM (we also live in this area)
>  46 mmap    map 0xe800      0x26ff1800  1
>  47 # Shared RAM (over all MCs) in the middle of address space
>  48 #mmap   map 0x80000000  0x4000000   1
>  49 mmap    map     0x80000000      0x40000000      1
>  50 # At the very end we have some platform memory (bootup EEPROM)
>  51 mmap    map 0xfffc0000  0x40000     2
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/e2ff7982/attachment-0001.html
>
> ------------------------------
>
> Message: 2
> Date: Sun, 22 Apr 2012 11:33:52 +0200
> From: Stefan K?stle <stefan.kaestle at inf.ethz.ch>
> Subject: Re: [Barrelfish-users] Problems when booting Barrelfish on
>        SCC
> To: <barrelfish-users at lists.inf.ethz.ch>
> Message-ID: <4F93D080.6080905 at inf.ethz.ch>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hi,
>
> can you try replacing
> module  /scc/sbin/spawnd boot bootscc=0-1
> with
> module  /scc/sbin/spawnd boot bootscc=1
> and try it again?
>
> The boot-up of core 0 is implicit - we do not specify it as a spwand
> argument.
>
> Cheers,
>  Stefan
>
> On 04/22/2012 11:12 AM, Shi Jinghao (???) wrote:
> > Hi,
> >
> > I'm trying to boot barrelfish on SCC. I've managed to compile the
> > source, get barrelfish0.obj and barrelfish48.mt <http://barrelfish48.mt
> >.
> > 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
> > happens: core 1 is trying to boot core 0. Here is the output after
> > system start.
> >
> > ----------------------OUTPUT START ------------------------------------
> > Kernel starting at address 0x80100000
> > hku at ubuntu:~/fish/hg.barrelfish.org/build$
> > <http://hg.barrelfish.org/build$> My APIC ID: 0
> > Barrelfish CPU driver starting on scc core 0
> > init: invoked as: init 2097152
> > Spawning memory server (scc/sbin/mem_serv)...
> > Spawning monitor (scc/sbin/monitor)...
> > starting monitor as 'scc/sbin/monitor 327680 '
> > monitor: invoked as: scc/sbin/monitor 327680
> > RAM allocator initialised, 1612 MB (of 1628 MB) available
> > Spawning chips on core 0
> > Spawning /scc/sbin/ramfsd on core 0
> > Spawning /scc/sbin/spawnd on core 0
> > Spawning /scc/sbin/startd on core 0
> > 0 chips: client waiting for ramfs
> > ramfsd.0: pre-populating from boot image...
> > 0 chips: client waiting for ramfs
> > ramfsd.0: ready
> > 0 chips: notifying client about ramfs
> > 0 chips: notifying client about ramfs
> > kernel 0: Allocating RAM at 0x80000000 uninitialized
> > kernel 0: Allocating RAM at 0x80010000 uninitialized
> > spawnd.0: coreid 0 is arch id 0
> > spawnd.0: coreid 1 is arch id 1
> > 0 chips: client waiting for all_spawnds_up
> > Monitor 0: booting scc core 1 as '/scc/sbin/cpu'
> > kernel 0: Allocating RAM at 0x80020000 uninitialized
> > Kernel starting at address 0x80100000
> > My APIC ID: 1
> > Barrelfish CPU driver starting on scc core 1
> > init: invoked as: init 2097152
> > Spawning memory server (scc/sbin/mem_serv)...
> > Spawning monitor (scc/sbin/monitor)...
> > starting monitor as 'scc/sbin/monitor 327680 '
> > monitor: invoked as: scc/sbin/monitor 327680
> > RAM allocator initialised, 1612 MB (of 1628 MB) available
> > Spawning chips on core 1
> > Spawning /scc/sbin/ramfsd on core 1
> > Spawning /scc/sbin/spawnd on core 1
> > Spawning /scc/sbin/startd on core 1
> > 0 chips: client waiting for ramfs
> > ramfsd.1: pre-populating from boot image...
> > 0 chips: client waiting for ramfs
> > ramfsd.1: ready
> > 0 chips: notifying client about ramfs
> > 0 chips: notifying client about ramfs
> > kernel 1: Allocating RAM at 0x84000000 uninitialized
> > kernel 1: Allocating RAM at 0x84010000 uninitialized
> > spawnd.1: coreid 0 is arch id 0
> > spawnd.1: coreid 1 is arch id 1
> > 0 chips: client waiting for all_spawnds_up
> > Monitor 1: booting scc core 0 as '/scc/sbin/cpu'
> > ********* Why would core 1 want to boot core 0 ? **************
> > kernel 1: Allocating RAM at 0x84020000 uninitialized
> > kernel 1 PANIC! kernel assertion "rck_get_coreid() == 0" failed at
> > ../kernel/arch/scc/rck.c:876
> > kernel 1: exception 3 (error code 0x0): breakpoint
> > On behalf of: monitor
> > Faulting instruction pointer (or following instruction): 0x8010a7bf
> > (0x 10a7bf in binary)
> > EAX 0x80118000 EBX 0x80116e88 ECX 0x0 EDX 0x805202c0 ESP 0x80920a08
> > Top o' stack:
> > 0x8010a7bf 0x2 0x8 0x10 0x3 0x0 0x8010a7bf 0x8 0x2 0x80520180
> > 0x80116e88 0x80920a44 0x8010c612 0x80116e88 0x210d6000 0x80920a64
> > 0x8010c64b 0x801164a0 0x80114c10 0x80114b55
> > No GDB backend
> > --------------- OUTPUT END ------------------------------
> >
> > 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.
> >
> > Any ideas on this? Thanks in advance.
> >
> > Regards,
> > Jinghao
> >
> > FYI, this is my menu.lst.scc
> >
> >   1 timeout 0
> >   2
> >   3 # spawnd is used to control which cpus are booted
> >   4 #
> >   5 # "spawnd boot" will use the skb and pci to figure out and
> >   6 #  boot all cores in the machine
> >   7 #
> >   8 # "spawnd boot bootscc=1-6" will not use the skb and
> >   9 # boot the list of cores passed as argument.
> >  10 # The hardware id of the cores to boot should be specified.
> >  11 # This list may not include the bsp core id.
> >  12
> >  13 title   Barrelfish
> >  14 root    (nd)
> >  15 kernel  /scc/sbin/cpu loglevel=4
> >  16 module  /scc/sbin/cpu
> >  17 module  /scc/sbin/init
> >  18
> >  19 # Domains spawned by init
> >  20 module  /scc/sbin/mem_serv
> >  21 module  /scc/sbin/monitor
> >  22
> >  23 module  /scc/sbin/chips boot
> >  24 module  /scc/sbin/ramfsd boot
> >  25 module  /scc/sbin/spawnd boot bootscc=0-1
> >  26 module  /scc/sbin/startd boot
> >  27
> >  28 #module /scc/sbin/examples/xmpl-hello
> >  29
> >  30 # modules needed to start the networking
> >  31 # module  /scc/sbin/eMAC core=0 device=2
> >  32 # module  /scc/sbin/netd core=0 cardname=eMAC2_0
> >  33 # module  /scc/sbin/eMAC core=1
> >  34 # module  /scc/sbin/netd core=1 cardname=eMAC2_1
> >  35
> >  36 # Test for network throughput
> >  37 # module  /scc/sbin/netthroughput core=1 /nfs
> > nfs://10.110.4.41/shared <http://10.110.4.41/shared>
> > /nfs/pravin/testfile.txt
> >  38
> >  39 # For webserver
> >  40 # module  /scc/sbin/webserver core=1 eMAC2_1 10.110.4.41
> > /shared/pravin/sw
> >  41
> >  42 # RCK memory map
> >  43 # Everything up til VGA is private RAM (maybe we want to throw it
> > away)
> >  44 mmap    map 0x0     0xa000      2
> >  45 # Everything after VGA is private RAM (we also live in this area)
> >  46 mmap    map 0xe800      0x26ff1800  1
> >  47 # Shared RAM (over all MCs) in the middle of address space
> >  48 #mmap   map 0x80000000  0x4000000   1
> >  49 mmap    map     0x80000000      0x40000000      1
> >  50 # At the very end we have some platform memory (bootup EEPROM)
> >  51 mmap    map 0xfffc0000  0x40000     2
> >
> >
> >
> > _______________________________________________
> > Barrelfish-users mailing list
> > Barrelfish-users at lists.inf.ethz.ch
> > https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/ffc2681c/attachment.html
>
> ------------------------------
>
> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>
>
> End of Barrelfish-users Digest, Vol 27, Issue 9
> ***********************************************
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/344231bb/attachment-0001.html 


More information about the Barrelfish-users mailing list