[PATCH v3 17/24] fwu_arm_psa: Add ESRT support

Abdellatif El Khlifi abdellatif.elkhlifi at arm.com
Fri Jul 25 17:56:14 CEST 2025


Hi Michal,

> 
> 
> On 7/21/25 13:18, abdellatif.elkhlifi at arm.com wrote:
> > From: Abdellatif El Khlifi <abdellatif.elkhlifi at arm.com>
> > 
> > Read ESRT data from Secure world in GetImageInfo()
> > 
> > Use FWU_READ_STREAM ABI to read ESRT data from Secure world.
> > 
> > Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi at arm.com>
> > Cc: Sughosh Ganu <sughosh.ganu at linaro.org>
> > Cc: Tom Rini <trini at konsulko.com>
> > Cc: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> > Cc: Simon Glass <sjg at chromium.org>
> > Cc: Michal Simek <michal.simek at amd.com>
> > Cc: Marek Vasut <marek.vasut+renesas at mailbox.org>
> > Cc: Casey Connolly <casey.connolly at linaro.org>
> > 
> > ---
> > 
> > Changelog of changes:
> > ===========================
> > 
> > v2:
> > 
> > * As suggested by Michal: Add /** for marking kernel-doc format
> > 
> > v1:
> > 
> > * Read ESRT data from Secure world in GetImageInfo()
> > 
> >   include/fwu_arm_psa.h         |  13 ++++
> >   lib/fwu_updates/fwu_arm_psa.c | 116 +++++++++++++++++++++++++++++++---
> >   2 files changed, 119 insertions(+), 10 deletions(-)
> > 
> > diff --git a/include/fwu_arm_psa.h b/include/fwu_arm_psa.h
> > index 6400cf44d1b..38fb9bde165 100644
> > --- a/include/fwu_arm_psa.h
> > +++ b/include/fwu_arm_psa.h
> > @@ -16,6 +16,9 @@
> >   #define DEFAULT_HW_INSTANCE		(1)
> > +/* The minimum supported ESRT version */
> > +#define EFI_SYSTEM_RESOURCE_TABLE_FIRMWARE_RESOURCE_VERSION		(1)
> > +
> >   /* Default values of the ESRT fields which are not supported at this stage */
> >   #define PACKAGE_VERSION_NOT_SUP		(0xffffffff)
> >   #define LAST_ATTEMPT_NOT_SUP		(0)
> > @@ -355,6 +358,16 @@ struct __packed fwu_image_directory {
> >   	struct fwu_image_info_entry entries[FWU_DIRECTORY_IMAGE_ENTRIES_COUNT];
> >   };
> > +/**
> > + * struct fwu_esrt_data_wrapper - Wrapper for the ESRT data
> > + * @data: The ESRT data read from secure world
> > + * @entries: The ESRT entries
> > + */
> > +struct __packed fwu_esrt_data_wrapper {
> > +	struct efi_system_resource_table  data;
> 
> double space
> 
> > +	struct efi_system_resource_entry entries[CONFIG_FWU_NUM_IMAGES_PER_BANK];
> > +};
> > +
> >   /**
> >    * fwu_agent_init() - Setup the FWU agent
> >    *
> > diff --git a/lib/fwu_updates/fwu_arm_psa.c b/lib/fwu_updates/fwu_arm_psa.c
> > index 40746eee6ce..7297e724569 100644
> > --- a/lib/fwu_updates/fwu_arm_psa.c
> > +++ b/lib/fwu_updates/fwu_arm_psa.c
> > @@ -27,6 +27,7 @@ static u8 g_fwu_version_minor;
> >   static bool g_fwu_initialized;
> >   struct fwu_image_directory g_fwu_cached_directory;
> >   efi_guid_t g_update_guid[CONFIG_FWU_NUM_IMAGES_PER_BANK];
> > +struct fwu_esrt_data_wrapper g_esrt_data;
> >   /* Error mapping declarations */
> > @@ -898,6 +899,100 @@ close_handle:
> >   	return ret;
> >   }
> > +/**
> > + * fwu_esrt_sanity_check() - Verify ESRT data
> > + *
> > + * Make sure the ESRT data matches the directory data.
> > + *
> > + * Return:
> > + *
> > + * 0 on success
> > + */
> 
> Please run
> ./scripts/kernel-doc -man -v 1>/dev/null lib/fwu_updates/fwu_arm_psa.c
> 
> and fix issues created by new added code.
> 
> And obviously here you are returning more then just 0.

Thanks for the review. All comments have been addressed in patchset v4.

Cheers
Abdellatif


More information about the U-Boot mailing list