mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-05 06:26:49 +00:00
SPU/PPU reservations: Optimizations for reservation locks and check_state() (non-TSX)
This commit is contained in:
parent
e09c4b72c8
commit
d9750e8f9f
20 changed files with 251 additions and 252 deletions
|
|
@ -13,7 +13,7 @@ template<> DECLARE(ipc_manager<lv2_cond, u64>::g_ipc) {};
|
|||
|
||||
error_code sys_cond_create(ppu_thread& ppu, vm::ptr<u32> cond_id, u32 mutex_id, vm::ptr<sys_cond_attribute_t> attr)
|
||||
{
|
||||
vm::temporary_unlock(ppu);
|
||||
ppu.state += cpu_flag::wait;
|
||||
|
||||
sys_cond.warning("sys_cond_create(cond_id=*0x%x, mutex_id=0x%x, attr=*0x%x)", cond_id, mutex_id, attr);
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ error_code sys_cond_create(ppu_thread& ppu, vm::ptr<u32> cond_id, u32 mutex_id,
|
|||
|
||||
error_code sys_cond_destroy(ppu_thread& ppu, u32 cond_id)
|
||||
{
|
||||
vm::temporary_unlock(ppu);
|
||||
ppu.state += cpu_flag::wait;
|
||||
|
||||
sys_cond.warning("sys_cond_destroy(cond_id=0x%x)", cond_id);
|
||||
|
||||
|
|
@ -78,7 +78,7 @@ error_code sys_cond_destroy(ppu_thread& ppu, u32 cond_id)
|
|||
|
||||
error_code sys_cond_signal(ppu_thread& ppu, u32 cond_id)
|
||||
{
|
||||
vm::temporary_unlock(ppu);
|
||||
ppu.state += cpu_flag::wait;
|
||||
|
||||
sys_cond.trace("sys_cond_signal(cond_id=0x%x)", cond_id);
|
||||
|
||||
|
|
@ -111,7 +111,7 @@ error_code sys_cond_signal(ppu_thread& ppu, u32 cond_id)
|
|||
|
||||
error_code sys_cond_signal_all(ppu_thread& ppu, u32 cond_id)
|
||||
{
|
||||
vm::temporary_unlock(ppu);
|
||||
ppu.state += cpu_flag::wait;
|
||||
|
||||
sys_cond.trace("sys_cond_signal_all(cond_id=0x%x)", cond_id);
|
||||
|
||||
|
|
@ -149,7 +149,7 @@ error_code sys_cond_signal_all(ppu_thread& ppu, u32 cond_id)
|
|||
|
||||
error_code sys_cond_signal_to(ppu_thread& ppu, u32 cond_id, u32 thread_id)
|
||||
{
|
||||
vm::temporary_unlock(ppu);
|
||||
ppu.state += cpu_flag::wait;
|
||||
|
||||
sys_cond.trace("sys_cond_signal_to(cond_id=0x%x, thread_id=0x%x)", cond_id, thread_id);
|
||||
|
||||
|
|
@ -201,7 +201,7 @@ error_code sys_cond_signal_to(ppu_thread& ppu, u32 cond_id, u32 thread_id)
|
|||
|
||||
error_code sys_cond_wait(ppu_thread& ppu, u32 cond_id, u64 timeout)
|
||||
{
|
||||
vm::temporary_unlock(ppu);
|
||||
ppu.state += cpu_flag::wait;
|
||||
|
||||
sys_cond.trace("sys_cond_wait(cond_id=0x%x, timeout=%lld)", cond_id, timeout);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue