summaryrefslogtreecommitdiff
path: root/src/core/hle/svc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/svc.cpp')
-rw-r--r--src/core/hle/svc.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 9130d77ec..17967f260 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -9,6 +9,7 @@
9 9
10#include "core/mem_map.h" 10#include "core/mem_map.h"
11 11
12#include "core/hle/kernel/address_arbiter.h"
12#include "core/hle/kernel/event.h" 13#include "core/hle/kernel/event.h"
13#include "core/hle/kernel/kernel.h" 14#include "core/hle/kernel/kernel.h"
14#include "core/hle/kernel/mutex.h" 15#include "core/hle/kernel/mutex.h"
@@ -175,18 +176,19 @@ Result WaitSynchronizationN(s32* out, Handle* handles, s32 handle_count, bool wa
175} 176}
176 177
177/// Create an address arbiter (to allocate access to shared resources) 178/// Create an address arbiter (to allocate access to shared resources)
178Result CreateAddressArbiter(void* arbiter) { 179Result CreateAddressArbiter(u32* arbiter) {
179 ERROR_LOG(SVC, "(UNIMPLEMENTED) called"); 180 DEBUG_LOG(SVC, "called");
180 Core::g_app_core->SetReg(1, 0xFABBDADD); 181 Handle handle = Kernel::CreateAddressArbiter();
182 *arbiter = handle;
181 return 0; 183 return 0;
182} 184}
183 185
184/// Arbitrate address 186/// Arbitrate address
185Result ArbitrateAddress(Handle arbiter, u32 addr, u32 _type, u32 value, s64 nanoseconds) { 187Result ArbitrateAddress(Handle arbiter, u32 address, u32 type, u32 value, s64 nanoseconds) {
186 ERROR_LOG(SVC, "(UNIMPLEMENTED) called"); 188 DEBUG_LOG(SVC, "called arbiter=0x%08X, address=0x%08X, type=0x%08X, value=0x%08X, "
187 ArbitrationType type = (ArbitrationType)_type; 189 "nanoseconds=%d", arbiter, address, type, value, nanoseconds);
188 Memory::Write32(addr, type); 190 return Kernel::ArbitrateAddress(arbiter, static_cast<Kernel::ArbitrationType>(type), address,
189 return 0; 191 value);
190} 192}
191 193
192/// Used to output a message on a debug hardware unit - does nothing on a retail unit 194/// Used to output a message on a debug hardware unit - does nothing on a retail unit