aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Memory.Tests/MockVirtualMemoryManager.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2023-01-17 01:13:24 -0300
committerGitHub <noreply@github.com>2023-01-17 05:13:24 +0100
commit86fd0643c26433362a25acceb4fa1fcee07dd0b2 (patch)
tree8d12fb6b0629c195a0a3c1014f46cfe8f22cd3e6 /Ryujinx.Memory.Tests/MockVirtualMemoryManager.cs
parent43a83a401ea8101bf6d001fe6fe188e1c106245e (diff)
Implement support for page sizes > 4KB (#4252)1.1.568
* Implement support for page sizes > 4KB * Check and work around more alignment issues * Was not meant to change this * Use MemoryBlock.GetPageSize() value for signal handler code * Do not take the path for private allocations if host supports 4KB pages * Add Flags attribute on MemoryMapFlags * Fix dirty region size with 16kb pages Would accidentally report a size that was too high (generally 16k instead of 4k, uploading 4x as much data) Co-authored-by: riperiperi <rhy3756547@hotmail.com>
Diffstat (limited to 'Ryujinx.Memory.Tests/MockVirtualMemoryManager.cs')
-rw-r--r--Ryujinx.Memory.Tests/MockVirtualMemoryManager.cs14
1 files changed, 13 insertions, 1 deletions
diff --git a/Ryujinx.Memory.Tests/MockVirtualMemoryManager.cs b/Ryujinx.Memory.Tests/MockVirtualMemoryManager.cs
index 6c442282..06eb4729 100644
--- a/Ryujinx.Memory.Tests/MockVirtualMemoryManager.cs
+++ b/Ryujinx.Memory.Tests/MockVirtualMemoryManager.cs
@@ -6,6 +6,8 @@ namespace Ryujinx.Memory.Tests
{
public class MockVirtualMemoryManager : IVirtualMemoryManager
{
+ public bool Supports4KBPages => true;
+
public bool NoMappings = false;
public event Action<ulong, ulong, MemoryPermission> OnProtect;
@@ -14,7 +16,12 @@ namespace Ryujinx.Memory.Tests
{
}
- public void Map(ulong va, ulong pa, ulong size)
+ public void Map(ulong va, ulong pa, ulong size, MemoryMapFlags flags)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void MapForeign(ulong va, nuint hostAddress, ulong size)
{
throw new NotImplementedException();
}
@@ -64,6 +71,11 @@ namespace Ryujinx.Memory.Tests
throw new NotImplementedException();
}
+ IEnumerable<HostMemoryRange> IVirtualMemoryManager.GetHostRegions(ulong va, ulong size)
+ {
+ throw new NotImplementedException();
+ }
+
IEnumerable<MemoryRange> IVirtualMemoryManager.GetPhysicalRegions(ulong va, ulong size)
{
return NoMappings ? new MemoryRange[0] : new MemoryRange[] { new MemoryRange(va, size) };