From 1058ac7b2da71d9784f9e3d27a17db52cc18766a Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Thu, 31 May 2018 18:32:25 -0600 Subject: [PATCH] Exosphere: Fix MMIO configuration on low firmware versions. --- exosphere/src/bootup.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/exosphere/src/bootup.c b/exosphere/src/bootup.c index 6cfddf5d7..88bad9361 100644 --- a/exosphere/src/bootup.c +++ b/exosphere/src/bootup.c @@ -120,7 +120,11 @@ void bootup_misc_mmio(void) { MAKE_MC_REG(0x230) = 0xFFFFFFFF; MAKE_MC_REG(0x234) = 0xFFFFFFFF; MAKE_MC_REG(0xB98) = 0xFFFFFFFF; - MAKE_MC_REG(0x038) = 0xE; + if (exosphere_get_target_firmware() >= EXOSPHERE_TARGET_FIRMWARE_400) { + MAKE_MC_REG(0x038) = 0xE; + } else { + MAKE_MC_REG(0x038) = 0x0; + } MAKE_MC_REG(0x03C) = 0; MAKE_MC_REG(0x9E0) = 0; MAKE_MC_REG(0x9E4) = 0; @@ -128,7 +132,9 @@ void bootup_misc_mmio(void) { MAKE_MC_REG(0x9EC) = 0; MAKE_MC_REG(0x9F0) = 0; MAKE_MC_REG(0x9F4) = 0; - MAKE_MC_REG(0x01C) = 0; + if (exosphere_get_target_firmware() >= EXOSPHERE_TARGET_FIRMWARE_400) { + MAKE_MC_REG(0x01C) = 0; + } MAKE_MC_REG(0x020) = 0; MAKE_MC_REG(0x014) = 0x30000030; MAKE_MC_REG(0x018) = 0x2800003F;