So just to be clear, to make sure we weren't taking different things away from that meeting: I said I'm okay with adding the FDT option as a separate, isolated compile-time option for those that want to try it out. But I care that the coreboot tables continue to be supported on equal footing in the long term, and I don't want there to be some pre-formed understanding that they'll be "deprecated eventually" or that payloads will be slowly pressured to move to the FDT handoff, particularly not with any specific timeline attached.
With this in mind I don't see any reasons why generating the FDT handoff
needs to happen in the coreboot ramstage. A libpayload based payload could just as well generate that FDT handoff and chainload the next payload. All the infrastructure is there in libpayload to cleanly do this. The coreboot code for dealing with FDT is exactly the same as deptcharge code (it comes from that project). This is a better technical solution than to introduce new Kconfig guarded code and maintenance overhead inside the coreboot tree to maintain 2 solutions for the same problem. As a matter of fact that solution is even more 'universal' as you could still swap out payloads without recompiling the coreboot part of things.
Arthur
On Tue, Nov 8, 2022 at 11:55 PM Julius Werner jwerner@chromium.org wrote:
As mentioned by Julius, we had a candid discussion yesterday on this,
while he still reserves his opinions on FDT, he will not block the implementation. For now we will guard it with kconfig and give it a year of trial to see how it turns out.
So just to be clear, to make sure we weren't taking different things away from that meeting: I said I'm okay with adding the FDT option as a separate, isolated compile-time option for those that want to try it out. But I care that the coreboot tables continue to be supported on equal footing in the long term, and I don't want there to be some pre-formed understanding that they'll be "deprecated eventually" or that payloads will be slowly pressured to move to the FDT handoff, particularly not with any specific timeline attached.