forked from Mirror/Ryujinx
35 lines
No EOL
673 B
C#
35 lines
No EOL
673 B
C#
using ChocolArm64.Exceptions;
|
|
|
|
namespace ChocolArm64.Memory
|
|
{
|
|
public class AMemoryAlloc
|
|
{
|
|
private long PhysPos;
|
|
|
|
public long Alloc(long Size)
|
|
{
|
|
long Position = PhysPos;
|
|
|
|
Size = AMemoryHelper.PageRoundUp(Size);
|
|
|
|
PhysPos += Size;
|
|
|
|
if (PhysPos > AMemoryMgr.RamSize || PhysPos < 0)
|
|
{
|
|
throw new VmmOutOfMemoryException(Size);
|
|
}
|
|
|
|
return Position;
|
|
}
|
|
|
|
public void Free(long Position)
|
|
{
|
|
//TODO
|
|
}
|
|
|
|
public long GetFreeMem()
|
|
{
|
|
return AMemoryMgr.RamSize - PhysPos;
|
|
}
|
|
}
|
|
} |