nexos wrote:
Looks nice! I have been trying to look at the Managarm source tree, but I am a bit confused as to what thor, eir, and so on are. Could you please explain? (We can open a separate thread for this).
thor is the main kernel, and eir is the prekernel, which sets up some things for thor (like physical memory management, paging), loads it in the higher half with proper PHDR permissions (RW or RX), parses the bootloader provided info into a generic format and hands control over to thor.
Other things that may be unclear may be explained on
docs.managarm.org but that is still a bit WIP at the moment.
zaval wrote:
qookie and Co, it's cool. I have a question, maybe stupid. since you guys are also working on an ACPI engine, haven't you considered a possibility (and feasibility) to supply ACPI tables for RPi what is now in DT?
We haven't considered supplying ACPI tables instead of the DT, but to me it seems needlessly complicated, as either eir or thor would need to do the conversion at runtime, since the contents of the DT are not known prior to booting (the FW on the RPi4 patches the DTB loaded from file to set the memory regions and add some properties etc, and on QEMU virt the device tree is generated completely from scratch at boot), and it also seems a bit pointless, as we'd be wasting a good bit of the ACPI engine as there would be no AML to run anyway.