Marty E. Plummer 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:
Patch Set 1:
Hell, I'm even up for the idea of a bigish overhaul of cbfs, in that it will store these header and other similar values in be/le depending on the build arch (eg, for most everything the values will be stored as LE and for big-endian ppc64 it would store them as be).
I hate the endian conversions too but I think this fails with the same problem... CBFS is just too much of a standard and has been reimplemented in too many places to make this worthwhile. I think most coreboot users would probably prefer if we keep the slightly gnarly but downwards-compatible thing we have. (If you really want to make such a big change you should probably bring it up on the mailing list first and see what others think.)
Honestly I don't care about endian conversions; its just part of the job. I honestly don't even care if this approach is what is taken, but the conversation has to get started as to be frank this right here is my current stopping point for the power9 port (the jump from bootblock to ramstage fails because of this) and any solution which will let me get past this stupid issue and on to actually interesting problems is fine by me.