1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-23 03:02:53 +01:00

PPU: free prx segments

This commit is contained in:
Nekotekina 2017-07-05 22:52:02 +03:00
parent 0ee454f44b
commit 74f2be7307
2 changed files with 10 additions and 1 deletions

View File

@ -890,6 +890,14 @@ std::shared_ptr<lv2_prx> ppu_load_prx(const ppu_prx_object& elf, const std::stri
return prx;
}
void ppu_unload_prx(const lv2_prx& prx)
{
for (auto& seg : prx.segs)
{
vm::dealloc(seg.addr, vm::main);
}
}
void ppu_load_exec(const ppu_exec_object& elf)
{
if (g_cfg.core.hook_functions)

View File

@ -12,6 +12,7 @@
namespace vm { using namespace ps3; }
extern std::shared_ptr<lv2_prx> ppu_load_prx(const ppu_prx_object&, const std::string&);
extern void ppu_unload_prx(const lv2_prx& prx);
extern void ppu_initialize(const ppu_module&);
logs::channel sys_prx("sys_prx");
@ -233,7 +234,7 @@ error_code _sys_prx_unload_module(u32 id, u64 flags, vm::ptr<sys_prx_unload_modu
return CELL_ESRCH;
}
//Memory.Free(prx->address);
ppu_unload_prx(*prx);
//s32 result = prx->exit ? prx->exit() : CELL_OK;