From c393cdf8e3775bc95850e4d8c8e4c446b286d3b4 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Wed, 15 Aug 2018 15:59:51 -0300 Subject: More flexible memory manager (#307) * Keep track mapped buffers with fixed offsets * Started rewriting the memory manager * Initial support for MapPhysicalMemory and UnmapPhysicalMemory, other tweaks * MapPhysicalMemory/UnmapPhysicalMemory support, other tweaks * Rebased * Optimize the map/unmap physical memory svcs * Integrate shared font support * Fix address space reserve alignment * Some fixes related to gpu memory mapping * Some cleanup * Only try uploading const buffers that are really used * Check if memory region is contiguous * Rebased * Add missing count increment on IsRegionModified * Check for reads/writes outside of the address space, optimize translation with a tail call --- ChocolArm64/Exceptions/VmmAccessViolationException.cs | 14 -------------- ChocolArm64/Exceptions/VmmOutOfMemoryException.cs | 8 ++++---- 2 files changed, 4 insertions(+), 18 deletions(-) delete mode 100644 ChocolArm64/Exceptions/VmmAccessViolationException.cs (limited to 'ChocolArm64/Exceptions') diff --git a/ChocolArm64/Exceptions/VmmAccessViolationException.cs b/ChocolArm64/Exceptions/VmmAccessViolationException.cs deleted file mode 100644 index a557502e..00000000 --- a/ChocolArm64/Exceptions/VmmAccessViolationException.cs +++ /dev/null @@ -1,14 +0,0 @@ -using ChocolArm64.Memory; -using System; - -namespace ChocolArm64.Exceptions -{ - public class VmmAccessViolationException : Exception - { - private const string ExMsg = "Address 0x{0:x16} does not have \"{1}\" permission!"; - - public VmmAccessViolationException() { } - - public VmmAccessViolationException(long Position, AMemoryPerm Perm) : base(string.Format(ExMsg, Position, Perm)) { } - } -} \ No newline at end of file diff --git a/ChocolArm64/Exceptions/VmmOutOfMemoryException.cs b/ChocolArm64/Exceptions/VmmOutOfMemoryException.cs index c11384da..4a03b65c 100644 --- a/ChocolArm64/Exceptions/VmmOutOfMemoryException.cs +++ b/ChocolArm64/Exceptions/VmmOutOfMemoryException.cs @@ -2,12 +2,12 @@ using System; namespace ChocolArm64.Exceptions { - public class VmmOutOfMemoryException : Exception + public class VmmAccessException : Exception { - private const string ExMsg = "Failed to allocate {0} bytes of memory!"; + private const string ExMsg = "Memory region at 0x{0} with size 0x{1} is not contiguous!"; - public VmmOutOfMemoryException() { } + public VmmAccessException() { } - public VmmOutOfMemoryException(long Size) : base(string.Format(ExMsg, Size)) { } + public VmmAccessException(long Position, long Size) : base(string.Format(ExMsg, Position, Size)) { } } } \ No newline at end of file -- cgit v1.2.3