SPU: Operating system LR memory signals

This commit is contained in:
Elad 2024-12-25 11:35:03 +02:00
parent e135012acd
commit a8bfa6a16c
5 changed files with 366 additions and 36 deletions

View file

@ -166,8 +166,16 @@ s32 sys_ppu_thread_yield(ppu_thread& ppu)
sys_ppu_thread.trace("sys_ppu_thread_yield()");
const s32 success = lv2_obj::yield(ppu) ? CELL_OK : CELL_CANCEL;
if (success == CELL_CANCEL)
{
// Do other work in the meantime
lv2_obj::notify_all();
}
// Return 0 on successful context switch, 1 otherwise
return +!lv2_obj::yield(ppu);
return success;
}
error_code sys_ppu_thread_join(ppu_thread& ppu, u32 thread_id, vm::ptr<u64> vptr)