Hi everyone!
This week we had a major breakthrough on getting Linux going on LiteX. We got output from early_printk working on the Opsis board running on the or1k!
https://pastebin.com/S4j569dw
The issue with the or1k locking up in the bios was cause by libbase not respecting the "redzone". The solution was this small patch ->
https://github.com/mithro/litex/commit/0797314ca1ae575197dcbef0a2c6d81293f3d4cb - The redzone is 128 bytes and we need 32*4 bytes to save the registers. The M-Labs guys have not hit this problem because clang doesn't use the redzone. I'm going to make it a little clearer and send it to Florent and M-Labs. I have not found a way to detect if the redzone is in use (nor its size). You can actually compile with "-mno-red-zone" to also fix the problem (which might be a better solution for understanding stack space?).
Joel is now working on cleaning up the Linux patches and getting to userspace. We plan to send the patches up to Stafford as soon as we can.
After that the LiteX UART and timer are the first two drivers that will also need to be finished. We have temporarily enabled the inbuilt or1k timer for now.
I'm now working on getting Linux to early printk on both the MimasV2 and the Arty boards.
With try and send through some instructions for replicate our results later today?