aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot/uboot-mediatek/patches/101-27-tools-mtk_image-use-uint32_t-for-ghf-header-magic-an.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/boot/uboot-mediatek/patches/101-27-tools-mtk_image-use-uint32_t-for-ghf-header-magic-an.patch')
-rw-r--r--package/boot/uboot-mediatek/patches/101-27-tools-mtk_image-use-uint32_t-for-ghf-header-magic-an.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/package/boot/uboot-mediatek/patches/101-27-tools-mtk_image-use-uint32_t-for-ghf-header-magic-an.patch b/package/boot/uboot-mediatek/patches/101-27-tools-mtk_image-use-uint32_t-for-ghf-header-magic-an.patch
new file mode 100644
index 0000000000..07620f77b3
--- /dev/null
+++ b/package/boot/uboot-mediatek/patches/101-27-tools-mtk_image-use-uint32_t-for-ghf-header-magic-an.patch
@@ -0,0 +1,55 @@
+From 757b997f1f5a958e6fec3d5aee1ff5cdf5766711 Mon Sep 17 00:00:00 2001
+From: Weijie Gao <weijie.gao@mediatek.com>
+Date: Wed, 19 Jul 2023 17:17:45 +0800
+Subject: [PATCH 27/29] tools: mtk_image: use uint32_t for ghf header magic and
+ version
+
+This patch converts magic and version fields of ghf common header
+to one field with the type of uint32_t to make this header flexible
+for futher updates.
+
+Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
+---
+ tools/mtk_image.c | 10 ++++++----
+ tools/mtk_image.h | 6 +++---
+ 2 files changed, 9 insertions(+), 7 deletions(-)
+
+--- a/tools/mtk_image.c
++++ b/tools/mtk_image.c
+@@ -542,11 +542,13 @@ static void put_brom_layout_header(struc
+ hdr->type = cpu_to_le32(type);
+ }
+
+-static void put_ghf_common_header(struct gfh_common_header *gfh, int size,
+- int type, int ver)
++static void put_ghf_common_header(struct gfh_common_header *gfh, uint16_t size,
++ uint16_t type, uint8_t ver)
+ {
+- memcpy(gfh->magic, GFH_HEADER_MAGIC, sizeof(gfh->magic));
+- gfh->version = ver;
++ uint32_t magic_version = GFH_HEADER_MAGIC |
++ (uint32_t)ver << GFH_HEADER_VERSION_SHIFT;
++
++ gfh->magic_version = cpu_to_le32(magic_version);
+ gfh->size = cpu_to_le16(size);
+ gfh->type = cpu_to_le16(type);
+ }
+--- a/tools/mtk_image.h
++++ b/tools/mtk_image.h
+@@ -63,13 +63,13 @@ struct gen_device_header {
+
+ /* BootROM header definitions */
+ struct gfh_common_header {
+- uint8_t magic[3];
+- uint8_t version;
++ uint32_t magic_version;
+ uint16_t size;
+ uint16_t type;
+ };
+
+-#define GFH_HEADER_MAGIC "MMM"
++#define GFH_HEADER_MAGIC 0x4D4D4D
++#define GFH_HEADER_VERSION_SHIFT 24
+
+ #define GFH_TYPE_FILE_INFO 0
+ #define GFH_TYPE_BL_INFO 1