aboutsummaryrefslogtreecommitdiff
path: root/ARMeilleure/Memory/IMemoryManager.cs
blob: ce1f58488c3572b1abf4e7157fcea55a36b7f9f8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;

namespace ARMeilleure.Memory
{
    public interface IMemoryManager
    {
        int AddressSpaceBits { get; }

        IntPtr PageTablePointer { get; }

        T Read<T>(ulong va) where T : unmanaged;
        void Write<T>(ulong va, T value) where T : unmanaged;

        ref T GetRef<T>(ulong va) where T : unmanaged;
        ref T GetRefNoChecks<T>(ulong va) where T : unmanaged;

        bool IsMapped(ulong va);
    }
}