From dcb78cc640631052a30fe203fa8f22fc407820b3 Mon Sep 17 00:00:00 2001 From: Ben Vanik Date: Mon, 25 May 2015 21:20:38 -0700 Subject: [PATCH] Pretty sure I have mtmsrd wrong. This likely isn't correct. --- src/xenia/cpu/frontend/ppc_frontend.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/xenia/cpu/frontend/ppc_frontend.cc b/src/xenia/cpu/frontend/ppc_frontend.cc index 990da1b76..36b02e62d 100644 --- a/src/xenia/cpu/frontend/ppc_frontend.cc +++ b/src/xenia/cpu/frontend/ppc_frontend.cc @@ -65,11 +65,13 @@ void HandleGlobalLock(PPCContext* ppc_state, void* arg0, void* arg1) { volatile bool* global_lock_taken = reinterpret_cast(arg1); uint64_t value = ppc_state->scratch; if (value == 0x8000) { - global_lock->unlock(); + global_lock->lock(); *global_lock_taken = false; + global_lock->unlock(); } else if (value == ppc_state->r[13]) { global_lock->lock(); *global_lock_taken = true; + global_lock->unlock(); } }