summaryrefslogtreecommitdiffstats
path: root/src/core/hle/svc.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2017-10-20 05:00:46 +0200
committerbunnei <bunneidev@gmail.com>2017-10-20 05:00:46 +0200
commitdcd6bb82f7a5bc1daaa8570f710ffb062fa4c596 (patch)
tree95f6a5d5f816a9c8a6367889dd4d551deb625eb0 /src/core/hle/svc.cpp
parentlm: Implement lm::Initialize and Logger::log. (diff)
downloadyuzu-dcd6bb82f7a5bc1daaa8570f710ffb062fa4c596.tar
yuzu-dcd6bb82f7a5bc1daaa8570f710ffb062fa4c596.tar.gz
yuzu-dcd6bb82f7a5bc1daaa8570f710ffb062fa4c596.tar.bz2
yuzu-dcd6bb82f7a5bc1daaa8570f710ffb062fa4c596.tar.lz
yuzu-dcd6bb82f7a5bc1daaa8570f710ffb062fa4c596.tar.xz
yuzu-dcd6bb82f7a5bc1daaa8570f710ffb062fa4c596.tar.zst
yuzu-dcd6bb82f7a5bc1daaa8570f710ffb062fa4c596.zip
Diffstat (limited to '')
-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
Kernel::Handle process_handle, u64 addr) {
using Kernel::Process;
Kernel::SharedPtr<Process> process = Kernel::g_handle_table.Get<Process>(process_handle);
- if (process == nullptr)
+ if (process == nullptr) {
return ERR_INVALID_HANDLE;
-
+ }
auto vma = process->vm_manager.FindVMA(addr);
-
- if (vma == Kernel::g_current_process->vm_manager.vma_map.end())
- {
- //return Kernel::ERR_INVALID_ADDRESS;
-
+ memory_info->attributes = 0;
+ if (vma == Kernel::g_current_process->vm_manager.vma_map.end()) {
memory_info->base_address = 0;
- memory_info->permission = static_cast<u64>(Kernel::VMAPermission::None);
+ memory_info->permission = static_cast<u32>(Kernel::VMAPermission::None);
memory_info->size = 0;
- memory_info->state = static_cast<u64>(Kernel::MemoryState::Free);
-
- return RESULT_SUCCESS;
+ memory_info->type = static_cast<u32>(Kernel::MemoryState::Free);
+ } else {
+ 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 = static_cast<u32>(vma->second.meminfo_state);
}
-
- memory_info->base_address = vma->second.base;
- memory_info->permission = static_cast<u64>(vma->second.permissions);
- memory_info->size = vma->second.size;
- memory_info->state = static_cast<u64>(vma->second.meminfo_state);
-
LOG_TRACE(Kernel_SVC, "called process=0x%08X addr=%llx", process_handle, addr);
return RESULT_SUCCESS;
}