The libpayload CBFS stack ("libcbfs") has recently been rewritten from scratch in order to eliminate a bunch of very old warts and better match the new CBFS API in coreboot (https://review.coreboot.org/59497). For the time being, the old libcbfs code remains side-by-side to the new one so that the old API functions still work for existing payloads. However, we would like to remove this code eventually as it still presents a maintenance burden.
All payloads that use the CBFS API in libpayload should please upgrade to the new API. Among the payloads hooked up to the coreboot build system, I think this only affects depthcharge (we already ported that one), BOOTBOOT and FILO. See https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/pay... for available interfaces (they match the coreboot API which is documented in more detail in https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/src...). If you have a use case that cannot be implemented with this interface please let me know.
If there are no objections I'd suggest that we target the official deprecation and removal of the old API for the release after next, i.e. 4.18 around the end of this year.
Hi Julius,
All payloads that use the CBFS API in libpayload should please upgrade
to the new API.
Thanks for the notification, BOOTBOOT has been modified to use the new CBFS API.
If there are no objections I'd suggest that we target the official
deprecation and removal of the old API for the release after next, i.e. 4.18 around the end of this year.
No objections on our part, the new API works great! So I guess only FILO remained.
Cheers, bzt
On 05/04/2022, Julius Werner jwerner@chromium.org wrote:
The libpayload CBFS stack ("libcbfs") has recently been rewritten from scratch in order to eliminate a bunch of very old warts and better match the new CBFS API in coreboot (https://review.coreboot.org/59497). For the time being, the old libcbfs code remains side-by-side to the new one so that the old API functions still work for existing payloads. However, we would like to remove this code eventually as it still presents a maintenance burden.
All payloads that use the CBFS API in libpayload should please upgrade to the new API. Among the payloads hooked up to the coreboot build system, I think this only affects depthcharge (we already ported that one), BOOTBOOT and FILO. See https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/pay... for available interfaces (they match the coreboot API which is documented in more detail in https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/src...). If you have a use case that cannot be implemented with this interface please let me know.
If there are no objections I'd suggest that we target the official deprecation and removal of the old API for the release after next, i.e. 4.18 around the end of this year.