diff options
Diffstat (limited to 'src/Ryujinx.Cpu')
| -rw-r--r-- | src/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs | 13 | ||||
| -rw-r--r-- | src/Ryujinx.Cpu/IVirtualMemoryManagerTracked.cs | 9 | ||||
| -rw-r--r-- | src/Ryujinx.Cpu/Jit/MemoryManager.cs | 13 | ||||
| -rw-r--r-- | src/Ryujinx.Cpu/Jit/MemoryManagerHostMapped.cs | 13 | ||||
| -rw-r--r-- | src/Ryujinx.Cpu/Tracking/CpuMultiRegionHandle.cs | 28 | ||||
| -rw-r--r-- | src/Ryujinx.Cpu/Tracking/CpuRegionHandle.cs | 37 | ||||
| -rw-r--r-- | src/Ryujinx.Cpu/Tracking/CpuSmartMultiRegionHandle.cs | 26 |
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(); - } -} |
