summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/svc.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-12-12 17:34:01 +0100
committerLioncash <mathew1800@gmail.com>2018-12-12 21:07:30 +0100
commita8cc03502b41b44150af71535d2b662a7ee3390c (patch)
tree71084e1b71b5fd705143bbceb44c46e49f63cac2 /src/core/hle/kernel/svc.cpp
parentvm_manager: Migrate MemoryInfo and PageInfo to vm_manager.h (diff)
downloadyuzu-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.cpp20
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;
}