[PATCH v2 2/2] board: xilinx: update guid based on metadata

Padmarao Begari padmarao.begari at amd.com
Mon Jul 7 12:39:18 CEST 2025


The generated GUID applies to all Xilinx platforms but is not
specific to any individual board. For FWU multi bank update,
use the image UUID (GUID) from the FWU metadata structure
rather than embedding a generated GUID into the U-Boot build.

Note: The FWU metadata is an unsecure piece of data, as
highlighted by the spec, and there is no way to ascertain
that it has not been tampered with in a malicious manner.
U-Boot OTOH can be part of a trusted boot chain, where the
U-Boot image has been verified before being booted. So,
although this does remove issues that might crop up with
manual mismatches, still need to consider the fact that
the FWU mdata is not a secure piece of data.

And this is a not real problem with Xilinx platforms because
actually it is only providing reference stack.

Signed-off-by: Padmarao Begari <padmarao.begari at amd.com>
---
 board/xilinx/common/board.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c
index 8ffe7429901..3d22149d429 100644
--- a/board/xilinx/common/board.c
+++ b/board/xilinx/common/board.c
@@ -712,3 +712,16 @@ phys_addr_t board_get_usable_ram_top(phys_size_t total_size)
 }
 
 #endif
+
+#if defined(CONFIG_FWU_MULTI_BANK_UPDATE)
+int fwu_mtd_platform_hook(struct udevice *dev, struct fwu_data *data)
+{
+	struct fwu_image_entry *img_entry = &data->fwu_images[0];
+
+	/* Copy image type GUID */
+	memcpy(&fw_images[0].image_type_id, &img_entry->image_type_guid, 16);
+
+	return 0;
+}
+
+#endif
-- 
2.25.1



More information about the U-Boot mailing list