[Barrelfish-users] Problems when booting Barrelfish on SCC

Stefan Kästle stefan.kaestle at inf.ethz.ch
Sun Apr 22 13:41:30 CEST 2012


Hi,

module /scc/sbin/spawnd boot bootscc=1-3
looks okay to me.

The procedure to boot Barrelfish is normally as follows: The spawnd on
the bsp core boots all other cores. spawnd is started on those other
cores as well, but these spawnd's should _not_ try to boot further
cores. My suspicion is that spawnd on the second core thinks that it is
running on the bsp core and therefore tries to boot cores, which it
shouldn't. Hence, the before mentioned assert should _not_ fail. There
is something wrong ..

I get the same problem when I am trying to run the tip on the SCC. I am
looking into this ..

On 04/22/2012 12:18 PM, Shi Jinghao (???) wrote:
> 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
> <mailto:barrelfish-users-request at lists.inf.ethz.ch>> wrote:
>
>     Send Barrelfish-users mailing list submissions to
>            barrelfish-users at lists.inf.ethz.ch
>     <mailto: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
>     <mailto: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
>     <mailto: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 <mailto: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 <mailto:jhshi at cs.hku.hk>>
>     Subject: [Barrelfish-users] Problems when booting Barrelfish on SCC
>     To: barrelfish-users at lists.inf.ethz.ch
>     <mailto:barrelfish-users at lists.inf.ethz.ch>
>     Message-ID:
>          
>      <CAKdW-HFRKv6HWqAxwsL5MMJRqot6BSPkHXPx9ecXg3eaONRHZw at mail.gmail.com
>     <mailto: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 <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/nfs/pravin/testfile.txt
>     <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
>     -------------- 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
>     <mailto:stefan.kaestle at inf.ethz.ch>>
>     Subject: Re: [Barrelfish-users] Problems when booting Barrelfish on
>            SCC
>     To: <barrelfish-users at lists.inf.ethz.ch
>     <mailto:barrelfish-users at lists.inf.ethz.ch>>
>     Message-ID: <4F93D080.6080905 at inf.ethz.ch
>     <mailto: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> <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$>
>     > <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>
>     <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
>     <mailto: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
>     <mailto: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/7ebd2139/attachment-0001.html 


More information about the Barrelfish-users mailing list