diff options
| author | 2018-02-03 13:36:54 -0500 | |
|---|---|---|
| committer | 2018-02-03 13:36:54 -0500 | |
| commit | 647364db8fa7792b640a035d410feb12e3fde848 (patch) | |
| tree | 0fafe09f290bbb8872aaa0c2817e006c1acfe337 /src/core/hle/kernel/svc.cpp | |
| parent | ArbitrateLock: Assert that requesting_thread is current_thread. (diff) | |
| download | yuzu-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.cpp | 16 |
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 | ||
| 742 | static ResultCode CreateSharedMemory(Handle* handle, u64 sz, u32 local_permissions, | 741 | static 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; |