Hello Michael,
On Thu, Jan 19, 2023 at 12:54:30PM +0100, Michael Grunditz wrote:
In riscos we have a function "init_arm" which does this. On rk3399 we switch to the big cpu right at the start. The cpu init in riscos is designed to work without uboot. riscos has been around for quite some time :) Originally it was a physical rom and definitely not with uboot.
This is what we try to do actually, but of course the environment bootstrap starts in depends on the state the bootloader has left us. The claim that for instance Linux kernel resets every possible system register isn't true either.
Sorry for being uneducated, in regards to the linux kernel. I like to be corrected :-)
Hopefully, you didn't got me wrong. I did not want to teach nor correct you. I only wanted to contradict the impression that the ARMv8 initialization code in Genode is not agile with regard to different boot environments at all, but Linux on the other hand is doing "full initialization" (mentioned in a previous mail). Surely, we can always do better, but I sensed a black-and-white comparision here.
It would also be interesting to start Genode on an ARM board without u-boot, e.g. to decrease boot-time. However, till now we prefered convenience with regard to boot-media freedom etc. instead of handling the whole initialization on our own.
We cannot forsee every potential hardware configuration, but of course things are getting more easy the more different SoC and boards are getting ported.
Ofcourse. Just thought that zeroing regs wouldn't hurt. Is it possible to override the start file in a soc tree?
I do not stem against improvements of the CPU initialization, and I'm pretty glad about related patches in our issue tracker. Alternatively, it is of course always possible to replace, either crt0.s or high-level code in a SoC-specific repository.
Best regards Stefan
Michael
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users