diff options
author | Lioncash <mathew1800@gmail.com> | 2018-12-12 17:34:01 +0100 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2018-12-12 21:07:30 +0100 |
commit | a8cc03502b41b44150af71535d2b662a7ee3390c (patch) | |
tree | 71084e1b71b5fd705143bbceb44c46e49f63cac2 /src/core/hle/kernel/svc.cpp | |
parent | vm_manager: Migrate MemoryInfo and PageInfo to vm_manager.h (diff) | |
download | yuzu-a8cc03502b41b44150af71535d2b662a7ee3390c.tar yuzu-a8cc03502b41b44150af71535d2b662a7ee3390c.tar.gz yuzu-a8cc03502b41b44150af71535d2b662a7ee3390c.tar.bz2 yuzu-a8cc03502b41b44150af71535d2b662a7ee3390c.tar.lz yuzu-a8cc03502b41b44150af71535d2b662a7ee3390c.tar.xz yuzu-a8cc03502b41b44150af71535d2b662a7ee3390c.tar.zst yuzu-a8cc03502b41b44150af71535d2b662a7ee3390c.zip |
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
-rw-r--r-- | src/core/hle/kernel/svc.cpp | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 4ae92ff9e..8b079bc40 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -1068,8 +1068,8 @@ static ResultCode UnmapSharedMemory(Handle shared_memory_handle, VAddr addr, u64 /// Query process memory static ResultCode QueryProcessMemory(MemoryInfo* memory_info, PageInfo* /*page_info*/, - Handle process_handle, u64 addr) { - LOG_TRACE(Kernel_SVC, "called process=0x{:08X} addr={:X}", process_handle, addr); + Handle process_handle, u64 address) { + LOG_TRACE(Kernel_SVC, "called process=0x{:08X} address={:X}", process_handle, address); const auto& handle_table = Core::CurrentProcess()->GetHandleTable(); SharedPtr<Process> process = handle_table.Get<Process>(process_handle); if (!process) { @@ -1079,21 +1079,9 @@ static ResultCode QueryProcessMemory(MemoryInfo* memory_info, PageInfo* /*page_i } const auto& vm_manager = process->VMManager(); - const auto vma = vm_manager.FindVMA(addr); - - memory_info->attributes = 0; - if (vm_manager.IsValidHandle(vma)) { - memory_info->base_address = vma->second.base; - memory_info->permission = static_cast<u32>(vma->second.permissions); - memory_info->size = vma->second.size; - memory_info->type = ToSvcMemoryState(vma->second.meminfo_state); - } else { - memory_info->base_address = 0; - memory_info->permission = static_cast<u32>(VMAPermission::None); - memory_info->size = 0; - memory_info->type = static_cast<u32>(MemoryState::Unmapped); - } + const auto result = vm_manager.QueryMemory(address); + *memory_info = result; return RESULT_SUCCESS; } |