Booting L4Re on the CI20: Panic in sigma0
paul at boddie.org.uk
Sat Jul 15 00:11:58 CEST 2017
Following up to myself again...
On Friday 14. July 2017 01.11.38 Paul Boddie wrote:
[Boot log on the CI20]
> MOE: Hello world
> And that is then the end of output.
So, I found I'd got ahead of myself here. Noting that the CI20 has 1GB RAM, I
changed the mk/platforms/ci20.conf file to set PLATFORM_RAM_SIZE_MB to 1024.
However, this is a bad idea indeed: only the range from zero to 0x10000000,
which is 256MB as originally indicated in the configuration file, is allocated
to the RAM in the physical address space map. The full 1GB is actually mapped
from 0x20000000 upwards.
(I'm guessing that they've done it this way to maintain some kind of
compatibility with other products. At the moment, I don't know whether that
memory is directly accessible, but I can obviously do a bit of research on
Changing this setting back from 1024 to 256 solved the problem of the Moe
find_memory routine trying to obtain memory regions from 0x10000000 and above,
and I now get to the point of loading the "hello" example. However, I'm not
managing to actually see the example start. I get the following output:
MOE: Hello world
MOE: found 245048 KByte free memory
MOE: found RAM from 1000 to 10000000
MOE: allocated 255 KByte for the page array @0x104d000
MOE: virtual user address space [0-7fffffff]
MOE: rom name space cap -> [C:103000]
BOOTFS: [1100000-1131e5c] [C:105000] l4re
BOOTFS: [1132000-1164b08] [C:107000] hello
MOE: cmdline: moe --init=rom/hello
MOE: Starting: rom/hello
MOE: loading 'rom/hello'
Despite inserting a trace statement into the Moe main program after the
elf_loader.start invocations, I don't see anything else appear. So I guess
something else manages to go wrong at this point. I suppose I'll have to try
and track this down.
More information about the l4-hackers