vm: add extern clear_range_locks function

Allows to wait for range locks to clear for specified range.
vm::range_lock now monitors specified reservation lock as well.
This commit is contained in:
Nekotekina 2020-10-30 07:58:16 +03:00
parent 0da24f21d6
commit 3419d15878
4 changed files with 32 additions and 15 deletions

View file

@ -1807,6 +1807,9 @@ static bool ppu_store_reservation(ppu_thread& ppu, u32 addr, u64 reg_value)
// Align address: we do not need the lower 7 bits anymore
addr &= -128;
// Wait for range locks to clear
vm::clear_range_locks(addr, 128);
// Cache line data
auto& cline_data = vm::_ref<spu_rdata_t>(addr);