From 556be08c4e9ad9f508dc2647ef70d3b89c2c242c Mon Sep 17 00:00:00 2001 From: gdkchan Date: Tue, 3 May 2022 18:28:32 -0300 Subject: Implement PM GetProcessInfo atmosphere extension (partially) (#2966) --- Ryujinx.HLE/HOS/ProgramLoader.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'Ryujinx.HLE/HOS/ProgramLoader.cs') 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); -- cgit v1.2.3