diff options
Diffstat (limited to 'src/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs')
-rw-r--r-- | src/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs b/src/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs index 56a329e0..01c685d4 100644 --- a/src/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs +++ b/src/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs @@ -32,7 +32,7 @@ namespace Ryujinx.Cpu.AppleHv MappedReplicated = 0x5555555555555555, WriteTrackedReplicated = 0xaaaaaaaaaaaaaaaa, - ReadWriteTrackedReplicated = ulong.MaxValue + ReadWriteTrackedReplicated = ulong.MaxValue, } private readonly InvalidAccessHandler _invalidAccessHandler; @@ -126,6 +126,7 @@ namespace Ryujinx.Cpu.AppleHv } } +#pragma warning disable IDE0051 // Remove unused private member /// <summary> /// Ensures the combination of virtual address and size is part of the addressable space and fully mapped. /// </summary> @@ -138,6 +139,7 @@ namespace Ryujinx.Cpu.AppleHv throw new InvalidMemoryRegionException($"Not mapped: va=0x{va:X16}, size=0x{size:X16}"); } } +#pragma warning restore IDE0051 /// <inheritdoc/> public void Map(ulong va, ulong pa, ulong size, MemoryMapFlags flags) @@ -306,7 +308,7 @@ namespace Ryujinx.Cpu.AppleHv size = Math.Min(data.Length, PageSize - (int)(va & PageMask)); - data.Slice(0, size).CopyTo(_backingMemory.GetSpan(pa, size)); + data[..size].CopyTo(_backingMemory.GetSpan(pa, size)); offset += size; } @@ -428,7 +430,7 @@ namespace Ryujinx.Cpu.AppleHv } [MethodImpl(MethodImplOptions.AggressiveInlining)] - private void GetPageBlockRange(ulong pageStart, ulong pageEnd, out ulong startMask, out ulong endMask, out int pageIndex, out int pageEndIndex) + private static void GetPageBlockRange(ulong pageStart, ulong pageEnd, out ulong startMask, out ulong endMask, out int pageIndex, out int pageEndIndex) { startMask = ulong.MaxValue << ((int)(pageStart & 31) << 1); endMask = ulong.MaxValue >> (64 - ((int)(pageEnd & 31) << 1)); @@ -606,7 +608,7 @@ namespace Ryujinx.Cpu.AppleHv size = Math.Min(data.Length, PageSize - (int)(va & PageMask)); - _backingMemory.GetSpan(pa, size).CopyTo(data.Slice(0, size)); + _backingMemory.GetSpan(pa, size).CopyTo(data[..size]); offset += size; } @@ -723,7 +725,7 @@ namespace Ryujinx.Cpu.AppleHv /// <param name="startVa">The virtual address of the beginning of the first page</param> /// <remarks>This function does not differentiate between allocated and unallocated pages.</remarks> [MethodImpl(MethodImplOptions.AggressiveInlining)] - private int GetPagesCount(ulong va, ulong size, out ulong startVa) + private static int GetPagesCount(ulong va, ulong size, out ulong startVa) { // WARNING: Always check if ulong does not overflow during the operations. startVa = va & ~(ulong)PageMask; @@ -814,7 +816,7 @@ namespace Ryujinx.Cpu.AppleHv { MemoryPermission.None => MemoryPermission.ReadAndWrite, MemoryPermission.Write => MemoryPermission.Read, - _ => MemoryPermission.None + _ => MemoryPermission.None, }; _addressSpace.ReprotectUser(va, size, protection); @@ -943,4 +945,4 @@ namespace Ryujinx.Cpu.AppleHv private static void ThrowInvalidMemoryRegionException(string message) => throw new InvalidMemoryRegionException(message); } -}
\ No newline at end of file +} |