SPU fix
This commit is contained in:
@@ -142,6 +142,8 @@ void mfc_thread::cpu_task()
|
|||||||
cmd.size = 0;
|
cmd.size = 0;
|
||||||
no_updates = 0;
|
no_updates = 0;
|
||||||
|
|
||||||
|
vm::reservation_acquire(cmd.eal, 128);
|
||||||
|
|
||||||
// Store unconditionally
|
// Store unconditionally
|
||||||
vm::writer_lock lock(0);
|
vm::writer_lock lock(0);
|
||||||
data = to_write;
|
data = to_write;
|
||||||
|
|||||||
@@ -586,6 +586,8 @@ void SPUThread::process_mfc_cmd()
|
|||||||
auto& data = vm::ps3::_ref<decltype(rdata)>(ch_mfc_cmd.eal);
|
auto& data = vm::ps3::_ref<decltype(rdata)>(ch_mfc_cmd.eal);
|
||||||
const auto to_write = _ref<decltype(rdata)>(ch_mfc_cmd.lsa & 0x3ffff);
|
const auto to_write = _ref<decltype(rdata)>(ch_mfc_cmd.lsa & 0x3ffff);
|
||||||
|
|
||||||
|
vm::reservation_acquire(ch_mfc_cmd.eal, 128);
|
||||||
|
|
||||||
// Store unconditionally
|
// Store unconditionally
|
||||||
// TODO: vm::check_addr
|
// TODO: vm::check_addr
|
||||||
vm::writer_lock lock(0);
|
vm::writer_lock lock(0);
|
||||||
|
|||||||
Reference in New Issue
Block a user