From 1b33e9982cf507255473a109212d76b09e1b0862 Mon Sep 17 00:00:00 2001 From: Lightos1 <124387232+Lightos1@users.noreply.github.com> Date: Sat, 2 May 2026 16:16:21 +0200 Subject: [PATCH] update exosphere patches --- .../secmon_define_emc1_access_table.inc | 25 ------------------- .../secmon_define_emc2_access_table.inc | 25 ------------------- ...=> secmon_define_rtc_pmc_access_table.inc} | 6 ++--- ...c => secmon_rtc_pmc_access_table_data.inc} | 0 .../secmon_smc_register_access.cpp | 16 ++++++------ 5 files changed, 10 insertions(+), 62 deletions(-) delete mode 100644 Source/Atmosphere-Patches/secmon_define_emc1_access_table.inc delete mode 100644 Source/Atmosphere-Patches/secmon_define_emc2_access_table.inc rename Source/Atmosphere-Patches/{secmon_define_emc_access_table.inc => secmon_define_rtc_pmc_access_table.inc} (78%) rename Source/Atmosphere-Patches/{secmon_emc_access_table_data.inc => secmon_rtc_pmc_access_table_data.inc} (100%) diff --git a/Source/Atmosphere-Patches/secmon_define_emc1_access_table.inc b/Source/Atmosphere-Patches/secmon_define_emc1_access_table.inc deleted file mode 100644 index fcbd6d4f..00000000 --- a/Source/Atmosphere-Patches/secmon_define_emc1_access_table.inc +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) Atmosphère-NX - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License, - * version 2, as published by the Free Software Foundation. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#define __ACCESS_TABLE_NAME__ EmcAccessTable1 -#define __ACCESS_TABLE_ADDRESS__ MemoryRegionPhysicalDeviceExternalMemoryController1.GetAddress() -#define __ACCESS_TABLE_INC__ "secmon_emc_access_table_data.inc" - -#include "secmon_define_access_table.inc" - -#undef __ACCESS_TABLE_INC__ -#undef __ACCESS_TABLE_ADDRESS__ -#undef __ACCESS_TABLE_NAME__ diff --git a/Source/Atmosphere-Patches/secmon_define_emc2_access_table.inc b/Source/Atmosphere-Patches/secmon_define_emc2_access_table.inc deleted file mode 100644 index ea7454d1..00000000 --- a/Source/Atmosphere-Patches/secmon_define_emc2_access_table.inc +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) Atmosphère-NX - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License, - * version 2, as published by the Free Software Foundation. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#define __ACCESS_TABLE_NAME__ EmcAccessTable2 -#define __ACCESS_TABLE_ADDRESS__ MemoryRegionPhysicalDeviceExternalMemoryController2.GetAddress() -#define __ACCESS_TABLE_INC__ "secmon_emc_access_table_data.inc" - -#include "secmon_define_access_table.inc" - -#undef __ACCESS_TABLE_INC__ -#undef __ACCESS_TABLE_ADDRESS__ -#undef __ACCESS_TABLE_NAME__ diff --git a/Source/Atmosphere-Patches/secmon_define_emc_access_table.inc b/Source/Atmosphere-Patches/secmon_define_rtc_pmc_access_table.inc similarity index 78% rename from Source/Atmosphere-Patches/secmon_define_emc_access_table.inc rename to Source/Atmosphere-Patches/secmon_define_rtc_pmc_access_table.inc index 161f77c6..1680f4e2 100644 --- a/Source/Atmosphere-Patches/secmon_define_emc_access_table.inc +++ b/Source/Atmosphere-Patches/secmon_define_rtc_pmc_access_table.inc @@ -14,9 +14,9 @@ * along with this program. If not, see . */ -#define __ACCESS_TABLE_NAME__ EmcAccessTable -#define __ACCESS_TABLE_ADDRESS__ MemoryRegionPhysicalDeviceExternalMemoryController.GetAddress() -#define __ACCESS_TABLE_INC__ "secmon_emc_access_table_data.inc" +#define __ACCESS_TABLE_NAME__ RtcPmcAccessTable +#define __ACCESS_TABLE_ADDRESS__ MemoryRegionPhysicalDeviceRtcPmc.GetAddress() +#define __ACCESS_TABLE_INC__ "secmon_rtc_pmc_access_table_data.inc" #include "secmon_define_access_table.inc" diff --git a/Source/Atmosphere-Patches/secmon_emc_access_table_data.inc b/Source/Atmosphere-Patches/secmon_rtc_pmc_access_table_data.inc similarity index 100% rename from Source/Atmosphere-Patches/secmon_emc_access_table_data.inc rename to Source/Atmosphere-Patches/secmon_rtc_pmc_access_table_data.inc diff --git a/Source/Atmosphere-Patches/secmon_smc_register_access.cpp b/Source/Atmosphere-Patches/secmon_smc_register_access.cpp index aa6acfdf..88757041 100644 --- a/Source/Atmosphere-Patches/secmon_smc_register_access.cpp +++ b/Source/Atmosphere-Patches/secmon_smc_register_access.cpp @@ -99,18 +99,16 @@ namespace ams::secmon::smc { #include "secmon_define_pmc_access_table.inc" #include "secmon_define_mc_access_table.inc" #include "secmon_define_emc_access_table.inc" - #include "secmon_define_emc1_access_table.inc" - #include "secmon_define_emc2_access_table.inc" + #include "secmon_define_rtc_pmc_access_table.inc" #include "secmon_define_mc01_access_table.inc" constexpr const AccessTableEntry AccessTables[] = { - { PmcAccessTable::ReducedAccessTable.data(), MemoryRegionVirtualDevicePmc.GetAddress(), PmcAccessTable::Address, PmcAccessTable::Size, }, - { McAccessTable::ReducedAccessTable.data(), MemoryRegionVirtualDeviceMemoryController.GetAddress(), McAccessTable::Address, McAccessTable::Size, }, - { EmcAccessTable::ReducedAccessTable.data(), MemoryRegionVirtualDeviceExternalMemoryController.GetAddress(), EmcAccessTable::Address, EmcAccessTable::Size, }, - { EmcAccessTable1::ReducedAccessTable.data(), MemoryRegionVirtualDeviceExternalMemoryController1.GetAddress(), EmcAccessTable1::Address, EmcAccessTable1::Size, }, - { EmcAccessTable2::ReducedAccessTable.data(), MemoryRegionVirtualDeviceExternalMemoryController2.GetAddress(), EmcAccessTable2::Address, EmcAccessTable2::Size, }, - { Mc01AccessTable::ReducedAccessTable.data(), Mc01AccessTable::Address + MemoryRegionVirtualDeviceMemoryController0.GetAddress(), Mc01AccessTable::Address + MemoryRegionPhysicalDeviceMemoryController0.GetAddress(), Mc01AccessTable::Size, }, - { Mc01AccessTable::ReducedAccessTable.data(), Mc01AccessTable::Address + MemoryRegionVirtualDeviceMemoryController1.GetAddress(), Mc01AccessTable::Address + MemoryRegionPhysicalDeviceMemoryController1.GetAddress(), Mc01AccessTable::Size, }, + { PmcAccessTable::ReducedAccessTable.data(), MemoryRegionVirtualDevicePmc.GetAddress(), PmcAccessTable::Address, PmcAccessTable::Size, }, + { McAccessTable::ReducedAccessTable.data(), MemoryRegionVirtualDeviceMemoryController.GetAddress(), McAccessTable::Address, McAccessTable::Size, }, + { EmcAccessTable::ReducedAccessTable.data(), MemoryRegionVirtualDeviceExternalMemoryController.GetAddress(), EmcAccessTable::Address, EmcAccessTable::Size, }, + { RtcPmcAccessTable::ReducedAccessTable.data(), MemoryRegionVirtualDeviceRtcPmc.GetAddress(), RtcPmcAccessTable::Address, RtcPmcAccessTable::Size, }, + { Mc01AccessTable::ReducedAccessTable.data(), Mc01AccessTable::Address + MemoryRegionVirtualDeviceMemoryController0.GetAddress(), Mc01AccessTable::Address + MemoryRegionPhysicalDeviceMemoryController0.GetAddress(), Mc01AccessTable::Size, }, + { Mc01AccessTable::ReducedAccessTable.data(), Mc01AccessTable::Address + MemoryRegionVirtualDeviceMemoryController1.GetAddress(), Mc01AccessTable::Address + MemoryRegionPhysicalDeviceMemoryController1.GetAddress(), Mc01AccessTable::Size, }, }; constexpr bool IsAccessAllowed(const AccessTableEntry &entry, uintptr_t address) {