Improve detection of BPDT partition tables in raw areas, update the list of known BPDT entry types

This commit is contained in:
Nikolaj Schlej 2022-10-09 07:18:28 +02:00
parent acc913769b
commit 7e5e02b4b4
3 changed files with 112 additions and 72 deletions

View file

@ -274,36 +274,52 @@ UString sectionTypeToUString(const UINT8 type)
UString bpdtEntryTypeToUString(const UINT16 type)
{
switch (type) {
case BPDT_ENTRY_TYPE_OEM_SMIP: return UString("OEM SMIP");
case BPDT_ENTRY_TYPE_OEM_RBE: return UString("CSE RBE");
case BPDT_ENTRY_TYPE_CSE_BUP: return UString("CSE BUP");
case BPDT_ENTRY_TYPE_UCODE: return UString("uCode");
case BPDT_ENTRY_TYPE_IBB: return UString("IBB");
case BPDT_ENTRY_TYPE_SBPDT: return UString("S-BPDT");
case BPDT_ENTRY_TYPE_OBB: return UString("OBB");
case BPDT_ENTRY_TYPE_CSE_MAIN: return UString("CSE Main");
case BPDT_ENTRY_TYPE_ISH: return UString("ISH");
case BPDT_ENTRY_TYPE_CSE_IDLM: return UString("CSE IDLM");
case BPDT_ENTRY_TYPE_IFP_OVERRIDE: return UString("IFP Override");
case BPDT_ENTRY_TYPE_DEBUG_TOKENS: return UString("Debug Tokens");
case BPDT_ENTRY_TYPE_USF_PHY_CONFIG: return UString("USF Phy Config");
case BPDT_ENTRY_TYPE_USF_GPP_LUN_ID: return UString("USF GPP LUN ID");
case BPDT_ENTRY_TYPE_PMC: return UString("PMC");
case BPDT_ENTRY_TYPE_IUNIT: return UString("iUnit");
case BPDT_ENTRY_TYPE_NVM_CONFIG: return UString("NVM Config");
case BPDT_ENTRY_TYPE_UEP: return UString("UEP");
case BPDT_ENTRY_TYPE_WLAN_UCODE: return UString("WLAN uCode");
case BPDT_ENTRY_TYPE_LOCL_SPRITES: return UString("LOCL Sprites");
case BPDT_ENTRY_TYPE_OEM_KEY_MANIFEST: return UString("OEM Key Manifest");
case BPDT_ENTRY_TYPE_DEFAULTS: return UString("Defaults");
case BPDT_ENTRY_TYPE_PAVP: return UString("PAVP");
case BPDT_ENTRY_TYPE_TCSS_FW_IOM: return UString("TCSS FW IOM");
case BPDT_ENTRY_TYPE_TCSS_FW_PHY: return UString("TCSS FW PHY");
case BPDT_ENTRY_TYPE_TBT: return UString("TCSS TBT");
case BPDT_ENTRY_TYPE_USB_PHY: return UString("USB PHY");
case BPDT_ENTRY_TYPE_PCHC: return UString("PCHC");
case BPDT_ENTRY_TYPE_SAMF: return UString("SAMF");
case BPDT_ENTRY_TYPE_PPHY: return UString("PPHY");
case BPDT_ENTRY_TYPE_SMIP: return UString("OEM SMIP");
case BPDT_ENTRY_TYPE_RBEP: return UString("ROM Boot Extensions");
case BPDT_ENTRY_TYPE_FTPR: return UString("Bring Up");
case BPDT_ENTRY_TYPE_UCOD: return UString("Microcode");
case BPDT_ENTRY_TYPE_IBBP: return UString("IBB");
case BPDT_ENTRY_TYPE_S_BPDT: return UString("Secondary BPDT");
case BPDT_ENTRY_TYPE_OBBP: return UString("OBB");
case BPDT_ENTRY_TYPE_NFTP: return UString("Main");
case BPDT_ENTRY_TYPE_ISHC: return UString("ISH");
case BPDT_ENTRY_TYPE_DLMP: return UString("Debug Launch Module");
case BPDT_ENTRY_TYPE_UEBP: return UString("IFP Bypass");
case BPDT_ENTRY_TYPE_UTOK: return UString("Debug Tokens");
case BPDT_ENTRY_TYPE_UFS_PHY: return UString("UFS PHY Config");
case BPDT_ENTRY_TYPE_UFS_GPP_LUN: return UString("UFS GPP LUN");
case BPDT_ENTRY_TYPE_PMCP: return UString("PMC");
case BPDT_ENTRY_TYPE_IUNP: return UString("iUnit");
case BPDT_ENTRY_TYPE_NVMC: return UString("NVM Config");
case BPDT_ENTRY_TYPE_UEP: return UString("Unified Emulation");
case BPDT_ENTRY_TYPE_WCOD: return UString("WLAN Microcode");
case BPDT_ENTRY_TYPE_LOCL: return UString("LOCL Sprites");
case BPDT_ENTRY_TYPE_OEMP: return UString("OEM Key Manifest");
case BPDT_ENTRY_TYPE_FITC: return UString("fitc.cfg");
case BPDT_ENTRY_TYPE_PAVP: return UString("PAVP");
case BPDT_ENTRY_TYPE_IOMP: return UString("TCSS FW IOM");
case BPDT_ENTRY_TYPE_XPHY: return UString("TCSS FW PHY");
case BPDT_ENTRY_TYPE_TBTP: return UString("TCSS TBT");
case BPDT_ENTRY_TYPE_PLTS: return UString("Platform Settings");
case BPDT_ENTRY_TYPE_RES27: return UString("Reserved 27");
case BPDT_ENTRY_TYPE_RES28: return UString("Reserved 28");
case BPDT_ENTRY_TYPE_RES29: return UString("Reserved 29");
case BPDT_ENTRY_TYPE_RES30: return UString("Reserved 30");
case BPDT_ENTRY_TYPE_DPHY: return UString("Dekel PHY");
case BPDT_ENTRY_TYPE_PCHC: return UString("PCH Config");
case BPDT_ENTRY_TYPE_ISIF: return UString("ISI FW");
case BPDT_ENTRY_TYPE_ISIC: return UString("ISI Config");
case BPDT_ENTRY_TYPE_HBMI: return UString("HBM IO");
case BPDT_ENTRY_TYPE_OMSM: return UString("OOB MSM");
case BPDT_ENTRY_TYPE_GTGP: return UString("GT-GPU");
case BPDT_ENTRY_TYPE_MDFI: return UString("MDF IO");
case BPDT_ENTRY_TYPE_PUNP: return UString("PUnit");
case BPDT_ENTRY_TYPE_PHYP: return UString("GSC PHY");
case BPDT_ENTRY_TYPE_SAMF: return UString("SAM FW");
case BPDT_ENTRY_TYPE_PPHY: return UString("PPHY");
case BPDT_ENTRY_TYPE_GBST: return UString("GBST");
case BPDT_ENTRY_TYPE_TCCP: return UString("TCC");
case BPDT_ENTRY_TYPE_PSEP: return UString("PSE");
}
return usprintf("Unknown %04Xh", type);
}