On 14.02.2017 18:56, ron minnich wrote: > At what point is ramstage a kernel? I think at the point we add file > systems or preemptive scheduling. We're getting dangerously close. If we > really start to cross that boundary, it's time to rethink the ramstage in > my view. It's not a good foundation for a kernel.
Agreed. I wouldn't call it a kernel, but it really seems to grow very ugly. Every time I think about this, I scarcely find anything that needs to be done in ramstage. I believe even most payloads could live without it with some more initialization done in romstage. Some things that I recall, what ramstage does: o MP init => maybe can be done earlier, does it need RAM generally??? o PCI resource allocation => can be done offline Just add the resources to the devicetree. If you want to boot from a plugged card, that isn't in the devicetree, the payload would have to handle it though. o Those small PCI device "drivers" => I doubt they need RAM o Table generation => Not that dynamic after all I suppose much is done with static (compile time) information. o Sometimes gfx modesetting => do it in the payload Nico -- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot