mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-21 03:55:32 +00:00
sys_memory: add vm::temporary_unlock
This commit is contained in:
parent
d021d9e14a
commit
5753b3222e
1 changed files with 16 additions and 0 deletions
|
@ -18,6 +18,8 @@ lv2_memory_alloca::lv2_memory_alloca(u32 size, u32 align, u64 flags, const std::
|
|||
|
||||
error_code sys_memory_allocate(u32 size, u64 flags, vm::ptr<u32> alloc_addr)
|
||||
{
|
||||
vm::temporary_unlock();
|
||||
|
||||
sys_memory.warning("sys_memory_allocate(size=0x%x, flags=0x%llx, alloc_addr=*0x%x)", size, flags, alloc_addr);
|
||||
|
||||
// Check allocation size
|
||||
|
@ -67,6 +69,8 @@ error_code sys_memory_allocate(u32 size, u64 flags, vm::ptr<u32> alloc_addr)
|
|||
|
||||
error_code sys_memory_allocate_from_container(u32 size, u32 cid, u64 flags, vm::ptr<u32> alloc_addr)
|
||||
{
|
||||
vm::temporary_unlock();
|
||||
|
||||
sys_memory.warning("sys_memory_allocate_from_container(size=0x%x, cid=0x%x, flags=0x%llx, alloc_addr=*0x%x)", size, cid, flags, alloc_addr);
|
||||
|
||||
// Check allocation size
|
||||
|
@ -132,6 +136,8 @@ error_code sys_memory_allocate_from_container(u32 size, u32 cid, u64 flags, vm::
|
|||
|
||||
error_code sys_memory_free(u32 addr)
|
||||
{
|
||||
vm::temporary_unlock();
|
||||
|
||||
sys_memory.warning("sys_memory_free(addr=0x%x)", addr);
|
||||
|
||||
const auto area = vm::get(vm::any, addr);
|
||||
|
@ -190,6 +196,8 @@ error_code sys_memory_free(u32 addr)
|
|||
|
||||
error_code sys_memory_get_page_attribute(u32 addr, vm::ptr<sys_page_attr_t> attr)
|
||||
{
|
||||
vm::temporary_unlock();
|
||||
|
||||
sys_memory.trace("sys_memory_get_page_attribute(addr=0x%x, attr=*0x%x)", addr, attr);
|
||||
|
||||
if (!vm::check_addr(addr))
|
||||
|
@ -223,6 +231,8 @@ error_code sys_memory_get_page_attribute(u32 addr, vm::ptr<sys_page_attr_t> attr
|
|||
|
||||
error_code sys_memory_get_user_memory_size(vm::ptr<sys_memory_info_t> mem_info)
|
||||
{
|
||||
vm::temporary_unlock();
|
||||
|
||||
sys_memory.warning("sys_memory_get_user_memory_size(mem_info=*0x%x)", mem_info);
|
||||
|
||||
// Get "default" memory container
|
||||
|
@ -242,6 +252,8 @@ error_code sys_memory_get_user_memory_size(vm::ptr<sys_memory_info_t> mem_info)
|
|||
|
||||
error_code sys_memory_container_create(vm::ptr<u32> cid, u32 size)
|
||||
{
|
||||
vm::temporary_unlock();
|
||||
|
||||
sys_memory.warning("sys_memory_container_create(cid=*0x%x, size=0x%x)", cid, size);
|
||||
|
||||
// Round down to 1 MB granularity
|
||||
|
@ -268,6 +280,8 @@ error_code sys_memory_container_create(vm::ptr<u32> cid, u32 size)
|
|||
|
||||
error_code sys_memory_container_destroy(u32 cid)
|
||||
{
|
||||
vm::temporary_unlock();
|
||||
|
||||
sys_memory.warning("sys_memory_container_destroy(cid=0x%x)", cid);
|
||||
|
||||
const auto ct = idm::withdraw<lv2_memory_container>(cid, [](lv2_memory_container& ct) -> CellError
|
||||
|
@ -299,6 +313,8 @@ error_code sys_memory_container_destroy(u32 cid)
|
|||
|
||||
error_code sys_memory_container_get_size(vm::ptr<sys_memory_info_t> mem_info, u32 cid)
|
||||
{
|
||||
vm::temporary_unlock();
|
||||
|
||||
sys_memory.warning("sys_memory_container_get_size(mem_info=*0x%x, cid=0x%x)", mem_info, cid);
|
||||
|
||||
const auto ct = idm::get<lv2_memory_container>(cid);
|
||||
|
|
Loading…
Add table
Reference in a new issue