intel / FSP

Intel(R) Firmware Support Package (FSP)
Other
288 stars 126 forks source link

x86_64 firmware support: Use fixed size struct elements to support cross arch firmwares #59

Open PatrickRudolph opened 3 years ago

PatrickRudolph commented 3 years ago

As FSP binaries are released with a fixed architecture (x86_32), the header must not contain variable size fields like SIZE_T, UINTN, VOID* or UINTPTR_T. If compiled on x86_64 this would cause those structs to not match the ones used internally by FSP as the element size differs.

Please remove such elements and only use variables that have a fixed size, even on when compiled on x86_64.

nate-desimone commented 3 years ago

@PatrickRudolph, that is good feedback. We will keep that in mind while developing new FSP's for future Intel platforms. Rewriting the UPD headers for pre-existing FSP binaries going back to the beginning of time isn't a maintainable activity, for the same reason that keeping coreboot local copies of UPD headers makes updates tricky.