summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/svc.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2018-02-03 13:36:54 -0500
committerGravatar bunnei2018-02-03 13:36:54 -0500
commit647364db8fa7792b640a035d410feb12e3fde848 (patch)
tree0fafe09f290bbb8872aaa0c2817e006c1acfe337 /src/core/hle/kernel/svc.cpp
parentArbitrateLock: Assert that requesting_thread is current_thread. (diff)
downloadyuzu-647364db8fa7792b640a035d410feb12e3fde848.tar.gz
yuzu-647364db8fa7792b640a035d410feb12e3fde848.tar.xz
yuzu-647364db8fa7792b640a035d410feb12e3fde848.zip
svc: SharedMemory size should be 64-bits and cleanup.
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
-rw-r--r--src/core/hle/kernel/svc.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index f516927cd..4e395ed31 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -416,8 +416,7 @@ static ResultCode MapSharedMemory(Handle shared_memory_handle, VAddr addr, u64 s
416 "called, shared_memory_handle=0x%08X, addr=0x%llx, size=0x%llx, permissions=0x%08X", 416 "called, shared_memory_handle=0x%08X, addr=0x%llx, size=0x%llx, permissions=0x%08X",
417 shared_memory_handle, addr, size, permissions); 417 shared_memory_handle, addr, size, permissions);
418 418
419 SharedPtr<SharedMemory> shared_memory = 419 SharedPtr<SharedMemory> shared_memory = g_handle_table.Get<SharedMemory>(shared_memory_handle);
420 Kernel::g_handle_table.Get<SharedMemory>(shared_memory_handle);
421 if (!shared_memory) { 420 if (!shared_memory) {
422 return ERR_INVALID_HANDLE; 421 return ERR_INVALID_HANDLE;
423 } 422 }
@@ -432,7 +431,7 @@ static ResultCode MapSharedMemory(Handle shared_memory_handle, VAddr addr, u64 s
432 case MemoryPermission::WriteExecute: 431 case MemoryPermission::WriteExecute:
433 case MemoryPermission::ReadWriteExecute: 432 case MemoryPermission::ReadWriteExecute:
434 case MemoryPermission::DontCare: 433 case MemoryPermission::DontCare:
435 return shared_memory->Map(Kernel::g_current_process.get(), addr, permissions_type, 434 return shared_memory->Map(g_current_process.get(), addr, permissions_type,
436 MemoryPermission::DontCare); 435 MemoryPermission::DontCare);
437 default: 436 default:
438 LOG_ERROR(Kernel_SVC, "unknown permissions=0x%08X", permissions); 437 LOG_ERROR(Kernel_SVC, "unknown permissions=0x%08X", permissions);
@@ -739,13 +738,14 @@ static ResultCode SetThreadCoreMask(u64, u64, u64) {
739 return RESULT_SUCCESS; 738 return RESULT_SUCCESS;
740} 739}
741 740
742static ResultCode CreateSharedMemory(Handle* handle, u64 sz, u32 local_permissions, 741static ResultCode CreateSharedMemory(Handle* handle, u64 size, u32 local_permissions,
743 u32 remote_permissions) { 742 u32 remote_permissions) {
744 LOG_TRACE(Kernel_SVC, "called, sz=0x%llx, localPerms=0x%08x, remotePerms=0x%08x", sz, 743 LOG_TRACE(Kernel_SVC, "called, size=0x%llx, localPerms=0x%08x, remotePerms=0x%08x", size,
745 local_permissions, remote_permissions); 744 local_permissions, remote_permissions);
746 auto sharedMemHandle = SharedMemory::Create( 745 auto sharedMemHandle =
747 g_handle_table.Get<Process>(KernelHandle::CurrentProcess), sz, 746 SharedMemory::Create(g_handle_table.Get<Process>(KernelHandle::CurrentProcess), size,
748 (Kernel::MemoryPermission)local_permissions, (Kernel::MemoryPermission)remote_permissions); 747 static_cast<MemoryPermission>(local_permissions),
748 static_cast<MemoryPermission>(remote_permissions));
749 749
750 CASCADE_RESULT(*handle, g_handle_table.Create(sharedMemHandle)); 750 CASCADE_RESULT(*handle, g_handle_table.Create(sharedMemHandle));
751 return RESULT_SUCCESS; 751 return RESULT_SUCCESS;