From fa7360d9c247ef5f07c26acfd7c3a4db21503148 Mon Sep 17 00:00:00 2001
From: Nikolaj Schlej <schlej@live.de>
Date: Wed, 7 May 2025 08:36:51 +0700
Subject: [PATCH] Add ADSP to the list of known BPDT partitions

---
 common/ffs.cpp       | 1 +
 common/ffs.h         | 1 +
 common/ffsparser.cpp | 2 +-
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/common/ffs.cpp b/common/ffs.cpp
index c9b7ac2..8ca4365 100644
--- a/common/ffs.cpp
+++ b/common/ffs.cpp
@@ -372,6 +372,7 @@ UString bpdtEntryTypeToUString(const UINT16 type)
         case BPDT_ENTRY_TYPE_GBST:        return UString("GBST");
         case BPDT_ENTRY_TYPE_TCCP:        return UString("TCC");
         case BPDT_ENTRY_TYPE_PSEP:        return UString("PSE");
+        case BPDT_ENTRY_TYPE_ADSP:        return UString("ADSP");
     }
     return usprintf("Unknown %04Xh", type);
 }
diff --git a/common/ffs.h b/common/ffs.h
index e515421..d1d1485 100644
--- a/common/ffs.h
+++ b/common/ffs.h
@@ -638,6 +638,7 @@ typedef struct BPDT_ENTRY_ {
 #define BPDT_ENTRY_TYPE_GBST        43
 #define BPDT_ENTRY_TYPE_TCCP        44
 #define BPDT_ENTRY_TYPE_PSEP        45
+#define BPDT_ENTRY_TYPE_ADSP        50
 
 // CPD
 #define CPD_SIGNATURE 0x44504324 //$CPD
diff --git a/common/ffsparser.cpp b/common/ffsparser.cpp
index 4f53197..71a915e 100644
--- a/common/ffsparser.cpp
+++ b/common/ffsparser.cpp
@@ -4840,7 +4840,7 @@ make_partition_table_consistent:
             }
             
             // Check for entry type to be known
-            if (partitions[i].ptEntry.Type > BPDT_ENTRY_TYPE_PSEP) {
+            if (partitions[i].ptEntry.Type > BPDT_ENTRY_TYPE_PSEP && partitions[i].ptEntry.Type != BPDT_ENTRY_TYPE_ADSP) {
                 msg(usprintf("%s: BPDT entry of unknown type found", __FUNCTION__), partitionIndex);
             }
         }