From 40aefffbb2967ae3cab548359358fe64a45104b2 Mon Sep 17 00:00:00 2001 From: souldbminersmwc Date: Wed, 12 Nov 2025 15:41:30 -0500 Subject: [PATCH] Revert "hos-sys: remove global target (doesnt compile)" This reverts commit 30dd6c2536e19d4cfcb98bdfdff159bd79773224. --- .../sys-clk/sysmodule/src/clock_manager.cpp | 4 ++- Source/sys-clk/sysmodule/src/emc_patcher.cpp | 30 +++++++++---------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/Source/sys-clk/sysmodule/src/clock_manager.cpp b/Source/sys-clk/sysmodule/src/clock_manager.cpp index d3e12228..9e47d770 100644 --- a/Source/sys-clk/sysmodule/src/clock_manager.cpp +++ b/Source/sys-clk/sysmodule/src/clock_manager.cpp @@ -281,13 +281,15 @@ void ClockManager::Tick() for (unsigned int module = 0; module < SysClkModule_EnumMax; module++) { targetHz = this->context->overrideFreqs[module]; + globalTargetHz = this->context->overrideFreqs[module]; if (!targetHz) { targetHz = this->config->GetAutoClockHz(this->context->applicationId, (SysClkModule)module, this->context->profile); + globalTargetHz = this->config->GetAutoClockHz(SYSCLK_GLOBAL_PROFILE_TID, (SysClkModule)module, this->context->profile); } - if (targetHz) + if (targetHz || globalTargetHz) { maxHz = this->GetMaxAllowedHz((SysClkModule)module, this->context->profile); nearestHz = this->GetNearestHz((SysClkModule)module, targetHz, maxHz); diff --git a/Source/sys-clk/sysmodule/src/emc_patcher.cpp b/Source/sys-clk/sysmodule/src/emc_patcher.cpp index 9e34bdac..6b5c7135 100644 --- a/Source/sys-clk/sysmodule/src/emc_patcher.cpp +++ b/Source/sys-clk/sysmodule/src/emc_patcher.cpp @@ -66,26 +66,26 @@ void EMCpatcher::Run() void EMCpatcher::ApplyEMCPatch() { - // if(HOSSVC_HAS_MM) { // only for 10.0.0+, older versions need rewrites - // u64 mc_virt_addr = 0; - // u64 mc_out_size = 0; - // u64 emc_virt_addr = 0; - // u64 emc_out_size = 0; - // Result rc; + if(HOSSVC_HAS_MM) { // only for 10.0.0+, older versions need rewrites + u64 mc_virt_addr = 0; + u64 mc_out_size = 0; + u64 emc_virt_addr = 0; + u64 emc_out_size = 0; + Result rc; - // // rc = svcQueryMemoryMapping(&mc_virt_addr, &mc_out_size, MC_BASE, MC_EMC_BASE_SIZE); // map mc - // // ASSERT_RESULT_OK(rc, "svcQueryMemoryMapping"); + // rc = svcQueryMemoryMapping(&mc_virt_addr, &mc_out_size, MC_BASE, MC_EMC_BASE_SIZE); // map mc + // ASSERT_RESULT_OK(rc, "svcQueryMemoryMapping"); - // // rc = svcQueryMemoryMapping(&emc_virt_addr, &emc_out_size, EMC_BASE, MC_EMC_BASE_SIZE); // map emc - // // ASSERT_RESULT_OK(rc, "svcQueryMemoryMapping"); + // rc = svcQueryMemoryMapping(&emc_virt_addr, &emc_out_size, EMC_BASE, MC_EMC_BASE_SIZE); // map emc + // ASSERT_RESULT_OK(rc, "svcQueryMemoryMapping"); - // write_reg64(EMC_BASE, EMC_RAS_0, 1); + write_reg64(EMC_BASE, EMC_RAS_0, 1); - // write_reg64(EMC_BASE, EMC_TIMING_CONTROL_0, 0x1); // apply shadow regs + write_reg64(EMC_BASE, EMC_TIMING_CONTROL_0, 0x1); // apply shadow regs - // // svcUnmapMemory((void *)mc_virt_addr, (void *)MC_BASE, MC_EMC_BASE_SIZE); // clean up - // // svcUnmapMemory((void *)emc_virt_addr, (void *)EMC_BASE, MC_EMC_BASE_SIZE); + // svcUnmapMemory((void *)mc_virt_addr, (void *)MC_BASE, MC_EMC_BASE_SIZE); // clean up + // svcUnmapMemory((void *)emc_virt_addr, (void *)EMC_BASE, MC_EMC_BASE_SIZE); - // } + } }