[PATCH v2 00/21] FWU: Migrate FWU metadata to version 2
Sughosh Ganu
sughosh.ganu at linaro.org
Mon Feb 12 08:46:51 CET 2024
The following patches migrate the FWU metadata access code to version
2 of the structure. This is based on the structure definition as
defined in the latest rev of the FWU Multi Bank Update specification
[1].
Since the version 1 of the structure has currently been adopted on a
couple of platforms, it was decided to have a clean migration of the
metadata to version 2 only, instead of supporting both the versions of
the structure. Also, based on consultations with the main author of
the specification, it is expected that any further changes in the
structure would be minor tweaks, and not be significant. Hence a
migration to version 2.
Similar migration is also being done in TF-A, including migrating the
ST platform port to support version 2 of the metadata structure [2].
@Michal, I tested the metadata for the two image per bank case, and it
works fine on the ST board. Kindly test this on your board as well.
@Kojima-san, Please help in testing the version 2 on your
board. Thanks.
[1] - https://developer.arm.com/documentation/den0118/latest/
[2] - https://review.trustedfirmware.org/q/topic:%22topics/fwu_metadata_v2_migration%22
Changes since V1:
* Do not define flexible array members inside the structures.
* Access the image information related fields in the metadata using
the helper functions defined in an earlier patch.
* Access fwu_fw_store_desc structure using pointer arithmetic.
Sughosh Ganu (21):
configs: fwu: remove FWU configs for metadata V2 migration
fwu: metadata: migrate to version 2 of the structure
drivers: fwu: add the size parameter to the metadata access API's
fwu: add helper functions for getting image description offsets
fwu: make changes to support version 2 of FWU metadata
fwu: add some API's for metadata version 2 access
drivers: fwu: mtd: allocate buffer for image info dynamically
drivers: fwu: allocate memory for metadata copies
fwu: add a function to put a bank in Trial State
capsule: accept a bank on a successful update
fwu: mtd: modify the DFU API's to align with metadata version 2
efi_firmware: fwu: do not read FWU metadata on sandbox
efi_firmware: fwu: get the number of FWU banks at runtime
cmd: fwu: align the command with metadata version 2
test: fwu: align the FWU metadata access test with version 2
fwu: remove the config symbols for number of banks and images
tools: mkfwumdata: migrate to metadata version 2
tools: mkfwumdata: add logic to append vendor data to the FWU metadata
tools: mkfwumdata: fix the size parameter to the fwrite call
configs: fwu: re-enable FWU configs
doc: fwu: make changes for supporting FWU Metadata version 2
arch/sandbox/Kconfig | 6 -
board/armltd/corstone1000/corstone1000.c | 2 +-
cmd/fwu_mdata.c | 45 ++-
configs/synquacer_developerbox_defconfig | 1 -
doc/board/socionext/developerbox.rst | 9 +-
doc/develop/uefi/fwu_updates.rst | 12 +-
doc/usage/cmd/fwu_mdata.rst | 12 +-
drivers/fwu-mdata/fwu-mdata-uclass.c | 10 +-
drivers/fwu-mdata/gpt_blk.c | 27 +-
drivers/fwu-mdata/raw_mtd.c | 85 +++--
include/fwu.h | 139 +++++++-
include/fwu_mdata.h | 56 +++-
lib/efi_loader/efi_capsule.c | 12 +-
lib/efi_loader/efi_firmware.c | 20 +-
lib/fwu_updates/Kconfig | 11 -
lib/fwu_updates/fwu.c | 401 +++++++++++++++++++----
lib/fwu_updates/fwu_mtd.c | 81 +++--
test/dm/fwu_mdata.c | 56 ++--
test/dm/fwu_mdata_disk_image.h | 124 +++----
tools/mkfwumdata.c | 132 ++++++--
20 files changed, 924 insertions(+), 317 deletions(-)
--
2.34.1
More information about the U-Boot
mailing list