aboutsummaryrefslogtreecommitdiff
path: root/ARMeilleure/Memory/IMemoryManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ARMeilleure/Memory/IMemoryManager.cs')
-rw-r--r--ARMeilleure/Memory/IMemoryManager.cs19
1 files changed, 19 insertions, 0 deletions
diff --git a/ARMeilleure/Memory/IMemoryManager.cs b/ARMeilleure/Memory/IMemoryManager.cs
new file mode 100644
index 00000000..ce1f5848
--- /dev/null
+++ b/ARMeilleure/Memory/IMemoryManager.cs
@@ -0,0 +1,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);
+ }
+} \ No newline at end of file