
On 6/8/23 17:09, Patrick Delaunay wrote:
Add support of "FWU_MDATA" partition type in flashlayout to select the TF-A firmware update metadata partition type guid, associated to U-Boot "system" partition type guid, FWU_MDATA_GUID introduced by commit 2eaedc95164f ("FWU: Add FWU metadata structure and driver for accessing metadata") and used in gpt_get_mdata_partitions() for commit 554b38f7a532 ("FWU: Add FWU metadata access driver for GPT partitioned block devices")
See also recommendation in FWU-PSA-A_DEN0118_1.0ALP3.pdf 4.1.2 Metadata integration with GPT When embedded in a GPT, each metadata replica occupies a single partition with PartitionTypeGUID = metadata_uuid. UUID = 8a7a84a0-8387-40f6-ab41-a8b9a5a60d23
Signed-off-by: Patrick Delaunay patrick.delaunay@foss.st.com
arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c | 11 +++++++++++ arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h | 1 + 2 files changed, 12 insertions(+)
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c index 07369919620e..a2ff5558a519 100644 --- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c +++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c @@ -63,6 +63,12 @@ static const efi_guid_t uuid_mmc[3] = { ROOTFS_MMC2_UUID };
+/*
- GUID value defined in the FWU specification for identification
- of the FWU metadata partition.
- */
+#define FWU_MDATA_UUID "8a7a84a0-8387-40f6-ab41-a8b9a5a60d23"
/* FIP type partition UUID used by TF-A*/ #define FIP_TYPE_UUID "19D5DF83-11B0-457B-BE2C-7559C13142A5"
@@ -430,6 +436,8 @@ static int parse_type(struct stm32prog_data *data, } } else if (!strcmp(p, "FIP")) { part->part_type = PART_FIP;
- } else if (!strcmp(p, "FWU_MDATA")) {
} else if (!strcmp(p, "ENV")) { part->part_type = PART_ENV; } else if (!strcmp(p, "System")) {part->part_type = PART_FWU_MDATA;
@@ -1140,6 +1148,9 @@ static int create_gpt_partitions(struct stm32prog_data *data) case PART_FIP: type_str = FIP_TYPE_UUID; break;
case PART_FWU_MDATA:
type_str = FWU_MDATA_UUID;
break; case PART_ESP: /* EFI System Partition */ type_str = "system";
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h index a6fb9d5e9cc5..02b286be8182 100644 --- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h +++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h @@ -105,6 +105,7 @@ struct stm32_header_v2 { enum stm32prog_part_type { PART_BINARY, PART_FIP,
- PART_FWU_MDATA, PART_ENV, PART_SYSTEM, PART_FILESYSTEM,
Applied to u-boot-stm/next
Thanks
Patrice