Booting L4Re on the CI20: Panic in sigma0

Paul Boddie paul at
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 mailing list