mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-08-21 01:41:13 +00:00
PPU: free prx segments
This commit is contained in:
parent
0ee454f44b
commit
74f2be7307
2 changed files with 10 additions and 1 deletions
|
@ -890,6 +890,14 @@ std::shared_ptr<lv2_prx> ppu_load_prx(const ppu_prx_object& elf, const std::stri
|
||||||
return prx;
|
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)
|
void ppu_load_exec(const ppu_exec_object& elf)
|
||||||
{
|
{
|
||||||
if (g_cfg.core.hook_functions)
|
if (g_cfg.core.hook_functions)
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
namespace vm { using namespace ps3; }
|
namespace vm { using namespace ps3; }
|
||||||
|
|
||||||
extern std::shared_ptr<lv2_prx> ppu_load_prx(const ppu_prx_object&, const std::string&);
|
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&);
|
extern void ppu_initialize(const ppu_module&);
|
||||||
|
|
||||||
logs::channel sys_prx("sys_prx");
|
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;
|
return CELL_ESRCH;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Memory.Free(prx->address);
|
ppu_unload_prx(*prx);
|
||||||
|
|
||||||
//s32 result = prx->exit ? prx->exit() : CELL_OK;
|
//s32 result = prx->exit ? prx->exit() : CELL_OK;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue