aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/ProgramLoader.cs
diff options
context:
space:
mode:
authorAc_K <Acoustik666@gmail.com>2023-01-18 14:50:42 +0100
committerGitHub <noreply@github.com>2023-01-18 13:50:42 +0000
commitf449895e6d8af90f727de6590fd6120038c73986 (patch)
treef890c3d8d45ed9bf084ce2ffd4b1b5b15a1d5371 /Ryujinx.HLE/HOS/ProgramLoader.cs
parent410be95ab68ff1246eb24d6157c18d4c8c2dcf5a (diff)
HOS: Load RomFs by pid (#4301)1.1.571
We currently loading only one RomFs at a time, which could be wrong if one day we want to load more than one guest at time. This PR fixes that by loading romfs by pid.
Diffstat (limited to 'Ryujinx.HLE/HOS/ProgramLoader.cs')
-rw-r--r--Ryujinx.HLE/HOS/ProgramLoader.cs8
1 files changed, 5 insertions, 3 deletions
diff --git a/Ryujinx.HLE/HOS/ProgramLoader.cs b/Ryujinx.HLE/HOS/ProgramLoader.cs
index b6a39a20..695f4672 100644
--- a/Ryujinx.HLE/HOS/ProgramLoader.cs
+++ b/Ryujinx.HLE/HOS/ProgramLoader.cs
@@ -41,17 +41,19 @@ namespace Ryujinx.HLE.HOS
struct ProgramLoadResult
{
- public static ProgramLoadResult Failed => new ProgramLoadResult(false, null, null);
+ public static ProgramLoadResult Failed => new ProgramLoadResult(false, null, null, 0);
public readonly bool Success;
public readonly ProcessTamperInfo TamperInfo;
public readonly IDiskCacheLoadState DiskCacheLoadState;
+ public readonly ulong ProcessId;
- public ProgramLoadResult(bool success, ProcessTamperInfo tamperInfo, IDiskCacheLoadState diskCacheLoadState)
+ public ProgramLoadResult(bool success, ProcessTamperInfo tamperInfo, IDiskCacheLoadState diskCacheLoadState, ulong pid)
{
Success = success;
TamperInfo = tamperInfo;
DiskCacheLoadState = diskCacheLoadState;
+ ProcessId = pid;
}
}
@@ -366,7 +368,7 @@ namespace Ryujinx.HLE.HOS
process.MemoryManager.AliasRegionStart,
process.MemoryManager.CodeRegionStart);
- return new ProgramLoadResult(true, tamperInfo, processContextFactory.DiskCacheLoadState);
+ return new ProgramLoadResult(true, tamperInfo, processContextFactory.DiskCacheLoadState, process.Pid);
}
private static Result LoadIntoMemory(KProcess process, IExecutable image, ulong baseAddress)