From 73c1615cda753657da3ef9bf0bca8b5aa2ecf04b Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Fri, 12 Jun 2020 03:43:49 -0700 Subject: [PATCH] exo2: only enforce soc device preconditions when they are guaranteed to apply --- exosphere/program/source/smc/secmon_smc_power_management.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/exosphere/program/source/smc/secmon_smc_power_management.cpp b/exosphere/program/source/smc/secmon_smc_power_management.cpp index eb65e7243..99008ddf6 100644 --- a/exosphere/program/source/smc/secmon_smc_power_management.cpp +++ b/exosphere/program/source/smc/secmon_smc_power_management.cpp @@ -162,6 +162,11 @@ namespace ams::secmon::smc { AMS_ABORT_UNLESS(reg::Read(FLOW_CTLR + FLOW_CTLR_HALT_COP_EVENTS) == reg::Encode(FLOW_REG_BITS_ENUM (HALT_COP_EVENTS_MODE, FLOW_MODE_STOP), FLOW_REG_BITS_ENUM_SEL(HALT_COP_EVENTS_JTAG, jtag, ENABLED, DISABLED))); + /* Further validations aren't guaranteed on < 6.0.0. */ + if (GetTargetFirmware() < TargetFirmware_6_0_0) { + return; + } + /* Validate that USB2, APB-DMA, AHB-DMA are held in reset. */ AMS_ABORT_UNLESS(reg::HasValue(CLK_RST + CLK_RST_CONTROLLER_RST_DEVICES_H, CLK_RST_REG_BITS_ENUM(RST_DEVICES_H_SWR_USB2_RST, ENABLE), CLK_RST_REG_BITS_ENUM(RST_DEVICES_H_SWR_APBDMA_RST, ENABLE),