firmware-utils: ptgen: add SiFive-related GUID types
[openwrt/openwrt.git] / tools / firmware-utils / patches / 001-add-sifiveu-guid-types.patch
diff --git a/tools/firmware-utils/patches/001-add-sifiveu-guid-types.patch b/tools/firmware-utils/patches/001-add-sifiveu-guid-types.patch
new file mode 100644 (file)
index 0000000..45900e9
--- /dev/null
@@ -0,0 +1,38 @@
+diff -ruN firmware-utils-2022-02-28-002cfaf0.old/src/ptgen.c firmware-utils-2022-02-28-002cfaf0/src/ptgen.c
+--- firmware-utils-2022-02-28-002cfaf0.old/src/ptgen.c 2022-04-23 19:02:07.307896842 +0200
++++ firmware-utils-2022-02-28-002cfaf0/src/ptgen.c     2022-04-22 18:48:54.477970950 +0200
+@@ -82,6 +82,14 @@
+       GUID_INIT( 0x0fc63daf, 0x8483, 0x4772, \
+                       0x8e, 0x79, 0x3d, 0x69, 0xd8, 0x47, 0x7d, 0xe4)
++#define GUID_PARTITION_SIFIVE_SPL \
++      GUID_INIT( 0x5b193300, 0xfc78, 0x40cd, \
++                      0x80, 0x02, 0xe8, 0x6c, 0x45, 0x58, 0x0b, 0x47)
++
++#define GUID_PARTITION_SIFIVE_UBOOT \
++      GUID_INIT( 0x2e54b353, 0x1271, 0x4842, \
++                      0x80, 0x6f, 0xe4, 0x36, 0xd6, 0xaf, 0x69, 0x85)
++
+ #define GPT_HEADER_SIZE         92
+ #define GPT_ENTRY_SIZE          128
+ #define GPT_ENTRY_MAX           128
+@@ -276,6 +284,19 @@
+                             (1ULL << 56);  /* success=1 */
+               return true;
+       }
++
++      if (!strcmp(type, "sifiveu_spl")) {
++              part->has_guid = true;
++              part->guid = GUID_PARTITION_SIFIVE_SPL;
++              return true;
++      }
++
++      if (!strcmp(type, "sifiveu_uboot")) {
++              part->has_guid = true;
++              part->guid = GUID_PARTITION_SIFIVE_UBOOT;
++              return true;
++      }
++
+       return false;
+ }