sm8350-common: gpt-utils: Update PTN_SWAP_LIST and handle multiimg(oem/qti),

* Update PTN_SWAP_LIST to reflect partition entry changes
   to BOOT LUN and handle "multiimgoem", "multiimgqti"
   partitions, similar to other BOOT LUN partitions.

Change-Id: I3fb2934c44f3c2555ef36437ae97c9a47bb874ed
This commit is contained in:
Siddeswar Aluganti 2021-04-14 12:04:04 -07:00 committed by Arian
parent fa34ced5a5
commit 8e17df623a
2 changed files with 10 additions and 8 deletions

View File

@ -239,11 +239,11 @@ static int gpt_boot_chain_swap(const uint8_t *pentries_start,
uint8_t *ptn_entry;
uint8_t *ptn_bak_entry;
uint8_t ptn_swap[PTN_ENTRY_SIZE];
//Skip the xbl partition on UFS devices. That is handled
//Skip the xbl, multiimgoem, multiimgqti partitions on UFS devices. That is handled
//seperately.
if (gpt_utils_is_ufs_device() && !strncmp(ptn_swap_list[i],
PTN_XBL,
strlen(PTN_XBL)))
if ((gpt_utils_is_ufs_device() && !strncmp(ptn_swap_list[i],PTN_XBL,strlen(PTN_XBL)))
|| !strncmp(ptn_swap_list[i],PTN_MULTIIMGOEM,strlen(PTN_MULTIIMGOEM))
|| !strncmp(ptn_swap_list[i],PTN_MULTIIMGQTI,strlen(PTN_MULTIIMGQTI)))
continue;
ptn_entry = gpt_pentry_seek(ptn_swap_list[i], pentries_start,
@ -970,9 +970,9 @@ int prepare_boot_update(enum boot_update_stage stage)
//of being loaded based on well known GUID'S.
//We take care of switching the UFS boot LUN
//explicitly later on.
if (!strncmp(ptn_swap_list[i],
PTN_XBL,
strlen(PTN_XBL)))
if (!strncmp(ptn_swap_list[i],PTN_XBL,strlen(PTN_XBL))
|| !strncmp(ptn_swap_list[i],PTN_MULTIIMGOEM,strlen(PTN_MULTIIMGOEM))
|| !strncmp(ptn_swap_list[i],PTN_MULTIIMGQTI,strlen(PTN_MULTIIMGQTI)))
continue;
snprintf(buf, sizeof(buf),
"%s/%sbak",

View File

@ -80,7 +80,9 @@ extern "C" {
#define AB_SLOT_B_SUFFIX "_b"
#define PTN_XBL "xbl"
#define PTN_XBL_CFG "xbl_config"
#define PTN_SWAP_LIST PTN_XBL, PTN_XBL_CFG, "sbl1", "rpm", "tz", "aboot", "abl", "hyp", "lksecapp", "keymaster", "cmnlib", "cmnlib32", "cmnlib64", "pmic", "apdp", "devcfg", "hosd", "keystore", "msadp", "mdtp", "mdtpsecapp", "dsp", "aop", "qupfw", "vbmeta", "dtbo", "imagefv", "ImageFv", "multiimgoem", "multiimgqti", "uefisecapp", "vm-bootsys", "shrm", "cpucp", "featenabler", "vbmeta_system"
#define PTN_MULTIIMGOEM "multiimgoem"
#define PTN_MULTIIMGQTI "multiimgqti"
#define PTN_SWAP_LIST PTN_XBL, PTN_XBL_CFG, PTN_MULTIIMGOEM, PTN_MULTIIMGQTI, "sbl1", "rpm", "tz", "aboot", "abl", "hyp", "lksecapp", "keymaster", "cmnlib", "cmnlib32", "cmnlib64", "pmic", "apdp", "devcfg", "hosd", "keystore", "msadp", "mdtp", "mdtpsecapp", "dsp", "aop", "qupfw", "vbmeta", "dtbo", "imagefv", "ImageFv", "uefisecapp", "vm-bootsys", "shrm", "cpucp", "featenabler", "vbmeta_system"
#define AB_PTN_LIST PTN_SWAP_LIST, "boot", "vendor_boot", "system", "system_ext", "product", "vendor", "odm", "modem", "bluetooth"
#define BOOT_DEV_DIR "/dev/block/bootdevice/by-name"