[PATCH 00/14] bloblist: Align to firmware handoff

Simon Glass sjg at chromium.org
Tue Jul 25 23:36:12 CEST 2023

In moving from v0.8 to v0.9 the Firmware Handoff specification made some
changes, including:

   - Use a packed format for headers to reduce space
   - Add an explicit alignment field in the header
   - Renumber all the tags and reduce their size to 24 bits
   - Drop use of the blob header to specify alignment, in favour of a
     'void' blob type

This series attempts to align to that specification, including updating
the API and tests. It is likely that refinements will be made as other
projects implement the spec too.

As before the code is dual-licensed, to permit use in projects with a
permissive license.

Simon Glass (14):
  bloblist: Update the tag numbering
  bloblist: Adjust API to align in powers of 2
  bloblist: Change the magic value
  bloblist: Set version to 1
  bloblist: Access record hdr_size and tag via a function
  bloblist: Drop the flags value
  bloblist: Drop the spare values
  bloblist: Change the checksum algorithm
  bloblist: Checksum the entire bloblist
  bloblist: Handle alignment with a void entry
  bloblist: Reduce blob-header size
  bloblist: Reduce bloblist header size
  bloblist: Add alignment to bloblist_new()
  bloblist: Update documentation and header comment

 arch/x86/lib/tables.c    |   3 +-
 common/bloblist.c        | 102 ++++++++++++++++++++-------------
 doc/develop/bloblist.rst |   4 +-
 include/bloblist.h       | 121 +++++++++++++++++++--------------------
 test/bloblist.c          |  53 +++++++++--------
 5 files changed, 152 insertions(+), 131 deletions(-)


More information about the U-Boot mailing list