diff options
author | Michael Scire <SciresM@gmail.com> | 2018-06-21 13:13:06 +0200 |
---|---|---|
committer | Michael Scire <SciresM@gmail.com> | 2018-06-21 13:13:06 +0200 |
commit | 8f8fe62a19060a7c4529c4e0870412e9cd97e841 (patch) | |
tree | 709de4b3bbe9f5e5c3370d07cba9004e7ddafac4 /src/core | |
parent | Kernel/Arbiters: Clear WaitAddress in SignalToAddress (diff) | |
download | yuzu-8f8fe62a19060a7c4529c4e0870412e9cd97e841.tar yuzu-8f8fe62a19060a7c4529c4e0870412e9cd97e841.tar.gz yuzu-8f8fe62a19060a7c4529c4e0870412e9cd97e841.tar.bz2 yuzu-8f8fe62a19060a7c4529c4e0870412e9cd97e841.tar.lz yuzu-8f8fe62a19060a7c4529c4e0870412e9cd97e841.tar.xz yuzu-8f8fe62a19060a7c4529c4e0870412e9cd97e841.tar.zst yuzu-8f8fe62a19060a7c4529c4e0870412e9cd97e841.zip |
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/core/hle/kernel/svc.cpp | 4 | ||||
-rw-r--r-- | src/core/hle/kernel/thread.h | 2 |
3 files changed, 7 insertions, 1 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index ba5b02174..051eda98d 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -40,6 +40,8 @@ add_library(core STATIC hle/config_mem.h hle/ipc.h hle/ipc_helpers.h + hle/kernel/address_arbiter.cpp + hle/kernel/address_arbiter.h hle/kernel/client_port.cpp hle/kernel/client_port.h hle/kernel/client_session.cpp diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 24dd50938..2d8fa6070 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -692,6 +692,8 @@ static ResultCode SignalProcessWideKey(VAddr condition_variable_addr, s32 target // Wait for an address (via Address Arbiter) static ResultCode WaitForAddress(VAddr address, u32 type, s32 value, s64 timeout) { + NGLOG_WARNING(Kernel_SVC, "called, address=0x{:X}, type=0x{:X}, value=0x{:X}, timeout={}", + address, type, value, timeout); // If the passed address is a kernel virtual address, return invalid memory state. if ((address + 0x8000000000LL) < 0x7FFFE00000LL) { return ERR_INVALID_ADDRESS_STATE; @@ -715,6 +717,8 @@ static ResultCode WaitForAddress(VAddr address, u32 type, s32 value, s64 timeout // Signals to an address (via Address Arbiter) static ResultCode SignalToAddress(VAddr address, u32 type, s32 value, s32 num_to_wake) { + NGLOG_WARNING(Kernel_SVC, "called, address=0x{:X}, type=0x{:X}, value=0x{:X}, num_to_wake=0x{:X}", + address, type, value, num_to_wake); // If the passed address is a kernel virtual address, return invalid memory state. if ((address + 0x8000000000LL) < 0x7FFFE00000LL) { return ERR_INVALID_ADDRESS_STATE; diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h index 0a76bd222..7a28f3c1c 100644 --- a/src/core/hle/kernel/thread.h +++ b/src/core/hle/kernel/thread.h @@ -232,7 +232,7 @@ public: Handle wait_handle; ///< The handle used to wait for the mutex. // If waiting for an AddressArbiter, this is the address being waited on. - VAddr arb_wait_address; + VAddr arb_wait_address{0}; ResultCode arb_wait_result{RESULT_SUCCESS}; ///< Result returned when done waiting on AddressArbiter. std::string name; |