[PATCH 00/18] FWU: Migrate FWU metadata to version 2

Sughosh Ganu sughosh.ganu at linaro.org
Mon Jan 22 12:54:21 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].

The patches have been tested on STM32MP1 DK2 board and the Synquacer
board from Socionext. This covers testing both the GPT and the MTD
partitioned storage devices for the metadata access.

[1] - https://developer.arm.com/documentation/den0118/latest/
[2] - https://review.trustedfirmware.org/q/topic:%22topics/fwu_metadata_v2_migration%22

Sughosh Ganu (18):
  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 some API's for metadata version 2 access
  lib: fwu: Make changes to support version 2 of FWU metadata
  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
  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                          |  43 +++-
 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                            |  94 ++++++-
 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                    | 308 ++++++++++++++++++-----
 lib/fwu_updates/fwu_mtd.c                |  76 ++++--
 test/dm/fwu_mdata.c                      |  56 +++--
 test/dm/fwu_mdata_disk_image.h           | 124 ++++-----
 tools/mkfwumdata.c                       |  43 +++-
 20 files changed, 705 insertions(+), 302 deletions(-)

-- 
2.34.1




More information about the U-Boot mailing list