mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-05 14:37:08 +00:00
Exitspawn support renewal
Implemented _sys_process_exit2 syscall Rewritten sys_game_process_exitspawn Rewritten sys_game_process_exitspawn2 Implemented _sys_process_atexitspawn Implemented _sys_process_at_Exitspawn And some other changes
This commit is contained in:
parent
18d472b7e1
commit
519f21db18
15 changed files with 285 additions and 198 deletions
|
|
@ -13,6 +13,7 @@ extern logs::channel sysPrxForUser;
|
|||
|
||||
vm::gvar<sys_lwmutex_t> g_ppu_atexit_lwm;
|
||||
vm::gvar<vm::ptr<void()>[8]> g_ppu_atexit;
|
||||
vm::gvar<u32> g_ppu_exit_mutex; // sys_process_exit2 mutex
|
||||
vm::gvar<u32> g_ppu_once_mutex;
|
||||
vm::gvar<sys_lwmutex_t> g_ppu_prx_lwm;
|
||||
|
||||
|
|
@ -112,6 +113,10 @@ void sys_initialize_tls(ppu_thread& ppu, u64 main_thread_id, u32 tls_seg_addr, u
|
|||
attr->name_u64 = "_lv2ppu\0"_u64;
|
||||
sys_mutex_create(g_ppu_once_mutex, attr);
|
||||
|
||||
attr->recursive = SYS_SYNC_RECURSIVE;
|
||||
attr->name_u64 = "_lv2tls\0"_u64;
|
||||
sys_mutex_create(g_ppu_exit_mutex, attr);
|
||||
|
||||
lwa->protocol = SYS_SYNC_PRIORITY;
|
||||
lwa->recursive = SYS_SYNC_RECURSIVE;
|
||||
lwa->name_u64 = "_lv2prx\0"_u64;
|
||||
|
|
@ -270,6 +275,7 @@ void sysPrxForUser_sys_ppu_thread_init()
|
|||
REG_VAR(sysPrxForUser, g_ppu_once_mutex).flag(MFF_HIDDEN);
|
||||
REG_VAR(sysPrxForUser, g_ppu_atexit).flag(MFF_HIDDEN);
|
||||
REG_VAR(sysPrxForUser, g_ppu_prx_lwm).flag(MFF_HIDDEN);
|
||||
REG_VAR(sysPrxForUser, g_ppu_exit_mutex).flag(MFF_HIDDEN);
|
||||
|
||||
REG_FUNC(sysPrxForUser, sys_initialize_tls).args = {"main_thread_id", "tls_seg_addr", "tls_seg_size", "tls_mem_size"}; // Test
|
||||
REG_FUNC(sysPrxForUser, sys_ppu_thread_create);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue