
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(-)