[PATCH 2/2] disk: expose partition type flags
Ilias Apalodimas
ilias.apalodimas at linaro.org
Wed Apr 10 12:34:59 CEST 2024
On Tue, 9 Apr 2024 at 15:55, Caleb Connolly <caleb.connolly at linaro.org> wrote:
>
> GPT partition tables include two bytes worth of vendor defined
> attributes, per partition. ChromeOS and Qualcomm both use these (with
> different encoding!) to handle A/B slot switching with a retry counter.
>
> Expose these via the disk_partition struct so that they can be parsed by
> the relevant board code.
>
> This will be used on Qualcomm boards to determine which slot we're
> booting on so that we can flash capsule updates to the correct one.
>
> Signed-off-by: Caleb Connolly <caleb.connolly at linaro.org>
> ---
> disk/part_efi.c | 1 +
> include/part.h | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/disk/part_efi.c b/disk/part_efi.c
> index 4ce9243ef25c..d3ce4dd01dcd 100644
> --- a/disk/part_efi.c
> +++ b/disk/part_efi.c
> @@ -292,8 +292,9 @@ int part_get_info_efi(struct blk_desc *desc, int part,
> snprintf((char *)info->name, sizeof(info->name), "%s",
> print_efiname(&gpt_pte[part - 1]));
> strcpy((char *)info->type, "U-Boot");
> info->bootable = get_bootable(&gpt_pte[part - 1]);
> + info->type_flags = gpt_pte[part - 1].attributes.fields.type_guid_specific;
> if (CONFIG_IS_ENABLED(PARTITION_UUIDS)) {
> uuid_bin_to_str(gpt_pte[part - 1].unique_partition_guid.b,
> (char *)disk_partition_uuid(info),
> UUID_STR_FORMAT_GUID);
> diff --git a/include/part.h b/include/part.h
> index 32ee40488563..afae51f1b933 100644
> --- a/include/part.h
> +++ b/include/part.h
> @@ -68,8 +68,9 @@ struct disk_partition {
> * PART_BOOTABLE the MBR bootable flag is set
> * PART_EFI_SYSTEM_PARTITION the partition is an EFI system partition
> */
> int bootable;
> + u16 type_flags; /* top 16 bits of GPT partition attributes */
> #if CONFIG_IS_ENABLED(PARTITION_UUIDS)
> char uuid[UUID_STR_LEN + 1]; /* filesystem UUID as string, if exists */
> #endif
> #ifdef CONFIG_PARTITION_TYPE_GUID
>
> --
> 2.44.0
>
I think this would make more sense to be sent along with the capsule
update patches
In any case
Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
More information about the U-Boot
mailing list