u-boot requirements for genode

Michael Grunditz michael.grunditz at gmail.com
Tue Jan 3 18:14:38 CET 2023


On Tue, 3 Jan 2023 at 15:59, Stefan Kalkowski
<stefan.kalkowski at genode-labs.com> wrote:
>
> Hello Michael,
>
>
> On Fri, Dec 30, 2022 at 02:49:25AM +0100, Michael Grunditz wrote:
> > Hello
> >
> > I would like to know the requirements from u-boot in order to properly
> > start genode.
>
> in general Genode's base-hw kernel can boot from different
> environments that u-boot might provide. This depends on the platform resp.
> board. The generic Cortex-A53 bootstrap code used by rpi3, i.MX8, and
> allwinner64 assumes that u-boot started the kernel (or better:
> bootstrap code) in the EL3, EL2, or EL1 mode, although the latter one
> is not used as start mode by any of these boards if I remember
> correctly.
> The only requirement is that the ELF binary was setup correctly, that
> all peripherals used (e.g. the UART) are accessible in this mode (e.g.
> when switching from secure to normal world before).
>
OK. Good to know.

> Have you tried the following after loading the Genode system's uImage
> to "load_addr":
>
>   bootm start ${load_addr}; bootm loados; bootm go;
>

I think(!) I tried that. Gives me a crashdump from uboot.

> I don't think this is a good idea, because probably u-boot does not
> setup the EL2 mode properly here then. Although I'm not sure. To stay
> safe, I would not try to eagerly degrade the privilege level.
> Moreover, you won't be able to use the hypervisor functionality.
>

True.

>
> Do I understand you correctly that the UART in principle works in the
> Genode bootstrap code, but not if you enforce u-boot to switch to EL1
> before? If this is the case, you probably have no baud-rate issue
> here?!
>
Yea. I must have dreamt :-)



More information about the users mailing list