diff options
Diffstat (limited to 'Ryujinx.HLE/HOS/ProgramLoader.cs')
-rw-r--r-- | Ryujinx.HLE/HOS/ProgramLoader.cs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Ryujinx.HLE/HOS/ProgramLoader.cs b/Ryujinx.HLE/HOS/ProgramLoader.cs index 403e0227..294ca5b8 100644 --- a/Ryujinx.HLE/HOS/ProgramLoader.cs +++ b/Ryujinx.HLE/HOS/ProgramLoader.cs @@ -20,11 +20,13 @@ namespace Ryujinx.HLE.HOS { public string Name; public ulong ProgramId; + public bool AllowCodeMemoryForJit; - public ProgramInfo(in Npdm npdm) + public ProgramInfo(in Npdm npdm, bool allowCodeMemoryForJit) { Name = StringUtils.Utf8ZToString(npdm.Meta.Value.ProgramName); ProgramId = npdm.Aci.Value.ProgramId.Value; + AllowCodeMemoryForJit = allowCodeMemoryForJit; } } @@ -141,7 +143,13 @@ namespace Ryujinx.HLE.HOS return true; } - public static bool LoadNsos(KernelContext context, out ProcessTamperInfo tamperInfo, MetaLoader metaData, ProgramInfo programInfo, byte[] arguments = null, params IExecutable[] executables) + public static bool LoadNsos( + KernelContext context, + out ProcessTamperInfo tamperInfo, + MetaLoader metaData, + ProgramInfo programInfo, + byte[] arguments = null, + params IExecutable[] executables) { LibHac.Result rc = metaData.GetNpdm(out var npdm); @@ -243,7 +251,7 @@ namespace Ryujinx.HLE.HOS return false; } - KProcess process = new KProcess(context); + KProcess process = new KProcess(context, programInfo.AllowCodeMemoryForJit); MemoryRegion memoryRegion = (MemoryRegion)((npdm.Acid.Value.Flags >> 2) & 0xf); |