aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Kernel/Memory/KMemoryBlock.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2020-07-17 01:19:07 -0300
committerGitHub <noreply@github.com>2020-07-17 14:19:07 +1000
commit9f6b24edfddf871320290463437b3f3cb7e29006 (patch)
tree4b8b45db5fe931ac37f843778c58a2d676fe3fba /Ryujinx.HLE/HOS/Kernel/Memory/KMemoryBlock.cs
parent46f8cef6a9e4a305803f1356446e25ce54909130 (diff)
Improve kernel IPC related syscalls (#1379)
* Implement session count decrement when the handle is closed * Remove unused field * Implement SendSyncRequestWithUserBuffer, SendAsyncRequestWithUserBuffer and ReplyAndReceiveWithUserBuffer syscalls * Nits * Fix swapped copy dst/src * Add missing pointer buffer descriptor write on reply * Fix IPC unaligned buffer copy and restoring client attributes on reply * Oops * Fix SetIpcMappingPermission * Fix unaligned copy bugs * Free memory used for temporary IPC buffers
Diffstat (limited to 'Ryujinx.HLE/HOS/Kernel/Memory/KMemoryBlock.cs')
-rw-r--r--Ryujinx.HLE/HOS/Kernel/Memory/KMemoryBlock.cs6
1 files changed, 3 insertions, 3 deletions
diff --git a/Ryujinx.HLE/HOS/Kernel/Memory/KMemoryBlock.cs b/Ryujinx.HLE/HOS/Kernel/Memory/KMemoryBlock.cs
index b7c2b309..04e14e1b 100644
--- a/Ryujinx.HLE/HOS/Kernel/Memory/KMemoryBlock.cs
+++ b/Ryujinx.HLE/HOS/Kernel/Memory/KMemoryBlock.cs
@@ -41,7 +41,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
Attribute |= attribute;
}
- public void SetIpcMappingPermission(MemoryPermission permission)
+ public void SetIpcMappingPermission(MemoryPermission newPermission)
{
int oldIpcRefCount = IpcRefCount++;
@@ -52,10 +52,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
if (oldIpcRefCount == 0)
{
- SourcePermission = permission;
+ SourcePermission = Permission;
Permission &= ~MemoryPermission.ReadAndWrite;
- Permission |= MemoryPermission.ReadAndWrite & permission;
+ Permission |= MemoryPermission.ReadAndWrite & newPermission;
}
Attribute |= MemoryAttribute.IpcMapped;