From 326749498bed4360e5a4b11fc67d5ec7cb9a3076 Mon Sep 17 00:00:00 2001 From: TSRBerry <20988865+TSRBerry@users.noreply.github.com> Date: Sun, 16 Jul 2023 19:31:14 +0200 Subject: [Ryujinx.HLE] Address dotnet-format issues (#5380) * dotnet format style --severity info Some changes were manually reverted. * dotnet format analyzers --serverity info Some changes have been minimally adapted. * Restore a few unused methods and variables * Silence dotnet format IDE0060 warnings * Silence dotnet format IDE0052 warnings * Address or silence dotnet format IDE1006 warnings * Address dotnet format CA1816 warnings * Address or silence dotnet format CA2208 warnings * Address or silence dotnet format CA1806 and a few CA1854 warnings * Address dotnet format CA2211 warnings * Address dotnet format CA1822 warnings * Address or silence dotnet format CA1069 warnings * Make dotnet format succeed in style mode * Address or silence dotnet format CA2211 warnings * Address review comments * Address dotnet format CA2208 warnings properly * Make ProcessResult readonly * Address most dotnet format whitespace warnings * Apply dotnet format whitespace formatting A few of them have been manually reverted and the corresponding warning was silenced * Add previously silenced warnings back I have no clue how these disappeared * Revert formatting changes for while and for-loops * Format if-blocks correctly * Run dotnet format style after rebase * Run dotnet format whitespace after rebase * Run dotnet format style after rebase * Run dotnet format analyzers after rebase * Run dotnet format after rebase and remove unused usings - analyzers - style - whitespace * Disable 'prefer switch expression' rule * Add comments to disabled warnings * Fix a few disabled warnings * Fix naming rule violation, Convert shader properties to auto-property and convert values to const * Simplify properties and array initialization, Use const when possible, Remove trailing commas * Start working on disabled warnings * Fix and silence a few dotnet-format warnings again * Run dotnet format after rebase * Use using declaration instead of block syntax * Address IDE0251 warnings * Address a few disabled IDE0060 warnings * Silence IDE0060 in .editorconfig * Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas" This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e. * dotnet format whitespace after rebase * First dotnet format pass * Fix naming rule violations * Fix typo * Add trailing commas, use targeted new and use array initializer * Fix build issues * Fix remaining build issues * Remove SuppressMessage for CA1069 where possible * Address dotnet format issues * Address formatting issues Co-authored-by: Ac_K * Add GetHashCode implementation for RenderingSurfaceInfo * Explicitly silence CA1822 for every affected method in Syscall * Address formatting issues in Demangler.cs * Address review feedback Co-authored-by: Ac_K * Revert marking service methods as static * Next dotnet format pass * Address review feedback --------- Co-authored-by: Ac_K --- .../HOS/Kernel/Memory/KPageTableBase.cs | 90 ++++++++++++---------- 1 file changed, 50 insertions(+), 40 deletions(-) (limited to 'src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs') diff --git a/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs b/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs index 6746a0a7..2b00f802 100644 --- a/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs +++ b/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs @@ -12,14 +12,13 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory { abstract class KPageTableBase { - private static readonly int[] MappingUnitSizes = new int[] - { + private static readonly int[] _mappingUnitSizes = { 0x1000, 0x10000, 0x200000, 0x400000, 0x2000000, - 0x40000000 + 0x40000000, }; private const ulong RegionAlignment = 0x200000; @@ -58,7 +57,9 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory public ulong AslrRegionStart { get; private set; } public ulong AslrRegionEnd { get; private set; } +#pragma warning disable IDE0052 // Remove unread private member private ulong _heapCapacity; +#pragma warning restore IDE0052 public ulong PhysicalMemoryUsage { get; private set; } @@ -67,7 +68,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory private MemoryRegion _memRegion; private bool _allocateFromBack; - private bool _isKernel; + private readonly bool _isKernel; private bool _aslrEnabled; @@ -77,10 +78,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory private MersenneTwister _randomNumberGenerator; - private MemoryFillValue _heapFillValue; - private MemoryFillValue _ipcFillValue; + private readonly MemoryFillValue _heapFillValue; + private readonly MemoryFillValue _ipcFillValue; - private ulong _reservedAddressSpaceSize; + private readonly ulong _reservedAddressSpaceSize; public KPageTableBase(KernelContext context, ulong reservedAddressSpaceSize) { @@ -96,7 +97,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory _reservedAddressSpaceSize = reservedAddressSpaceSize; } - private static readonly int[] AddrSpaceSizes = new int[] { 32, 36, 32, 39 }; + private static readonly int[] _addrSpaceSizes = { 32, 36, 32, 39 }; public Result InitializeForProcess( AddressSpaceType addrSpaceType, @@ -109,13 +110,13 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory { if ((uint)addrSpaceType > (uint)AddressSpaceType.Addr39Bits) { - throw new ArgumentException(nameof(addrSpaceType)); + throw new ArgumentException($"AddressSpaceType bigger than {(uint)AddressSpaceType.Addr39Bits}: {(uint)addrSpaceType}", nameof(addrSpaceType)); } _contextId = Context.ContextIdManager.GetId(); ulong addrSpaceBase = 0; - ulong addrSpaceSize = 1UL << AddrSpaceSizes[(int)addrSpaceType]; + ulong addrSpaceSize = 1UL << _addrSpaceSizes[(int)addrSpaceType]; Result result = CreateUserAddressSpace( addrSpaceType, @@ -157,10 +158,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory { ulong endAddr = address + size; - Region aliasRegion = new Region(); - Region heapRegion = new Region(); - Region stackRegion = new Region(); - Region tlsIoRegion = new Region(); + Region aliasRegion = new(); + Region heapRegion = new(); + Region stackRegion = new(); + Region tlsIoRegion = new(); ulong codeRegionSize; ulong stackAndTlsIoStart; @@ -238,8 +239,8 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory stackAndTlsIoEnd = 0; } break; - - default: throw new ArgumentException(nameof(addrSpaceType)); + default: + throw new ArgumentException($"AddressSpaceType bigger than {(uint)AddressSpaceType.Addr39Bits}: {(uint)addrSpaceType}", nameof(addrSpaceType)); } CodeRegionEnd = CodeRegionStart + codeRegionSize; @@ -374,10 +375,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory private long GetRandomValue(long min, long max) { - if (_randomNumberGenerator == null) - { - _randomNumberGenerator = new MersenneTwister(0); - } + _randomNumberGenerator ??= new MersenneTwister(0); return _randomNumberGenerator.GenRandomNumber(min, max); } @@ -442,7 +440,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory lock (_blockManager) { - KPageList currentPageList = new KPageList(); + KPageList currentPageList = new(); GetPhysicalRegions(address, size, currentPageList); @@ -486,13 +484,13 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory } } - public Result MapNormalMemory(long address, long size, KMemoryPermission permission) + public static Result MapNormalMemory(long address, long size, KMemoryPermission permission) { // TODO. return Result.Success; } - public Result MapIoMemory(long address, long size, KMemoryPermission permission) + public static Result MapIoMemory(long address, long size, KMemoryPermission permission) { // TODO. return Result.Success; @@ -1174,8 +1172,8 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory return KernelResult.InvalidMemState; } - KPageList srcPageList = new KPageList(); - KPageList dstPageList = new KPageList(); + KPageList srcPageList = new(); + KPageList dstPageList = new(); srcPageTable.GetPhysicalRegions(src, size, srcPageList); GetPhysicalRegions(dst, size, dstPageList); @@ -1681,11 +1679,17 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory switch (state) { - case MemoryState.IpcBuffer0: stateMask = MemoryState.IpcSendAllowedType0; break; - case MemoryState.IpcBuffer1: stateMask = MemoryState.IpcSendAllowedType1; break; - case MemoryState.IpcBuffer3: stateMask = MemoryState.IpcSendAllowedType3; break; - - default: return KernelResult.InvalidCombination; + case MemoryState.IpcBuffer0: + stateMask = MemoryState.IpcSendAllowedType0; + break; + case MemoryState.IpcBuffer1: + stateMask = MemoryState.IpcSendAllowedType1; + break; + case MemoryState.IpcBuffer3: + stateMask = MemoryState.IpcSendAllowedType3; + break; + default: + return KernelResult.InvalidCombination; } KMemoryPermission permissionMask = permission == KMemoryPermission.ReadAndWrite @@ -1822,9 +1826,9 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory ulong va = 0; - for (int unit = MappingUnitSizes.Length - 1; unit >= 0 && va == 0; unit--) + for (int unit = _mappingUnitSizes.Length - 1; unit >= 0 && va == 0; unit--) { - int alignment = MappingUnitSizes[unit]; + int alignment = _mappingUnitSizes[unit]; va = AllocateVa(AliasRegionStart, regionPagesCount, neededPagesCount, alignment); } @@ -1937,7 +1941,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory if (srcPageTable.Supports4KBPages) { - KPageList pageList = new KPageList(); + KPageList pageList = new(); srcPageTable.GetPhysicalRegions(addressRounded, alignedSize, pageList); result = MapPages(currentVa, pageList, permission, MemoryMapFlags.None); @@ -2075,11 +2079,17 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory switch (state) { - case MemoryState.IpcBuffer0: stateMask = MemoryState.IpcSendAllowedType0; break; - case MemoryState.IpcBuffer1: stateMask = MemoryState.IpcSendAllowedType1; break; - case MemoryState.IpcBuffer3: stateMask = MemoryState.IpcSendAllowedType3; break; - - default: return KernelResult.InvalidCombination; + case MemoryState.IpcBuffer0: + stateMask = MemoryState.IpcSendAllowedType0; + break; + case MemoryState.IpcBuffer1: + stateMask = MemoryState.IpcSendAllowedType1; + break; + case MemoryState.IpcBuffer3: + stateMask = MemoryState.IpcSendAllowedType3; + break; + default: + return KernelResult.InvalidCombination; } MemoryAttribute attributeMask = @@ -2392,7 +2402,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory if (pageList != null) { - KPageList currentPageList = new KPageList(); + KPageList currentPageList = new(); GetPhysicalRegions(address, pagesCount * PageSize, currentPageList); @@ -3050,4 +3060,4 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory /// Throw for unhandled invalid or unmapped memory accesses protected abstract void Write(ulong va, ReadOnlySpan data); } -} \ No newline at end of file +} -- cgit v1.2.3