Hello everyone,
Yesterday with Yang we found why adding the device tree caused the L4linux boot to fail on Cubietruck with "failed to get physical address for 2000000". I am sharing this here for future references in case anyone needs it.
Yang was using the sun7i-a20-cubietruck.dts [1] device tree which is normally supposed to be used by Linux running on bare-metal arm. In L4Linux's case it's running on top of L4 which controls what L4linux can see. As a result of using sun7i-a20-cubietruck.dts it tries to map a physical address which it's not allowed to.
Using what Matthias described in [2], one needs to create a new device tree based on the simple.dts inside l4linux-source/arch/l4/boot/dts/ and add the information about the ethernet device and its dependencies there. Also don't forget to write the io configuration for those devices.
Another mail from Matthias which serves as a really nice explanation of the process is [3].
Thank you, Manolis
[1] http://elixir.free-electrons.com/u-boot/latest/source/arch/arm/dts/sun7i-a20... [2] https://os.inf.tu-dresden.de/pipermail/l4-hackers/2016/007747.html [3] https://os.inf.tu-dresden.de/pipermail/l4-hackers/2017/008069.html