diff options
author | Ac_K <Acoustik666@gmail.com> | 2023-01-18 14:50:42 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-18 13:50:42 +0000 |
commit | f449895e6d8af90f727de6590fd6120038c73986 (patch) | |
tree | f890c3d8d45ed9bf084ce2ffd4b1b5b15a1d5371 /Ryujinx.HLE/HOS/ProgramLoader.cs | |
parent | 410be95ab68ff1246eb24d6157c18d4c8c2dcf5a (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.cs | 8 |
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) |