[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