[Barrelfish-users] Barrelfish Hello world on SCC

Nil Karavadara n.karavadara at gmail.com
Tue Jan 31 15:37:13 CET 2012


HI,

Thank for quick reply.

I am using sccboot.sh to boot barrelfish on to cores

*bootscc.sh*
#!/bin/bash
#
# Starts Barrelfish on SCC

# Reset CRBs and everything else
sccReset -g

# Create an SCC memory image & LUT mapping
sccMerge -m 8 -n 12 -noimage -lut_default -force barrelfish02.mt
#sccMerge -m 8 -n 12 -noimage -lut_default -force barrelfish12.mt
#sccMerge -m 8 -n 12 -noimage -lut_default -force barrelfish48.mt
#sccMerge -m 8 -n 12 -noimage -lut_default -force barrelfish24.mt

# Preload memory with image
sccBoot -g obj

# Release reset of core #0
sccReset -r 0

# Watch the output of all cores as it goes...
./watchall.sh*

watchall.sh*
#!/bin/bash -i
#
# Shows output of all Barrelfish SCC cores simultaneously, as it arrives.

trap "pkill -P $$" SIGINT

for i in `seq 0 1`; do
# XXX: We use grep here to enforce line-buffered output, so concurrent
# input from UARTs isn't garbled.
   # cat /dev/crbif0rb0c${i}ttyS0 | grep . --line-buffered &
    cat /dev/crbif0rb0c${i}ttyS0 &> $HOME/core${i}.log
done

wait


On Tue, Jan 31, 2012 at 1:12 PM, Stefan Kästle
<stefan.kaestle at inf.ethz.ch>wrote:

>  Hi,
>
> the output should be something like:
>
>
> 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, 1611 MB (of 1627 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
> chips: client waiting for ramfs
> ramfsd.0: pre-populating from boot image...
> chips: client waiting for ramfs
> ramfsd.0: /scc/sbin/examples/xmpl-hello already exists, skipping it
> ramfsd.0: ready
> chips: notifying client about ramfs
> chips: notifying client about ramfs
> kernel 0: Allocating RAM at 0x80000000 uninitialized
> kernel 0: Allocating RAM at 0x80010000 uninitialized
> spawnd.0: coreid 1 is arch id 1
> 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 0 chanid=0 frame=2147614720
>
> Spawning memory server (scc/sbin/mem_serv)...
> Spawning monitor (scc/sbin/monitor)...
> starting monitor as 'scc/sbin/monitor 327680 0 chanid=0 frame=2147614720 '
> monitor: invoked as: scc/sbin/monitor 327680 0 chanid=0 frame=2147614720
> RAM allocator initialised, 1611 MB (of 1627 MB) available
> frame base at 0x80020000 -- 0x80021000
>
> kernel 1: Allocating RAM at 0x80020000 uninitialized
> URPC physical frame at 0x80020000
> Spawning spawnd on core 1
>
> all 2 monitors up
> chips: client waiting for spawn.1.ready
> kernel 1: Allocating RAM at 0x81000000 uninitialized
> kernel 1: Allocating RAM at 0x81001000 uninitialized
> kernel 1: Allocating RAM at 0x81040000 uninitialized
>
> chips: notifying client about spawn.1.ready
> chips: client waiting for all_spawnds_up
> chips: notifying client about all_spawnds_up
> chips: notifying client about all_spawnds_up
> startd.0: starting app /scc/sbin/examples/xmpl-hello on core 0
> spawnd.0: spawning /scc/sbin/examples/xmpl-hello on core 0
> startd.0: starting app /scc/sbin/examples/xmpl-hello on core 1
> kernel 0: Allocating RAM at 0x80021000 uninitialized
> Hello World
> spawnd.1: spawning /scc/sbin/examples/xmpl-hello on core 1
> No bootscript
> kernel 1: Allocating RAM at 0x81002000 uninitialized
> Hello World
>
> It seems the second core (id=1) is not started. Did you configure the SCC
> properly?
> What arguments did you give to sccMerge? [1]
>
> Hope this helps
>  Stefan
>
> [1] <http://www.barrelfish.org/TN-005-SCC.pdf><http://www.barrelfish.org/TN-005-SCC.pdf>,
> chapter 2.4 Boot process: first (bootstrap) core)
>
>
>
> On 01/31/2012 12:01 PM, Nil Karavadara wrote:
>
> HI,
>
> I have made changes (only menu.lst needed changes) but the out put is
> still the same.
>
> *Output log:*
>
> 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, 1608 MB (of 1624 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
> chips: client waiting for ramfs
> ramfsd.0: pre-populating from boot image...
> chips: client waiting for ramfs
> ramfsd.0: /scc/sbin/examples/xmpl-hello already exists, skipping it
> ramfsd.0: ready
> chips: notifying client about ramfs
> chips: notifying client about ramfs
> kernel 0: Allocating RAM at 0x80000000 uninitialized
> kernel 0: Allocating RAM at 0x80010000 uninitialized
> spawnd.0: coreid 1 is arch id 1
> chips: client waiting for all_spawnds_up
> Monitor 0: booting scc core 1 as '/scc/sbin/cpu'
> kernel 0: Allocating RAM at 0x80020000 uninitialized
> all 2 monitors up
> chips: client waiting for spawn.1.ready
> chips: notifying client about spawn.1.ready
> chips: client waiting for all_spawnds_up
> chips: notifying client about all_spawnds_up
> chips: notifying client about all_spawnds_up
> startd.0: starting app /scc/sbin/examples/xmpl-hello on core 0
> spawnd.0: spawning /scc/sbin/examples/xmpl-hello on core 0
> startd.0: starting app /scc/sbin/examples/xmpl-hello on core 1
> kernel 0: Allocating RAM at 0x80021000 uninitialized
> Hello World
> No bootscript
>
> *Menu.lst*
> timeout 0
>
> # spawnd is used to control which cpus are booted
> #
> # "spawnd boot" will use the skb and pci to figure out and
> #  boot all cores in the machine
> #
> # "spawnd boot bootscc=1-6" will not use the skb and
> # boot the list of cores passed as argument.
> # The hardware id of the cores to boot should be specified.
> # This list may not include the bsp core id.
>
> title    Barrelfish
> root    (nd)
> kernel    /scc/sbin/cpu loglevel=4
> module    /scc/sbin/cpu
> module    /scc/sbin/init
>
> # Domains spawned by init
> module    /scc/sbin/mem_serv
> module    /scc/sbin/monitor
>
> module    /scc/sbin/chips boot
> module    /scc/sbin/ramfsd boot
> module  /scc/sbin/spawnd boot bootscc=1
> module  /scc/sbin/startd boot
> # modules needed to start the networking
> # module  /scc/sbin/eMAC core=0
> # module  /scc/sbin/netd core=0 cardname=eMAC2_0
> # module  /scc/sbin/eMAC core=1
> # module  /scc/sbin/netd core=1 cardname=eMAC2_1
>
> # RCK memory map
> # Everything up til VGA is private RAM (maybe we want to throw it away)
> mmap    map    0x0        0xa000        2
> # Everything after VGA is private RAM (we also live in this area)
> mmap    map    0xe800        0x26ff1800    1
> # Shared RAM (over all MCs) in the middle of address space
> #mmap    map    0x80000000    0x4000000    1
> mmap    map     0x80000000      0x40000000      1
> # At the very end we have some platform memory (bootup EEPROM)
> mmap    map    0xfffc0000    0x40000        2
>
>
> module /scc/sbin/examples/xmpl-hello core=0
> module /scc/sbin/examples/xmpl-hello core=1
>
> Is there anything ma i missing?
>
> Thank you,
>
>
> On Wed, Jan 25, 2012 at 2:28 PM, Stefan Kästle <stefan.kaestle at inf.ethz.ch
> > wrote:
>
>>  Hi Nil,
>>
>> I assume you modified your menu.lst to start the hello program. The
>> menu.lst [1] for the SCC provided in the tip version of the Barrelfish tree
>> should not start the hello world program automatically.
>>
>> Adding the following entry to the menu.lst would start the hello program
>> on core 0 (assuming you compiled it).
>> module  /scc/sbin/examples/xmpl-hello core=0
>>
>> If you wanted it to start on more cores, you could add several lines,
>> such as:
>> module  /scc/sbin/examples/xmpl-hello core=0
>> module  /scc/sbin/examples/xmpl-hello core=1
>> module  /scc/sbin/examples/xmpl-hello core=2
>>
>> If you omit the paramter core=, the program is started on the core 0.
>>
>> Hope this helps,
>>  Stefan
>>
>> [1] see http://hg.barrelfish.org/file/8c906f8f22fb/hake/menu.lst.scc
>>
>>
>>
>> On 01/24/2012 05:46 PM, Nil Karavadara wrote:
>>
>>  Hi,
>>
>> I have manged to boot barrelfish on SCC. My question is i have booted
>> barrelfish on two cores of SCC and i can see "Hello world" printed once is
>> this correct? (i think that core0 and core1 both will output "Hello world"
>> and i should see it twice on screen)
>>
>> Thank you.
>>
>> --
>> Kind Regards,
>> Nil Karavadara
>>
>> Centre for Computer Science and Informatics Research
>> Science & Technology Research Institute
>> University of Hertfordshire
>>
>>
>>
>>  _______________________________________________
>> Barrelfish-users mailing listBarrelfish-users at lists.inf.ethz.chhttps://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>>
>>
>> --
>> Stefan Kästle
>> ETH Zürich
>> CAB E 69
>> Universitätstrasse 6
>> CH-8092 Zürich
>> Switzerland
>> Email: stefan.kaestle at inf.ethz.ch
>> Phone: +41 44 632 8289
>>
>>
>> _______________________________________________
>> Barrelfish-users mailing list
>> Barrelfish-users at lists.inf.ethz.ch
>> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>>
>>
>
>
> --
> Kind Regards,
> Nil Karavadara
>
> Centre for Computer Science and Informatics Research
> Science & Technology Research Institute
> University of Hertfordshire
>
>
> --
> Stefan
>
>


-- 
Kind Regards,
Nil Karavadara

Centre for Computer Science and Informatics Research
Science & Technology Research Institute
University of Hertfordshire
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120131/6577b85e/attachment.html 


More information about the Barrelfish-users mailing list