summaryrefslogtreecommitdiff
path: root/src/core/hle/svc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/svc.cpp')
-rw-r--r--src/core/hle/svc.cpp28
1 files changed, 11 insertions, 17 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 9da6c0adf..0401f763b 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -110,28 +110,22 @@ static ResultCode QueryProcessMemory(MemoryInfo* memory_info, PageInfo* /*page_i
110 Kernel::Handle process_handle, u64 addr) { 110 Kernel::Handle process_handle, u64 addr) {
111 using Kernel::Process; 111 using Kernel::Process;
112 Kernel::SharedPtr<Process> process = Kernel::g_handle_table.Get<Process>(process_handle); 112 Kernel::SharedPtr<Process> process = Kernel::g_handle_table.Get<Process>(process_handle);
113 if (process == nullptr) 113 if (process == nullptr) {
114 return ERR_INVALID_HANDLE; 114 return ERR_INVALID_HANDLE;
115 115 }
116 auto vma = process->vm_manager.FindVMA(addr); 116 auto vma = process->vm_manager.FindVMA(addr);
117 117 memory_info->attributes = 0;
118 if (vma == Kernel::g_current_process->vm_manager.vma_map.end()) 118 if (vma == Kernel::g_current_process->vm_manager.vma_map.end()) {
119 {
120 //return Kernel::ERR_INVALID_ADDRESS;
121
122 memory_info->base_address = 0; 119 memory_info->base_address = 0;
123 memory_info->permission = static_cast<u64>(Kernel::VMAPermission::None); 120 memory_info->permission = static_cast<u32>(Kernel::VMAPermission::None);
124 memory_info->size = 0; 121 memory_info->size = 0;
125 memory_info->state = static_cast<u64>(Kernel::MemoryState::Free); 122 memory_info->type = static_cast<u32>(Kernel::MemoryState::Free);
126 123 } else {
127 return RESULT_SUCCESS; 124 memory_info->base_address = vma->second.base;
125 memory_info->permission = static_cast<u32>(vma->second.permissions);
126 memory_info->size = vma->second.size;
127 memory_info->type = static_cast<u32>(vma->second.meminfo_state);
128 } 128 }
129
130 memory_info->base_address = vma->second.base;
131 memory_info->permission = static_cast<u64>(vma->second.permissions);
132 memory_info->size = vma->second.size;
133 memory_info->state = static_cast<u64>(vma->second.meminfo_state);
134
135 LOG_TRACE(Kernel_SVC, "called process=0x%08X addr=%llx", process_handle, addr); 129 LOG_TRACE(Kernel_SVC, "called process=0x%08X addr=%llx", process_handle, addr);
136 return RESULT_SUCCESS; 130 return RESULT_SUCCESS;
137} 131}