SPU/PPU reservations: Optimizations for reservation locks and check_state() (non-TSX)

This commit is contained in:
Eladash 2020-06-05 12:36:28 +03:00 committed by Ani
parent e09c4b72c8
commit d9750e8f9f
20 changed files with 251 additions and 252 deletions

View file

@ -201,7 +201,7 @@ std::pair<named_thread<spu_thread>*, std::shared_ptr<lv2_spu_group>> lv2_spu_gro
error_code sys_spu_initialize(ppu_thread& ppu, u32 max_usable_spu, u32 max_raw_spu)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_initialize(max_usable_spu=%d, max_raw_spu=%d)", max_usable_spu, max_raw_spu);
@ -215,7 +215,7 @@ error_code sys_spu_initialize(ppu_thread& ppu, u32 max_usable_spu, u32 max_raw_s
error_code _sys_spu_image_get_information(ppu_thread& ppu, vm::ptr<sys_spu_image> img, vm::ptr<u32> entry_point, vm::ptr<s32> nsegs)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("_sys_spu_image_get_information(img=*0x%x, entry_point=*0x%x, nsegs=*0x%x)", img, entry_point, nsegs);
@ -238,7 +238,7 @@ error_code _sys_spu_image_get_information(ppu_thread& ppu, vm::ptr<sys_spu_image
error_code sys_spu_image_open(ppu_thread& ppu, vm::ptr<sys_spu_image> img, vm::cptr<char> path)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_image_open(img=*0x%x, path=%s)", img, path);
@ -263,7 +263,7 @@ error_code sys_spu_image_open(ppu_thread& ppu, vm::ptr<sys_spu_image> img, vm::c
error_code _sys_spu_image_import(ppu_thread& ppu, vm::ptr<sys_spu_image> img, u32 src, u32 size, u32 arg4)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("_sys_spu_image_import(img=*0x%x, src=*0x%x, size=0x%x, arg4=0x%x)", img, src, size, arg4);
@ -273,7 +273,7 @@ error_code _sys_spu_image_import(ppu_thread& ppu, vm::ptr<sys_spu_image> img, u3
error_code _sys_spu_image_close(ppu_thread& ppu, vm::ptr<sys_spu_image> img)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("_sys_spu_image_close(img=*0x%x)", img);
@ -295,7 +295,7 @@ error_code _sys_spu_image_close(ppu_thread& ppu, vm::ptr<sys_spu_image> img)
error_code _sys_spu_image_get_segments(ppu_thread& ppu, vm::ptr<sys_spu_image> img, vm::ptr<sys_spu_segment> segments, s32 nseg)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.error("_sys_spu_image_get_segments(img=*0x%x, segments=*0x%x, nseg=%d)", img, segments, nseg);
@ -318,7 +318,7 @@ error_code _sys_spu_image_get_segments(ppu_thread& ppu, vm::ptr<sys_spu_image> i
error_code sys_spu_thread_initialize(ppu_thread& ppu, vm::ptr<u32> thread, u32 group_id, u32 spu_num, vm::ptr<sys_spu_image> img, vm::ptr<sys_spu_thread_attribute> attr, vm::ptr<sys_spu_thread_argument> arg)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_initialize(thread=*0x%x, group=0x%x, spu_num=%d, img=*0x%x, attr=*0x%x, arg=*0x%x)", thread, group_id, spu_num, img, attr, arg);
@ -451,7 +451,7 @@ error_code sys_spu_thread_initialize(ppu_thread& ppu, vm::ptr<u32> thread, u32 g
error_code sys_spu_thread_set_argument(ppu_thread& ppu, u32 id, vm::ptr<sys_spu_thread_argument> arg)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_set_argument(id=0x%x, arg=*0x%x)", id, arg);
@ -471,7 +471,7 @@ error_code sys_spu_thread_set_argument(ppu_thread& ppu, u32 id, vm::ptr<sys_spu_
error_code sys_spu_thread_get_exit_status(ppu_thread& ppu, u32 id, vm::ptr<s32> status)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_get_exit_status(id=0x%x, status=*0x%x)", id, status);
@ -495,7 +495,7 @@ error_code sys_spu_thread_get_exit_status(ppu_thread& ppu, u32 id, vm::ptr<s32>
error_code sys_spu_thread_group_create(ppu_thread& ppu, vm::ptr<u32> id, u32 num, s32 prio, vm::ptr<sys_spu_thread_group_attribute> attr)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_group_create(id=*0x%x, num=%d, prio=%d, attr=*0x%x)", id, num, prio, attr);
@ -641,7 +641,7 @@ error_code sys_spu_thread_group_create(ppu_thread& ppu, vm::ptr<u32> id, u32 num
error_code sys_spu_thread_group_destroy(ppu_thread& ppu, u32 id)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_group_destroy(id=0x%x)", id);
@ -691,7 +691,7 @@ error_code sys_spu_thread_group_destroy(ppu_thread& ppu, u32 id)
error_code sys_spu_thread_group_start(ppu_thread& ppu, u32 id)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_spu_thread_group_start(id=0x%x)", id);
@ -763,7 +763,7 @@ error_code sys_spu_thread_group_start(ppu_thread& ppu, u32 id)
error_code sys_spu_thread_group_suspend(ppu_thread& ppu, u32 id)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_spu_thread_group_suspend(id=0x%x)", id);
@ -846,7 +846,7 @@ error_code sys_spu_thread_group_suspend(ppu_thread& ppu, u32 id)
error_code sys_spu_thread_group_resume(ppu_thread& ppu, u32 id)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_spu_thread_group_resume(id=0x%x)", id);
@ -913,7 +913,7 @@ error_code sys_spu_thread_group_resume(ppu_thread& ppu, u32 id)
error_code sys_spu_thread_group_yield(ppu_thread& ppu, u32 id)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_spu_thread_group_yield(id=0x%x)", id);
@ -947,7 +947,7 @@ error_code sys_spu_thread_group_yield(ppu_thread& ppu, u32 id)
error_code sys_spu_thread_group_terminate(ppu_thread& ppu, u32 id, s32 value)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_spu_thread_group_terminate(id=0x%x, value=0x%x)", id, value);
@ -1033,7 +1033,7 @@ error_code sys_spu_thread_group_terminate(ppu_thread& ppu, u32 id, s32 value)
error_code sys_spu_thread_group_join(ppu_thread& ppu, u32 id, vm::ptr<u32> cause, vm::ptr<u32> status)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_spu_thread_group_join(id=0x%x, cause=*0x%x, status=*0x%x)", id, cause, status);
@ -1119,7 +1119,7 @@ error_code sys_spu_thread_group_join(ppu_thread& ppu, u32 id, vm::ptr<u32> cause
error_code sys_spu_thread_group_set_priority(ppu_thread& ppu, u32 id, s32 priority)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_spu_thread_group_set_priority(id=0x%x, priority=%d)", id, priority);
@ -1142,7 +1142,7 @@ error_code sys_spu_thread_group_set_priority(ppu_thread& ppu, u32 id, s32 priori
error_code sys_spu_thread_group_get_priority(ppu_thread& ppu, u32 id, vm::ptr<s32> priority)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_spu_thread_group_get_priority(id=0x%x, priority=*0x%x)", id, priority);
@ -1167,7 +1167,7 @@ error_code sys_spu_thread_group_get_priority(ppu_thread& ppu, u32 id, vm::ptr<s3
error_code sys_spu_thread_group_set_cooperative_victims(ppu_thread& ppu, u32 id, u32 threads_mask)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_group_set_cooperative_victims(id=0x%x, threads_mask=0x%x)", id, threads_mask);
@ -1195,7 +1195,7 @@ error_code sys_spu_thread_group_set_cooperative_victims(ppu_thread& ppu, u32 id,
error_code sys_spu_thread_group_syscall_253(ppu_thread& ppu, u32 id, vm::ptr<sys_spu_thread_group_syscall_253_info> info)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_group_syscall_253(id=0x%x, info=*0x%x)", id, info);
@ -1221,7 +1221,7 @@ error_code sys_spu_thread_group_syscall_253(ppu_thread& ppu, u32 id, vm::ptr<sys
error_code sys_spu_thread_write_ls(ppu_thread& ppu, u32 id, u32 lsa, u64 value, u32 type)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_spu_thread_write_ls(id=0x%x, lsa=0x%05x, value=0x%llx, type=%d)", id, lsa, value, type);
@ -1264,7 +1264,7 @@ error_code sys_spu_thread_write_ls(ppu_thread& ppu, u32 id, u32 lsa, u64 value,
error_code sys_spu_thread_read_ls(ppu_thread& ppu, u32 id, u32 lsa, vm::ptr<u64> value, u32 type)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_spu_thread_read_ls(id=0x%x, lsa=0x%05x, value=*0x%x, type=%d)", id, lsa, value, type);
@ -1307,7 +1307,7 @@ error_code sys_spu_thread_read_ls(ppu_thread& ppu, u32 id, u32 lsa, vm::ptr<u64>
error_code sys_spu_thread_write_spu_mb(ppu_thread& ppu, u32 id, u32 value)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_write_spu_mb(id=0x%x, value=0x%x)", id, value);
@ -1327,7 +1327,7 @@ error_code sys_spu_thread_write_spu_mb(ppu_thread& ppu, u32 id, u32 value)
error_code sys_spu_thread_set_spu_cfg(ppu_thread& ppu, u32 id, u64 value)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_set_spu_cfg(id=0x%x, value=0x%x)", id, value);
@ -1350,7 +1350,7 @@ error_code sys_spu_thread_set_spu_cfg(ppu_thread& ppu, u32 id, u64 value)
error_code sys_spu_thread_get_spu_cfg(ppu_thread& ppu, u32 id, vm::ptr<u64> value)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_get_spu_cfg(id=0x%x, value=*0x%x)", id, value);
@ -1368,7 +1368,7 @@ error_code sys_spu_thread_get_spu_cfg(ppu_thread& ppu, u32 id, vm::ptr<u64> valu
error_code sys_spu_thread_write_snr(ppu_thread& ppu, u32 id, u32 number, u32 value)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_spu_thread_write_snr(id=0x%x, number=%d, value=0x%x)", id, number, value);
@ -1391,7 +1391,7 @@ error_code sys_spu_thread_write_snr(ppu_thread& ppu, u32 id, u32 number, u32 val
error_code sys_spu_thread_group_connect_event(ppu_thread& ppu, u32 id, u32 eq, u32 et)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_group_connect_event(id=0x%x, eq=0x%x, et=%d)", id, eq, et);
@ -1440,7 +1440,7 @@ error_code sys_spu_thread_group_connect_event(ppu_thread& ppu, u32 id, u32 eq, u
error_code sys_spu_thread_group_disconnect_event(ppu_thread& ppu, u32 id, u32 et)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_group_disconnect_event(id=0x%x, et=%d)", id, et);
@ -1476,7 +1476,7 @@ error_code sys_spu_thread_group_disconnect_event(ppu_thread& ppu, u32 id, u32 et
error_code sys_spu_thread_connect_event(ppu_thread& ppu, u32 id, u32 eq, u32 et, u8 spup)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_connect_event(id=0x%x, eq=0x%x, et=%d, spup=%d)", id, eq, et, spup);
@ -1510,7 +1510,7 @@ error_code sys_spu_thread_connect_event(ppu_thread& ppu, u32 id, u32 eq, u32 et,
error_code sys_spu_thread_disconnect_event(ppu_thread& ppu, u32 id, u32 et, u8 spup)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_disconnect_event(id=0x%x, et=%d, spup=%d)", id, et, spup);
@ -1543,7 +1543,7 @@ error_code sys_spu_thread_disconnect_event(ppu_thread& ppu, u32 id, u32 et, u8 s
error_code sys_spu_thread_bind_queue(ppu_thread& ppu, u32 id, u32 spuq, u32 spuq_num)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_bind_queue(id=0x%x, spuq=0x%x, spuq_num=0x%x)", id, spuq, spuq_num);
@ -1597,7 +1597,7 @@ error_code sys_spu_thread_bind_queue(ppu_thread& ppu, u32 id, u32 spuq, u32 spuq
error_code sys_spu_thread_unbind_queue(ppu_thread& ppu, u32 id, u32 spuq_num)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_unbind_queue(id=0x%x, spuq_num=0x%x)", id, spuq_num);
@ -1632,7 +1632,7 @@ error_code sys_spu_thread_unbind_queue(ppu_thread& ppu, u32 id, u32 spuq_num)
error_code sys_spu_thread_group_connect_event_all_threads(ppu_thread& ppu, u32 id, u32 eq, u64 req, vm::ptr<u8> spup)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_group_connect_event_all_threads(id=0x%x, eq=0x%x, req=0x%llx, spup=*0x%x)", id, eq, req, spup);
@ -1711,7 +1711,7 @@ error_code sys_spu_thread_group_connect_event_all_threads(ppu_thread& ppu, u32 i
error_code sys_spu_thread_group_disconnect_event_all_threads(ppu_thread& ppu, u32 id, u8 spup)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_group_disconnect_event_all_threads(id=0x%x, spup=%d)", id, spup);
@ -1742,7 +1742,7 @@ error_code sys_spu_thread_group_disconnect_event_all_threads(ppu_thread& ppu, u3
error_code sys_spu_thread_group_log(ppu_thread& ppu, s32 command, vm::ptr<s32> stat)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_group_log(command=0x%x, stat=*0x%x)", command, stat);
@ -1779,7 +1779,7 @@ error_code sys_spu_thread_group_log(ppu_thread& ppu, s32 command, vm::ptr<s32> s
error_code sys_spu_thread_recover_page_fault(ppu_thread& ppu, u32 id)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_spu_thread_recover_page_fault(id=0x%x)", id);
@ -1795,7 +1795,7 @@ error_code sys_spu_thread_recover_page_fault(ppu_thread& ppu, u32 id)
error_code sys_raw_spu_recover_page_fault(ppu_thread& ppu, u32 id)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_raw_spu_recover_page_fault(id=0x%x)", id);
@ -1811,7 +1811,7 @@ error_code sys_raw_spu_recover_page_fault(ppu_thread& ppu, u32 id)
error_code sys_raw_spu_create(ppu_thread& ppu, vm::ptr<u32> id, vm::ptr<void> attr)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_raw_spu_create(id=*0x%x, attr=*0x%x)", id, attr);
@ -1844,7 +1844,7 @@ error_code sys_raw_spu_create(ppu_thread& ppu, vm::ptr<u32> id, vm::ptr<void> at
error_code sys_isolated_spu_create(ppu_thread& ppu, vm::ptr<u32> id, vm::ptr<void> image, u64 arg1, u64 arg2, u64 arg3, u64 arg4)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.todo("sys_isolated_spu_create(id=*0x%x, image=*0x%x, arg1=0x%llx, arg2=0x%llx, arg3=0x%llx, arg4=0x%llx)", id, image, arg1, arg2, arg3, arg4);
@ -1982,7 +1982,7 @@ error_code raw_spu_destroy(ppu_thread& ppu, u32 id)
error_code sys_raw_spu_destroy(ppu_thread& ppu, u32 id)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_raw_spu_destroy(id=%d)", id);
@ -1991,7 +1991,7 @@ error_code sys_raw_spu_destroy(ppu_thread& ppu, u32 id)
error_code sys_isolated_spu_destroy(ppu_thread& ppu, u32 id)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.todo("sys_isolated_spu_destroy(id=%d)", id);
@ -2044,7 +2044,7 @@ error_code raw_spu_create_interrupt_tag(u32 id, u32 class_id, u32 hwthread, vm::
error_code sys_raw_spu_create_interrupt_tag(ppu_thread& ppu, u32 id, u32 class_id, u32 hwthread, vm::ptr<u32> intrtag)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.warning("sys_raw_spu_create_interrupt_tag(id=%d, class_id=%d, hwthread=0x%x, intrtag=*0x%x)", id, class_id, hwthread, intrtag);
@ -2053,7 +2053,7 @@ error_code sys_raw_spu_create_interrupt_tag(ppu_thread& ppu, u32 id, u32 class_i
error_code sys_isolated_spu_create_interrupt_tag(ppu_thread& ppu, u32 id, u32 class_id, u32 hwthread, vm::ptr<u32> intrtag)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.todo("sys_isolated_spu_create_interrupt_tag(id=%d, class_id=%d, hwthread=0x%x, intrtag=*0x%x)", id, class_id, hwthread, intrtag);
@ -2082,7 +2082,7 @@ error_code raw_spu_set_int_mask(u32 id, u32 class_id, u64 mask)
error_code sys_raw_spu_set_int_mask(ppu_thread& ppu, u32 id, u32 class_id, u64 mask)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_raw_spu_set_int_mask(id=%d, class_id=%d, mask=0x%llx)", id, class_id, mask);
@ -2092,7 +2092,7 @@ error_code sys_raw_spu_set_int_mask(ppu_thread& ppu, u32 id, u32 class_id, u64 m
error_code sys_isolated_spu_set_int_mask(ppu_thread& ppu, u32 id, u32 class_id, u64 mask)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.todo("sys_isolated_spu_set_int_mask(id=%d, class_id=%d, mask=0x%llx)", id, class_id, mask);
@ -2121,7 +2121,7 @@ error_code raw_spu_set_int_stat(u32 id, u32 class_id, u64 stat)
error_code sys_raw_spu_set_int_stat(ppu_thread& ppu, u32 id, u32 class_id, u64 stat)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_raw_spu_set_int_stat(id=%d, class_id=%d, stat=0x%llx)", id, class_id, stat);
@ -2130,7 +2130,7 @@ error_code sys_raw_spu_set_int_stat(ppu_thread& ppu, u32 id, u32 class_id, u64 s
error_code sys_isolated_spu_set_int_stat(ppu_thread& ppu, u32 id, u32 class_id, u64 stat)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.todo("sys_isolated_spu_set_int_stat(id=%d, class_id=%d, stat=0x%llx)", id, class_id, stat);
@ -2159,7 +2159,7 @@ error_code raw_spu_get_int_control(u32 id, u32 class_id, vm::ptr<u64> value, ato
error_code sys_raw_spu_get_int_mask(ppu_thread& ppu, u32 id, u32 class_id, vm::ptr<u64> mask)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_raw_spu_get_int_mask(id=%d, class_id=%d, mask=*0x%x)", id, class_id, mask);
@ -2168,7 +2168,7 @@ error_code sys_raw_spu_get_int_mask(ppu_thread& ppu, u32 id, u32 class_id, vm::p
error_code sys_isolated_spu_get_int_mask(ppu_thread& ppu, u32 id, u32 class_id, vm::ptr<u64> mask)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_isolated_spu_get_int_mask(id=%d, class_id=%d, mask=*0x%x)", id, class_id, mask);
@ -2177,7 +2177,7 @@ error_code sys_isolated_spu_get_int_mask(ppu_thread& ppu, u32 id, u32 class_id,
error_code sys_raw_spu_get_int_stat(ppu_thread& ppu, u32 id, u32 class_id, vm::ptr<u64> stat)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_raw_spu_get_int_stat(id=%d, class_id=%d, stat=*0x%x)", id, class_id, stat);
@ -2186,7 +2186,7 @@ error_code sys_raw_spu_get_int_stat(ppu_thread& ppu, u32 id, u32 class_id, vm::p
error_code sys_isolated_spu_get_int_stat(ppu_thread& ppu, u32 id, u32 class_id, vm::ptr<u64> stat)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.todo("sys_isolated_spu_get_int_stat(id=%d, class_id=%d, stat=*0x%x)", id, class_id, stat);
@ -2210,7 +2210,7 @@ error_code raw_spu_read_puint_mb(u32 id, vm::ptr<u32> value)
error_code sys_raw_spu_read_puint_mb(ppu_thread& ppu, u32 id, vm::ptr<u32> value)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_raw_spu_read_puint_mb(id=%d, value=*0x%x)", id, value);
@ -2219,7 +2219,7 @@ error_code sys_raw_spu_read_puint_mb(ppu_thread& ppu, u32 id, vm::ptr<u32> value
error_code sys_isolated_spu_read_puint_mb(ppu_thread& ppu, u32 id, vm::ptr<u32> value)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.todo("sys_isolated_spu_read_puint_mb(id=%d, value=*0x%x)", id, value);
@ -2248,7 +2248,7 @@ error_code raw_spu_set_spu_cfg(u32 id, u32 value)
error_code sys_raw_spu_set_spu_cfg(ppu_thread& ppu, u32 id, u32 value)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_raw_spu_set_spu_cfg(id=%d, value=0x%x)", id, value);
@ -2257,7 +2257,7 @@ error_code sys_raw_spu_set_spu_cfg(ppu_thread& ppu, u32 id, u32 value)
error_code sys_isolated_spu_set_spu_cfg(ppu_thread& ppu, u32 id, u32 value)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.todo("sys_isolated_spu_set_spu_cfg(id=%d, value=0x%x)", id, value);
@ -2281,7 +2281,7 @@ error_code raw_spu_get_spu_cfg(u32 id, vm::ptr<u32> value)
error_code sys_raw_spu_get_spu_cfg(ppu_thread& ppu, u32 id, vm::ptr<u32> value)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.trace("sys_raw_spu_get_spu_afg(id=%d, value=*0x%x)", id, value);
@ -2290,7 +2290,7 @@ error_code sys_raw_spu_get_spu_cfg(ppu_thread& ppu, u32 id, vm::ptr<u32> value)
error_code sys_isolated_spu_get_spu_cfg(ppu_thread& ppu, u32 id, vm::ptr<u32> value)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.todo("sys_isolated_spu_get_spu_afg(id=%d, value=*0x%x)", id, value);
@ -2299,7 +2299,7 @@ error_code sys_isolated_spu_get_spu_cfg(ppu_thread& ppu, u32 id, vm::ptr<u32> va
error_code sys_isolated_spu_start(ppu_thread& ppu, u32 id)
{
vm::temporary_unlock(ppu);
ppu.state += cpu_flag::wait;
sys_spu.todo("sys_isolated_spu_start(id=%d)", id);