[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