On Thu, 5 Jan 2023 at 09:29, Stefan Kalkowski <[email protected]> wrote: > > Hello Michael, > > I try to summarize what I understood from your previous e-mails: > Thanks for reading! :-) > * u-boot normally starts on the RK3588 SoC in EL2 with MMU enabled, > and enabled caches True > * when using the unchanged Genode base-hw bootstrap code, you then > stuck when issuing a Genode::raw (how do you know, it is exactly > that point? does it provoke an exception shown by u-boot? and if yes > what kind of exception?)
I get a dump (Exception from an unknown reason). I can write characters to uart, phys address. (*ser='m') So I know it crashes on genode api . I have a couple of raw printouts and I get crash if mmu is disabled and no crash if I comment them out. > * when removing the MMU disabling within the bootstrap assembler code, > you can proceed, and you see Genode::raw messages > Yes. But no luck with EL switching. > Is this correct? > > If the MMU disabling is the important point with regard to the UART > usage (if this is 100% the issue), either u-boot doesn't setup 1:1 > physical to virtual mappings, which is less probable, or the > page-table attributes for the I/O memory mapping of the UART is > essential for the way it is used. > The last option. I need to dig a bit more into this. If starting in EL1, which makes Genode to boot up, I get crash from mmu disabling. Uboot sets sctlr_el1to disabled. https://github.com/u-boot/u-boot/blob/master/arch/arm/include/asm/macro.h#L273. It doesn't make sense. Thanks Michael _______________________________________________ Genode users mailing list [email protected] https://lists.genode.org/listinfo/users
