[Uboot-stm32] [PATCH 6/8] env: mmc: select GPT env partition by type guid
Patrice CHOTARD
patrice.chotard at foss.st.com
Tue Dec 6 09:11:36 CET 2022
On 11/10/22 11:49, Patrick Delaunay wrote:
> Since commit c0364ce1c695 ("doc/README.gpt: define partition type GUID for
> U-Boot environment"), a specific type GUID can be used to indicate
> the U-Boot environment partition on the device with GPT partition table.
>
> This patch uses this type GUID to found the env partition as fallback
> when the partition name property "u-boot,mmc-env-partition" is not present
> in config node or if the indicated partition name is not found.
>
> The mmc_offset_try_partition() function is reused, it selects the first
> partition with the correct type GUID when the parameter 'str' is NULL.
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay at foss.st.com>
> ---
>
> env/mmc.c | 19 ++++++++++++++++++-
> 1 file changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/env/mmc.c b/env/mmc.c
> index 1894b6483220..bd7d51e6b633 100644
> --- a/env/mmc.c
> +++ b/env/mmc.c
> @@ -74,8 +74,18 @@ static inline int mmc_offset_try_partition(const char *str, int copy, s64 *val)
> if (ret < 0)
> return ret;
>
> - if (!strncmp((const char *)info.name, str, sizeof(info.name)))
> + if (str && !strncmp((const char *)info.name, str, sizeof(info.name)))
> break;
> +#ifdef CONFIG_PARTITION_TYPE_GUID
> + if (!str) {
> + const efi_guid_t env_guid = PARTITION_U_BOOT_ENVIRONMENT;
> + efi_guid_t type_guid;
> +
> + uuid_str_to_bin(info.type_guid, type_guid.b, UUID_STR_FORMAT_GUID);
> + if (!memcmp(&env_guid, &type_guid, sizeof(efi_guid_t)))
> + break;
> + }
> +#endif
> }
>
> /* round up to info.blksz */
> @@ -112,6 +122,13 @@ static inline s64 mmc_offset(int copy)
> return val;
> }
>
> + /* try the GPT partition with "U-Boot ENV" TYPE GUID */
> + if (IS_ENABLED(CONFIG_PARTITION_TYPE_GUID)) {
> + err = mmc_offset_try_partition(NULL, copy, &val);
> + if (!err)
> + return val;
> + }
> +
> defvalue = ENV_MMC_OFFSET;
> propname = dt_prop.offset;
>
Reviewed-by: Patrice Chotard <patrice.chotard at foss.st.com>
Thanks
Patrice
More information about the U-Boot
mailing list