From 3f08e8d8d4ef16cf2468620fbfbdac46e43dcaef Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Tue, 26 Nov 2019 15:19:15 -0500
Subject: core/memory: Migrate over GetPointer()

With all of the interfaces ready for migration, it's trivial to migrate
over GetPointer().
---
 src/core/memory.cpp | 38 +++++++++++++++++++++++---------------
 1 file changed, 23 insertions(+), 15 deletions(-)

(limited to 'src/core/memory.cpp')

diff --git a/src/core/memory.cpp b/src/core/memory.cpp
index 0170336139..93cd67e39a 100644
--- a/src/core/memory.cpp
+++ b/src/core/memory.cpp
@@ -195,6 +195,21 @@ struct Memory::Impl {
         return IsValidVirtualAddress(*system.CurrentProcess(), vaddr);
     }
 
+    u8* GetPointer(const VAddr vaddr) {
+        u8* const page_pointer = current_page_table->pointers[vaddr >> PAGE_BITS];
+        if (page_pointer != nullptr) {
+            return page_pointer + (vaddr & PAGE_MASK);
+        }
+
+        if (current_page_table->attributes[vaddr >> PAGE_BITS] ==
+            Common::PageType::RasterizerCachedMemory) {
+            return GetPointerFromVMA(vaddr);
+        }
+
+        LOG_ERROR(HW_Memory, "Unknown GetPointer @ 0x{:016X}", vaddr);
+        return nullptr;
+    }
+
     /**
      * Maps a region of pages as a specific type.
      *
@@ -276,6 +291,14 @@ bool Memory::IsValidVirtualAddress(const VAddr vaddr) const {
     return impl->IsValidVirtualAddress(vaddr);
 }
 
+u8* Memory::GetPointer(VAddr vaddr) {
+    return impl->GetPointer(vaddr);
+}
+
+const u8* Memory::GetPointer(VAddr vaddr) const {
+    return impl->GetPointer(vaddr);
+}
+
 void SetCurrentPageTable(Kernel::Process& process) {
     current_page_table = &process.VMManager().page_table;
 
@@ -292,21 +315,6 @@ bool IsKernelVirtualAddress(const VAddr vaddr) {
     return KERNEL_REGION_VADDR <= vaddr && vaddr < KERNEL_REGION_END;
 }
 
-u8* GetPointer(const VAddr vaddr) {
-    u8* page_pointer = current_page_table->pointers[vaddr >> PAGE_BITS];
-    if (page_pointer) {
-        return page_pointer + (vaddr & PAGE_MASK);
-    }
-
-    if (current_page_table->attributes[vaddr >> PAGE_BITS] ==
-        Common::PageType::RasterizerCachedMemory) {
-        return GetPointerFromVMA(vaddr);
-    }
-
-    LOG_ERROR(HW_Memory, "Unknown GetPointer @ 0x{:016X}", vaddr);
-    return nullptr;
-}
-
 std::string ReadCString(VAddr vaddr, std::size_t max_length) {
     std::string string;
     string.reserve(max_length);
-- 
cgit v1.2.3-70-g09d2