From 8b74c487eb84b3430d957f1c4ae69e56a0e03ba2 Mon Sep 17 00:00:00 2001 From: CTCaer Date: Mon, 9 Mar 2020 09:09:25 +0200 Subject: [PATCH] exo: Add support for fatal version AFE2 --- bootloader/hos/secmon_exo.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bootloader/hos/secmon_exo.c b/bootloader/hos/secmon_exo.c index 0baa851..28f1e74 100644 --- a/bootloader/hos/secmon_exo.c +++ b/bootloader/hos/secmon_exo.c @@ -121,10 +121,11 @@ typedef struct _atm_fatal_error_ctx u64 stack_dump_size; u64 stack_trace[0x20]; u8 stack_dump[0x100]; + u8 tls[0x100]; } atm_fatal_error_ctx; #define ATM_FATAL_ERR_CTX_ADDR 0x4003E000 -#define ATM_FATAL_MAGIC 0x31454641 // AFE1 +#define ATM_FATAL_MAGIC 0x30454641 // AFE0 #define ATM_WB_HEADER_OFF 0x244 #define ATM_WB_MAGIC 0x30544257 @@ -261,7 +262,8 @@ void secmon_exo_check_panic() { volatile atm_fatal_error_ctx *rpt = (atm_fatal_error_ctx *)ATM_FATAL_ERR_CTX_ADDR; - if (rpt->magic != ATM_FATAL_MAGIC) + // Mask magic to maintain compatibility with any AFE version, thanks to additive struct members. + if ((rpt->magic & 0xF0FFFFFF) != ATM_FATAL_MAGIC) return; gfx_clear_grey(0x1B);