From b1112e0949b5e379afde27419d44b834489db300 Mon Sep 17 00:00:00 2001 From: CTCaer Date: Fri, 31 Mar 2023 09:17:13 +0300 Subject: [PATCH] hos: set proper exo hos version for 12.1.0 Even if 12.0.0 one is api compatible, there was a master key change on 12.1.0. --- bootloader/hos/hos.c | 2 +- bootloader/hos/secmon_exo.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/bootloader/hos/hos.c b/bootloader/hos/hos.c index a229460..c47843d 100644 --- a/bootloader/hos/hos.c +++ b/bootloader/hos/hos.c @@ -1026,7 +1026,7 @@ int hos_launch(ini_sec_t *cfg) pkg2_merge_kip(&kip1_info, (pkg2_kip1_t *)mki->kip1); // Check if FS is compatible with exFAT and if 5.1.0. - if (!ctxt.stock && (sd_fs.fs_type == FS_EXFAT || kb == KB_FIRMWARE_VERSION_500)) + if (!ctxt.stock && (sd_fs.fs_type == FS_EXFAT || kb == KB_FIRMWARE_VERSION_500 || ctxt.pkg1_id->fuses == 13)) { bool exfat_compat = _get_fs_exfat_compatible(&kip1_info, &ctxt.exo_ctx.hos_revision); diff --git a/bootloader/hos/secmon_exo.c b/bootloader/hos/secmon_exo.c index e66cb82..03ea4da 100644 --- a/bootloader/hos/secmon_exo.c +++ b/bootloader/hos/secmon_exo.c @@ -162,6 +162,10 @@ void config_exosphere(launch_ctxt_t *ctxt, u32 warmboot_base) else exo_fw_no = ctxt->pkg1_id->fuses - 1; // 3.0.1 - 7.0.1, 8.0.x. + // Set 12.1.0 specific revision. + if (ctxt->pkg1_id->kb == KB_FIRMWARE_VERSION_1210) + ctxt->exo_ctx.hos_revision = 1; + // Handle 15.0.0+. if (ctxt->pkg1_id->fuses >= 17) exo_fw_no++;