[Barrelfish-users] Problems when booting Barrelfish on SCC

Stefan Kästle stefan.kaestle at inf.ethz.ch
Mon Apr 23 22:13:44 CEST 2012


Hi,

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).

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!

Cheers
 Stefan

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/20120423/e6956e38/attachment-0001.html 


More information about the Barrelfish-users mailing list