12 GiB heap support

The heap was limited to 6 GiB no matter the memory setting, causing memory configurations above 8 GiB to not actually affect the heap size.

Now when the memory config is set to [10 or] 12 GiB the heap also allocates 12 GiB.

The SetHeapSize SysCall will now allow heap sizes up to 12 GiB (technically slightly less).

Co-authored-by: KeatonTheBot <keaton@ryujinx.app>
This commit is contained in:
LotP
2025-10-27 09:16:22 -05:00
committed by KeatonTheBot
co-authored by KeatonTheBot
parent fc7932ad27
commit 4f101170f0
5 changed files with 27 additions and 5 deletions
@@ -190,7 +190,7 @@ namespace Ryujinx.HLE.Loaders.Processes
codeAddress,
codeSize);
result = process.InitializeKip(creationInfo, kip.Capabilities, pageList, context.ResourceLimit, memoryRegion, processContextFactory);
result = process.InitializeKip(creationInfo, kip.Capabilities, pageList, context.ResourceLimit, memoryRegion, context.Device.Configuration.MemoryConfiguration, processContextFactory);
if (result != Result.Success)
{
Logger.Error?.Print(LogClass.Loader, $"Process initialization returned error \"{result}\".");
@@ -401,6 +401,7 @@ namespace Ryujinx.HLE.Loaders.Processes
MemoryMarshal.Cast<byte, uint>(npdm.KernelCapabilityData),
resourceLimit,
memoryRegion,
context.Device.Configuration.MemoryConfiguration,
processContextFactory,
entrypointOffset: nsoPatch[0]?.Size ?? 0UL);