aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/k_process.cpp
diff options
context:
space:
mode:
authorTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-29 03:22:44 -0400
committerTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-29 03:40:34 -0400
commitc1fbe684ef7981e5b3c48ce9027b6ea81092eec0 (patch)
tree6e7bb17c85a46223480de7cc043af53083c42243 /src/core/hle/kernel/k_process.cpp
parente17fd9cef116a088f080ca502951e500864a58b6 (diff)
core: use the 12 GiB layout and auto-stub IPC for Switch 2 titles
Switch 2 titles size their heap from the total memory and stop at the first unimplemented command, so they only booted with the 12 GiB layout and EDEN_NX2_AUTO_STUB set by hand. Detect them from main.npdm before the kernel starts and apply the layout as a per-game value (the configured layout comes back once the game is closed), and auto-stub unknown commands from Switch 2 processes.
Diffstat (limited to 'src/core/hle/kernel/k_process.cpp')
-rw-r--r--src/core/hle/kernel/k_process.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/core/hle/kernel/k_process.cpp b/src/core/hle/kernel/k_process.cpp
index 4aac818b77..c3a3b73559 100644
--- a/src/core/hle/kernel/k_process.cpp
+++ b/src/core/hle/kernel/k_process.cpp
@@ -1265,6 +1265,7 @@ Result KProcess::LoadFromMetadata(KernelCore& kernel, const FileSys::ProgramMeta
// its heap as total memory minus ~6.3 GiB), so count the alias region as well, bounded by the
// pool through the resource limit.
if (metadata.IsSwitch2()) {
+ m_is_switch2 = true;
m_max_process_memory = m_page_table.GetHeapRegionSize() + m_page_table.GetAliasRegionSize();
}