Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/36346 )
Change subject: cbfs: store header offset as absolute value BE from fmap_top ......................................................................
Patch Set 1: Code-Review-1
I... would rather we do not do this. I understand that it's inconsistent with the rest of CBFS, but then again we don't really support any big-endian platforms anyway so I don't know what the whole well-defined endianness thing in CBFS is good for other than annoying people who have to work with it.
There are a ton of CBFS parsers out there: in SeaBIOS, in GRUB, in some random old Chrome OS utilities that we don't even know have them anymore... I don't think we could find them all if we tried. A change like this would break all of them. If we ever wanna do a full backwards-incompatible overhaul of CBFS we can add this too (although then I think this pointer would go away entirely in favor of the FMAP instead), but until then I think we should try to stay compatible with what we have.
Also, I think(?) this is still used as a jump offset by the 16-bit bootblock entry code on x86, so you would have to do byte swapping in assembly there as well (and I think you only have 16 bytes so that may not be possible).