Implement PM GetProcessInfo atmosphere extension (partially) (#2966)
This commit is contained in:
parent
1cbca5eecb
commit
556be08c4e
6 changed files with 63 additions and 15 deletions
|
@ -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);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue