aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/ProgramLoader.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2022-05-03 18:28:32 -0300
committerGitHub <noreply@github.com>2022-05-03 23:28:32 +0200
commit556be08c4e9ad9f508dc2647ef70d3b89c2c242c (patch)
treeec3a0433def3bfc8f4a20e7cfcbe97bd73890ee1 /Ryujinx.HLE/HOS/ProgramLoader.cs
parent1cbca5eecbb6b7bce94dca864b5cffda4db02d39 (diff)
Implement PM GetProcessInfo atmosphere extension (partially) (#2966)1.1.112
Diffstat (limited to 'Ryujinx.HLE/HOS/ProgramLoader.cs')
-rw-r--r--Ryujinx.HLE/HOS/ProgramLoader.cs14
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);