[PATCH v3 00/20] FWU: Add support for FWU metadata version 2

kojima.masahisa at socionext.com kojima.masahisa at socionext.com
Mon Mar 25 09:35:08 CET 2024


Hi Sughosh,

> -----Original Message-----
> From: Sughosh Ganu <sughosh.ganu at linaro.org>
> Sent: Friday, March 22, 2024 7:57 PM
> To: u-boot at lists.denx.de
> Cc: Heinrich Schuchardt <xypron.glpk at gmx.de>; Ilias Apalodimas
> <ilias.apalodimas at linaro.org>; Yann GAUTIER <yann.gautier at st.com>;
> Etienne Carriere <etienne.carriere at foss.st.com>; Patrick DELAUNAY - foss
> <patrick.delaunay at foss.st.com>; Michal Simek <michal.simek at amd.com>;
> Kojima, Masahisa/小島 雅久 <kojima.masahisa at socionext.com>; Michal
> Simek <monstr at monstr.eu>
> Subject: [PATCH v3 00/20] FWU: Add support for FWU metadata version 2
> 
> 
> 
> The following patch series adds support for version 2 of the FWU
> metadata. The version 2 metadata structure is defined in the latest
> revision of the FWU specification [1].
> 
> The earlier versions of these patches were migrating to a version 2
> only support in U-Boot, similar to TF-A. However, based on feedback
> from ST [2], this series has been updated to support both versions. A
> platform would still be needed to enable one of the two versions of
> metadata through a config symbol.
> 
> TF-A has code which reads the FWU metadata and boots the platform from
> the active partition. TF-A has decided to migrate the FWU code to a
> version 2 only support. These changes have been merged in upstream
> TF-A.
> 
> These changes have been tested on the ST DK2 board, which uses the GPT
> based partitioning scheme. Both V1 and V2 metadata versions have been
> tested on the DK2 board.
> 
> These changes need to be tested on platforms with MTD partitioned
> storage devices.
> 
> @Michal and @Kojima-san, please help in this testing.

I have tested this series on the Developerbox that implements the
MTD-based metadata access, multi bank update works fine.

Thanks,
Masahisa Kojima

> 
> Note: The CI is breaking on some sandbox py tests, but the errors look
> unrelated. I will look into those issues, but the code review can
> proceed.
> 
> [1] - https://developer.arm.com/documentation/den0118/latest/
> [2] - https://lists.denx.de/pipermail/u-boot/2024-February/546277.html
> 
> Changes since V2:
> * New patch which retains support for V1 of metadata
> * Earlier patch was catering to v2 only support. These changes support
>   both versions of metadata.
> * Earlier patch was migrating to v2 only support. These changes
>   support both versions.
> * Support both metadata versions instead of only v2.
> * Added documentation changes.
> * Make changes to have the test work with v1 metadata.
> * Make changes to have the test work with updated logic in fwu code.
> * Changes to indicate support for both v1 and v2 instead of only v2.
> * Add config symbol for selecting either of the two metadata versions.
> 
> 
> Sughosh Ganu (20):
>   configs: fwu: remove FWU configs for metadata V2 support
>   tools: mkfwumdata: fix the size parameter to the fwrite call
>   drivers: fwu: add the size parameter to the metadata access API's
>   drivers: fwu: mtd: allocate buffer for image info dynamically
>   fwu: metadata: add support for version 2 of the structure
>   fwu: metadata: add a version agnostic structure
>   fwu: metadata: add functions for handling version specific metadata
>     fields
>   fwu: make changes to access version agnostic structure fields
>   capsule: fwu: transition the platform state on a successful update
>   fwu: add config symbols for enabling FWU metadata versions
>   fwu: mtd: remove unused argument from function call
>   fwu: mtd: get MTD partition specific info from driver
>   fwu: mtd: obtain image information from version agnostic structure
>   cmd: fwu: make changes for supporting FWU metadata version 2
>   tools: mkfwumdata: add support for metadata version 2
>   tools: mkfwumdata: add logic to append vendor data to the FWU metadata
>   test: fwu: make changes to the FWU metadata access test
>   doc: fwu: make changes to reflect support for FWU metadata v2
>   MAINTAINERS: add entry for FWU multi bank update feature
>   configs: fwu: re-enable FWU configs
> 
>  MAINTAINERS                              |   8 +
>  cmd/fwu_mdata.c                          |  39 ++--
>  configs/corstone1000_defconfig           |   1 +
>  configs/sandbox64_defconfig              |   1 +
>  configs/synquacer_developerbox_defconfig |   2 +-
>  doc/board/socionext/developerbox.rst     |   7 +-
>  doc/develop/uefi/fwu_updates.rst         |  20 +-
>  doc/mkfwumdata.1                         |  16 +-
>  drivers/fwu-mdata/fwu-mdata-uclass.c     |  10 +-
>  drivers/fwu-mdata/gpt_blk.c              |  23 +-
>  drivers/fwu-mdata/raw_mtd.c              |  78 ++++---
>  include/fwu.h                            | 147 ++++++++++++-
>  include/fwu_mdata.h                      |  71 ++++++-
>  lib/efi_loader/efi_capsule.c             |  14 +-
>  lib/fwu_updates/Kconfig                  |  14 ++
>  lib/fwu_updates/Makefile                 |   2 +
>  lib/fwu_updates/fwu.c                    | 204 ++++++++++++------
>  lib/fwu_updates/fwu_mtd.c                |  34 +--
>  lib/fwu_updates/fwu_v1.c                 | 167 +++++++++++++++
>  lib/fwu_updates/fwu_v2.c                 | 260
> +++++++++++++++++++++++
>  test/dm/fwu_mdata.c                      |  16 +-
>  tools/mkfwumdata.c                       | 235
> ++++++++++++++++----
>  22 files changed, 1153 insertions(+), 216 deletions(-)
>  create mode 100644 lib/fwu_updates/fwu_v1.c
>  create mode 100644 lib/fwu_updates/fwu_v2.c
> 
> --
> 2.34.1
> 






More information about the U-Boot mailing list