diff --git a/rpcs3/Emu/Cell/Modules/sys_ppu_thread_.cpp b/rpcs3/Emu/Cell/Modules/sys_ppu_thread_.cpp index 87d099d986..eef79a9c0e 100644 --- a/rpcs3/Emu/Cell/Modules/sys_ppu_thread_.cpp +++ b/rpcs3/Emu/Cell/Modules/sys_ppu_thread_.cpp @@ -174,14 +174,8 @@ void sys_ppu_thread_exit(ppu_thread& ppu, u64 val) // Deallocate TLS ppu_free_tls(vm::cast(ppu.gpr[13], HERE) - 0x7030); - if (ppu.gpr[3] == val) - { - // Change sys_ppu_thread_exit code to the syscall code (hack) - ppu.gpr[11] = 41; - } - // Call the syscall - return _sys_ppu_thread_exit(ppu, val); + _sys_ppu_thread_exit(ppu, val); } error_code sys_ppu_thread_register_atexit(ppu_thread& ppu, vm::ptr func) diff --git a/rpcs3/Emu/Cell/lv2/sys_interrupt.cpp b/rpcs3/Emu/Cell/lv2/sys_interrupt.cpp index fafeedb8b2..756aedb55f 100644 --- a/rpcs3/Emu/Cell/lv2/sys_interrupt.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_interrupt.cpp @@ -149,10 +149,4 @@ void sys_interrupt_thread_eoi(ppu_thread& ppu) sys_interrupt.trace("sys_interrupt_thread_eoi()"); ppu.state += cpu_flag::ret; - - // Throw if this syscall was not called directly by the SC instruction (hack) - if (ppu.lr == 0 || ppu.gpr[11] != 88) - { - throw cpu_flag::ret; - } } diff --git a/rpcs3/Emu/Cell/lv2/sys_ppu_thread.cpp b/rpcs3/Emu/Cell/lv2/sys_ppu_thread.cpp index ce8bbfc011..02d7829d9c 100644 --- a/rpcs3/Emu/Cell/lv2/sys_ppu_thread.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_ppu_thread.cpp @@ -55,12 +55,6 @@ void _sys_ppu_thread_exit(ppu_thread& ppu, u64 errorcode) // Remove suspend state (TODO) ppu.state -= cpu_flag::suspend; - - // Throw if this syscall was not called directly by the SC instruction (hack) - if (ppu.lr == 0 || ppu.gpr[11] != 41) - { - throw cpu_flag::exit; - } } void sys_ppu_thread_yield(ppu_thread& ppu)