| 1234567891011121314151617181920212223242526272829303132333435 |
- 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;
- }
- }
- }
|