diff options
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/svc/svc_lock.cpp | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/core/hle/kernel/svc/svc_lock.cpp b/src/core/hle/kernel/svc/svc_lock.cpp index 45f2a6553..f3d3e140b 100644 --- a/src/core/hle/kernel/svc/svc_lock.cpp +++ b/src/core/hle/kernel/svc/svc_lock.cpp @@ -24,11 +24,7 @@ Result ArbitrateLock(Core::System& system, Handle thread_handle, VAddr address, return ResultInvalidAddress; } - return system.Kernel().CurrentProcess()->WaitForAddress(thread_handle, address, tag); -} - -Result ArbitrateLock32(Core::System& system, Handle thread_handle, u32 address, u32 tag) { - return ArbitrateLock(system, thread_handle, address, tag); + return GetCurrentProcess(system.Kernel()).WaitForAddress(thread_handle, address, tag); } /// Unlock a mutex @@ -47,11 +43,24 @@ Result ArbitrateUnlock(Core::System& system, VAddr address) { return ResultInvalidAddress; } - return system.Kernel().CurrentProcess()->SignalToAddress(address); + return GetCurrentProcess(system.Kernel()).SignalToAddress(address); +} + +Result ArbitrateLock64(Core::System& system, Handle thread_handle, uint64_t address, uint32_t tag) { + R_RETURN(ArbitrateLock(system, thread_handle, address, tag)); +} + +Result ArbitrateUnlock64(Core::System& system, uint64_t address) { + R_RETURN(ArbitrateUnlock(system, address)); +} + +Result ArbitrateLock64From32(Core::System& system, Handle thread_handle, uint32_t address, + uint32_t tag) { + R_RETURN(ArbitrateLock(system, thread_handle, address, tag)); } -Result ArbitrateUnlock32(Core::System& system, u32 address) { - return ArbitrateUnlock(system, address); +Result ArbitrateUnlock64From32(Core::System& system, uint32_t address) { + R_RETURN(ArbitrateUnlock(system, address)); } } // namespace Kernel::Svc |