aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Cpu
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Cpu')
-rw-r--r--src/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs13
-rw-r--r--src/Ryujinx.Cpu/IVirtualMemoryManagerTracked.cs9
-rw-r--r--src/Ryujinx.Cpu/Jit/MemoryManager.cs13
-rw-r--r--src/Ryujinx.Cpu/Jit/MemoryManagerHostMapped.cs13
-rw-r--r--src/Ryujinx.Cpu/Tracking/CpuMultiRegionHandle.cs28
-rw-r--r--src/Ryujinx.Cpu/Tracking/CpuRegionHandle.cs37
-rw-r--r--src/Ryujinx.Cpu/Tracking/CpuSmartMultiRegionHandle.cs26
7 files changed, 22 insertions, 117 deletions
diff --git a/src/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs b/src/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs
index 437e02ae..56a329e0 100644
--- a/src/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs
+++ b/src/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs
@@ -1,5 +1,4 @@
using ARMeilleure.Memory;
-using Ryujinx.Cpu.Tracking;
using Ryujinx.Memory;
using Ryujinx.Memory.Range;
using Ryujinx.Memory.Tracking;
@@ -822,21 +821,21 @@ namespace Ryujinx.Cpu.AppleHv
}
/// <inheritdoc/>
- public CpuRegionHandle BeginTracking(ulong address, ulong size, int id)
+ public RegionHandle BeginTracking(ulong address, ulong size, int id)
{
- return new CpuRegionHandle(Tracking.BeginTracking(address, size, id));
+ return Tracking.BeginTracking(address, size, id);
}
/// <inheritdoc/>
- public CpuMultiRegionHandle BeginGranularTracking(ulong address, ulong size, IEnumerable<IRegionHandle> handles, ulong granularity, int id)
+ public MultiRegionHandle BeginGranularTracking(ulong address, ulong size, IEnumerable<IRegionHandle> handles, ulong granularity, int id)
{
- return new CpuMultiRegionHandle(Tracking.BeginGranularTracking(address, size, handles, granularity, id));
+ return Tracking.BeginGranularTracking(address, size, handles, granularity, id);
}
/// <inheritdoc/>
- public CpuSmartMultiRegionHandle BeginSmartGranularTracking(ulong address, ulong size, ulong granularity, int id)
+ public SmartMultiRegionHandle BeginSmartGranularTracking(ulong address, ulong size, ulong granularity, int id)
{
- return new CpuSmartMultiRegionHandle(Tracking.BeginSmartGranularTracking(address, size, granularity, id));
+ return Tracking.BeginSmartGranularTracking(address, size, granularity, id);
}
/// <summary>
diff --git a/src/Ryujinx.Cpu/IVirtualMemoryManagerTracked.cs b/src/Ryujinx.Cpu/IVirtualMemoryManagerTracked.cs
index 92d3c76c..5fa88d62 100644
--- a/src/Ryujinx.Cpu/IVirtualMemoryManagerTracked.cs
+++ b/src/Ryujinx.Cpu/IVirtualMemoryManagerTracked.cs
@@ -1,5 +1,4 @@
-using Ryujinx.Cpu.Tracking;
-using Ryujinx.Memory;
+using Ryujinx.Memory;
using Ryujinx.Memory.Tracking;
using System;
using System.Collections.Generic;
@@ -30,7 +29,7 @@ namespace Ryujinx.Cpu
/// <param name="size">Size of the region</param>
/// <param name="id">Handle ID</param>
/// <returns>The memory tracking handle</returns>
- CpuRegionHandle BeginTracking(ulong address, ulong size, int id);
+ RegionHandle BeginTracking(ulong address, ulong size, int id);
/// <summary>
/// Obtains a memory tracking handle for the given virtual region, with a specified granularity. This should be disposed when finished with.
@@ -41,7 +40,7 @@ namespace Ryujinx.Cpu
/// <param name="granularity">Desired granularity of write tracking</param>
/// <param name="id">Handle ID</param>
/// <returns>The memory tracking handle</returns>
- CpuMultiRegionHandle BeginGranularTracking(ulong address, ulong size, IEnumerable<IRegionHandle> handles, ulong granularity, int id);
+ MultiRegionHandle BeginGranularTracking(ulong address, ulong size, IEnumerable<IRegionHandle> handles, ulong granularity, int id);
/// <summary>
/// Obtains a smart memory tracking handle for the given virtual region, with a specified granularity. This should be disposed when finished with.
@@ -51,6 +50,6 @@ namespace Ryujinx.Cpu
/// <param name="granularity">Desired granularity of write tracking</param>
/// <param name="id">Handle ID</param>
/// <returns>The memory tracking handle</returns>
- CpuSmartMultiRegionHandle BeginSmartGranularTracking(ulong address, ulong size, ulong granularity, int id);
+ SmartMultiRegionHandle BeginSmartGranularTracking(ulong address, ulong size, ulong granularity, int id);
}
}
diff --git a/src/Ryujinx.Cpu/Jit/MemoryManager.cs b/src/Ryujinx.Cpu/Jit/MemoryManager.cs
index 8542d53e..6da11fb8 100644
--- a/src/Ryujinx.Cpu/Jit/MemoryManager.cs
+++ b/src/Ryujinx.Cpu/Jit/MemoryManager.cs
@@ -1,5 +1,4 @@
using ARMeilleure.Memory;
-using Ryujinx.Cpu.Tracking;
using Ryujinx.Memory;
using Ryujinx.Memory.Range;
using Ryujinx.Memory.Tracking;
@@ -629,21 +628,21 @@ namespace Ryujinx.Cpu.Jit
}
/// <inheritdoc/>
- public CpuRegionHandle BeginTracking(ulong address, ulong size, int id)
+ public RegionHandle BeginTracking(ulong address, ulong size, int id)
{
- return new CpuRegionHandle(Tracking.BeginTracking(address, size, id));
+ return Tracking.BeginTracking(address, size, id);
}
/// <inheritdoc/>
- public CpuMultiRegionHandle BeginGranularTracking(ulong address, ulong size, IEnumerable<IRegionHandle> handles, ulong granularity, int id)
+ public MultiRegionHandle BeginGranularTracking(ulong address, ulong size, IEnumerable<IRegionHandle> handles, ulong granularity, int id)
{
- return new CpuMultiRegionHandle(Tracking.BeginGranularTracking(address, size, handles, granularity, id));
+ return Tracking.BeginGranularTracking(address, size, handles, granularity, id);
}
/// <inheritdoc/>
- public CpuSmartMultiRegionHandle BeginSmartGranularTracking(ulong address, ulong size, ulong granularity, int id)
+ public SmartMultiRegionHandle BeginSmartGranularTracking(ulong address, ulong size, ulong granularity, int id)
{
- return new CpuSmartMultiRegionHandle(Tracking.BeginSmartGranularTracking(address, size, granularity, id));
+ return Tracking.BeginSmartGranularTracking(address, size, granularity, id);
}
/// <inheritdoc/>
diff --git a/src/Ryujinx.Cpu/Jit/MemoryManagerHostMapped.cs b/src/Ryujinx.Cpu/Jit/MemoryManagerHostMapped.cs
index 090740ab..363f9000 100644
--- a/src/Ryujinx.Cpu/Jit/MemoryManagerHostMapped.cs
+++ b/src/Ryujinx.Cpu/Jit/MemoryManagerHostMapped.cs
@@ -1,5 +1,4 @@
using ARMeilleure.Memory;
-using Ryujinx.Cpu.Tracking;
using Ryujinx.Memory;
using Ryujinx.Memory.Range;
using Ryujinx.Memory.Tracking;
@@ -706,21 +705,21 @@ namespace Ryujinx.Cpu.Jit
}
/// <inheritdoc/>
- public CpuRegionHandle BeginTracking(ulong address, ulong size, int id)
+ public RegionHandle BeginTracking(ulong address, ulong size, int id)
{
- return new CpuRegionHandle(Tracking.BeginTracking(address, size, id));
+ return Tracking.BeginTracking(address, size, id);
}
/// <inheritdoc/>
- public CpuMultiRegionHandle BeginGranularTracking(ulong address, ulong size, IEnumerable<IRegionHandle> handles, ulong granularity, int id)
+ public MultiRegionHandle BeginGranularTracking(ulong address, ulong size, IEnumerable<IRegionHandle> handles, ulong granularity, int id)
{
- return new CpuMultiRegionHandle(Tracking.BeginGranularTracking(address, size, handles, granularity, id));
+ return Tracking.BeginGranularTracking(address, size, handles, granularity, id);
}
/// <inheritdoc/>
- public CpuSmartMultiRegionHandle BeginSmartGranularTracking(ulong address, ulong size, ulong granularity, int id)
+ public SmartMultiRegionHandle BeginSmartGranularTracking(ulong address, ulong size, ulong granularity, int id)
{
- return new CpuSmartMultiRegionHandle(Tracking.BeginSmartGranularTracking(address, size, granularity, id));
+ return Tracking.BeginSmartGranularTracking(address, size, granularity, id);
}
/// <summary>
diff --git a/src/Ryujinx.Cpu/Tracking/CpuMultiRegionHandle.cs b/src/Ryujinx.Cpu/Tracking/CpuMultiRegionHandle.cs
deleted file mode 100644
index 0ed8bfc5..00000000
--- a/src/Ryujinx.Cpu/Tracking/CpuMultiRegionHandle.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using Ryujinx.Memory.Tracking;
-using System;
-using System.Collections.Generic;
-
-namespace Ryujinx.Cpu.Tracking
-{
- public class CpuMultiRegionHandle : IMultiRegionHandle
- {
- private readonly MultiRegionHandle _impl;
-
- public bool Dirty => _impl.Dirty;
-
- internal CpuMultiRegionHandle(MultiRegionHandle impl)
- {
- _impl = impl;
- }
-
- public void Dispose() => _impl.Dispose();
- public void ForceDirty(ulong address, ulong size) => _impl.ForceDirty(address, size);
- public IEnumerable<IRegionHandle> GetHandles() => _impl.GetHandles();
- public void QueryModified(Action<ulong, ulong> modifiedAction) => _impl.QueryModified(modifiedAction);
- public void QueryModified(ulong address, ulong size, Action<ulong, ulong> modifiedAction) => _impl.QueryModified(address, size, modifiedAction);
- public void QueryModified(ulong address, ulong size, Action<ulong, ulong> modifiedAction, int sequenceNumber) => _impl.QueryModified(address, size, modifiedAction, sequenceNumber);
- public void RegisterAction(ulong address, ulong size, RegionSignal action) => _impl.RegisterAction(address, size, action);
- public void RegisterPreciseAction(ulong address, ulong size, PreciseRegionSignal action) => _impl.RegisterPreciseAction(address, size, action);
- public void SignalWrite() => _impl.SignalWrite();
- }
-}
diff --git a/src/Ryujinx.Cpu/Tracking/CpuRegionHandle.cs b/src/Ryujinx.Cpu/Tracking/CpuRegionHandle.cs
deleted file mode 100644
index e766460f..00000000
--- a/src/Ryujinx.Cpu/Tracking/CpuRegionHandle.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using Ryujinx.Memory.Tracking;
-using System;
-
-namespace Ryujinx.Cpu.Tracking
-{
- public class CpuRegionHandle : IRegionHandle
- {
- private readonly RegionHandle _impl;
-
- public bool Dirty => _impl.Dirty;
- public bool Unmapped => _impl.Unmapped;
- public ulong Address => _impl.Address;
- public ulong Size => _impl.Size;
- public ulong EndAddress => _impl.EndAddress;
-
- internal CpuRegionHandle(RegionHandle impl)
- {
- _impl = impl;
- }
-
- public void Dispose() => _impl.Dispose();
- public bool DirtyOrVolatile() => _impl.DirtyOrVolatile();
- public void ForceDirty() => _impl.ForceDirty();
- public IRegionHandle GetHandle() => _impl;
- public void RegisterAction(RegionSignal action) => _impl.RegisterAction(action);
- public void RegisterPreciseAction(PreciseRegionSignal action) => _impl.RegisterPreciseAction(action);
- public void RegisterDirtyEvent(Action action) => _impl.RegisterDirtyEvent(action);
- public void Reprotect(bool asDirty = false) => _impl.Reprotect(asDirty);
-
- public bool OverlapsWith(ulong address, ulong size) => _impl.OverlapsWith(address, size);
-
- public bool RangeEquals(CpuRegionHandle other)
- {
- return _impl.RealAddress == other._impl.RealAddress && _impl.RealSize == other._impl.RealSize;
- }
- }
-}
diff --git a/src/Ryujinx.Cpu/Tracking/CpuSmartMultiRegionHandle.cs b/src/Ryujinx.Cpu/Tracking/CpuSmartMultiRegionHandle.cs
deleted file mode 100644
index 665271c6..00000000
--- a/src/Ryujinx.Cpu/Tracking/CpuSmartMultiRegionHandle.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using Ryujinx.Memory.Tracking;
-using System;
-
-namespace Ryujinx.Cpu.Tracking
-{
- public class CpuSmartMultiRegionHandle : IMultiRegionHandle
- {
- private readonly SmartMultiRegionHandle _impl;
-
- public bool Dirty => _impl.Dirty;
-
- internal CpuSmartMultiRegionHandle(SmartMultiRegionHandle impl)
- {
- _impl = impl;
- }
-
- public void Dispose() => _impl.Dispose();
- public void ForceDirty(ulong address, ulong size) => _impl.ForceDirty(address, size);
- public void RegisterAction(RegionSignal action) => _impl.RegisterAction(action);
- public void RegisterPreciseAction(PreciseRegionSignal action) => _impl.RegisterPreciseAction(action);
- public void QueryModified(Action<ulong, ulong> modifiedAction) => _impl.QueryModified(modifiedAction);
- public void QueryModified(ulong address, ulong size, Action<ulong, ulong> modifiedAction) => _impl.QueryModified(address, size, modifiedAction);
- public void QueryModified(ulong address, ulong size, Action<ulong, ulong> modifiedAction, int sequenceNumber) => _impl.QueryModified(address, size, modifiedAction, sequenceNumber);
- public void SignalWrite() => _impl.SignalWrite();
- }
-}