Arthur Heymans has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/56120 )
Change subject: Makefile.inc: Drop the cbfs master header from non-X86 ......................................................................
Patch Set 4:
(1 comment)
Patchset:
PS4:
Apologies for not noticing this before submission, but this is breaking payloads. libpayload CBFS code currently requires a master header (https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/pay...) to access anything but the primary CBFS (e.g. access the RO CBFS when booting with vboot in RW). The libpayload CBFS code is an ancient mess that's in dire need of a complete rewrite (and I was hoping to do that as part of my CBFS verification work some day, but have been swamped with other crap for months now :/ ), but for now it's the only thing we have so it needs to keep working.
There was a rewrite on gerrit: https://review.coreboot.org/c/coreboot/+/15774 but it was blocked due to licensing issues...
However, looking further, there are also payloads like SeaBIOS and Grub that do not link libpayload and instead maintain their own (ancient) CBFS code that tends to rely on a master header. I believe with all of our CBFS additions to date we've always made sure that the most basic coreboot build remains backwards-compatible to CBFS readers from 10+ years ago, which I think is kinda nice. This change would break that. Don't we wanna just keep the header there for those readers, I don't think it really costs us much?
SeaBIOS has a patch pending to not use it. I need to write one for grub, it's not much work. I think it's worth getting rid of the header as updating a hardcoded pointer at the top of the flash is not so nice + most options in the header are pretty meaningless, like cbfs file alignment. boot_media_params has been around for a long time now too, so updating payloads to not rely on it and dropping the header is my current plan.
I hope it's okay if I revert this patch to resolve breakages for the time being.
It's ok. I'll see if it's easy to fix libpayload.