* misc: Implement address space size workarounds This adds code to support userland with less than 39 bits of address space available by testing reserving multiple sizes and reducing guess address space when needed. This is required for ARM64 support when the kernel is configured to use 63..39 bits for kernel space.(meaning only 38 bits is available to userland) * Address comments * Fix 32 bits address space support and address more comments
37 lines
910 B
C#
37 lines
910 B
C#
using Ryujinx.Cpu;
|
|
using Ryujinx.Memory;
|
|
using System;
|
|
|
|
namespace Ryujinx.HLE.HOS.Kernel.Process
|
|
{
|
|
class ProcessContext : IProcessContext
|
|
{
|
|
public IVirtualMemoryManager AddressSpace { get; }
|
|
|
|
public ulong AddressSpaceSize { get; }
|
|
|
|
public ProcessContext(IVirtualMemoryManager asManager, ulong addressSpaceSize)
|
|
{
|
|
AddressSpace = asManager;
|
|
AddressSpaceSize = addressSpaceSize;
|
|
}
|
|
|
|
public IExecutionContext CreateExecutionContext(ExceptionCallbacks exceptionCallbacks)
|
|
{
|
|
return new ProcessExecutionContext();
|
|
}
|
|
|
|
public void Execute(IExecutionContext context, ulong codeAddress)
|
|
{
|
|
throw new NotSupportedException();
|
|
}
|
|
|
|
public void InvalidateCacheRegion(ulong address, ulong size)
|
|
{
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
}
|
|
}
|
|
}
|