summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
diff options
context:
space:
mode:
authorGravatar MerryMage2018-01-27 15:16:39 +0000
committerGravatar MerryMage2018-01-27 15:16:39 +0000
commit738f91a57da7c129d1ee85b7abbf6858f8669ee3 (patch)
tree3ef164d8e79c0aea6ab72dc9b8fa78877a82338a /src/core/hle/kernel
parentexternals: Update dynarmic (diff)
downloadyuzu-738f91a57da7c129d1ee85b7abbf6858f8669ee3.tar.gz
yuzu-738f91a57da7c129d1ee85b7abbf6858f8669ee3.tar.xz
yuzu-738f91a57da7c129d1ee85b7abbf6858f8669ee3.zip
memory: Replace all memory hooking with Special regions
Diffstat (limited to 'src/core/hle/kernel')
-rw-r--r--src/core/hle/kernel/vm_manager.cpp6
-rw-r--r--src/core/hle/kernel/vm_manager.h6
2 files changed, 6 insertions, 6 deletions
diff --git a/src/core/hle/kernel/vm_manager.cpp b/src/core/hle/kernel/vm_manager.cpp
index 93662a45e..6da77eb58 100644
--- a/src/core/hle/kernel/vm_manager.cpp
+++ b/src/core/hle/kernel/vm_manager.cpp
@@ -10,8 +10,8 @@
10#include "core/hle/kernel/errors.h" 10#include "core/hle/kernel/errors.h"
11#include "core/hle/kernel/vm_manager.h" 11#include "core/hle/kernel/vm_manager.h"
12#include "core/memory.h" 12#include "core/memory.h"
13#include "core/memory_hook.h"
13#include "core/memory_setup.h" 14#include "core/memory_setup.h"
14#include "core/mmio.h"
15 15
16namespace Kernel { 16namespace Kernel {
17 17
@@ -60,8 +60,8 @@ void VMManager::Reset() {
60 vma_map.emplace(initial_vma.base, initial_vma); 60 vma_map.emplace(initial_vma.base, initial_vma);
61 61
62 page_table.pointers.fill(nullptr); 62 page_table.pointers.fill(nullptr);
63 page_table.special_regions.clear();
63 page_table.attributes.fill(Memory::PageType::Unmapped); 64 page_table.attributes.fill(Memory::PageType::Unmapped);
64 page_table.cached_res_count.fill(0);
65 65
66 UpdatePageTableForVMA(initial_vma); 66 UpdatePageTableForVMA(initial_vma);
67} 67}
@@ -121,7 +121,7 @@ ResultVal<VMManager::VMAHandle> VMManager::MapBackingMemory(VAddr target, u8* me
121 121
122ResultVal<VMManager::VMAHandle> VMManager::MapMMIO(VAddr target, PAddr paddr, u64 size, 122ResultVal<VMManager::VMAHandle> VMManager::MapMMIO(VAddr target, PAddr paddr, u64 size,
123 MemoryState state, 123 MemoryState state,
124 Memory::MMIORegionPointer mmio_handler) { 124 Memory::MemoryHookPointer mmio_handler) {
125 // This is the appropriately sized VMA that will turn into our allocation. 125 // This is the appropriately sized VMA that will turn into our allocation.
126 CASCADE_RESULT(VMAIter vma_handle, CarveVMA(target, size)); 126 CASCADE_RESULT(VMAIter vma_handle, CarveVMA(target, size));
127 VirtualMemoryArea& final_vma = vma_handle->second; 127 VirtualMemoryArea& final_vma = vma_handle->second;
diff --git a/src/core/hle/kernel/vm_manager.h b/src/core/hle/kernel/vm_manager.h
index b17385c7c..8de704a60 100644
--- a/src/core/hle/kernel/vm_manager.h
+++ b/src/core/hle/kernel/vm_manager.h
@@ -10,7 +10,7 @@
10#include "common/common_types.h" 10#include "common/common_types.h"
11#include "core/hle/result.h" 11#include "core/hle/result.h"
12#include "core/memory.h" 12#include "core/memory.h"
13#include "core/mmio.h" 13#include "core/memory_hook.h"
14 14
15namespace Kernel { 15namespace Kernel {
16 16
@@ -81,7 +81,7 @@ struct VirtualMemoryArea {
81 // Settings for type = MMIO 81 // Settings for type = MMIO
82 /// Physical address of the register area this VMA maps to. 82 /// Physical address of the register area this VMA maps to.
83 PAddr paddr = 0; 83 PAddr paddr = 0;
84 Memory::MMIORegionPointer mmio_handler = nullptr; 84 Memory::MemoryHookPointer mmio_handler = nullptr;
85 85
86 /// Tests if this area can be merged to the right with `next`. 86 /// Tests if this area can be merged to the right with `next`.
87 bool CanBeMergedWith(const VirtualMemoryArea& next) const; 87 bool CanBeMergedWith(const VirtualMemoryArea& next) const;
@@ -160,7 +160,7 @@ public:
160 * @param mmio_handler The handler that will implement read and write for this MMIO region. 160 * @param mmio_handler The handler that will implement read and write for this MMIO region.
161 */ 161 */
162 ResultVal<VMAHandle> MapMMIO(VAddr target, PAddr paddr, u64 size, MemoryState state, 162 ResultVal<VMAHandle> MapMMIO(VAddr target, PAddr paddr, u64 size, MemoryState state,
163 Memory::MMIORegionPointer mmio_handler); 163 Memory::MemoryHookPointer mmio_handler);
164 164
165 /// Unmaps a range of addresses, splitting VMAs as necessary. 165 /// Unmaps a range of addresses, splitting VMAs as necessary.
166 ResultCode UnmapRange(VAddr target, u64 size); 166 ResultCode UnmapRange(VAddr target, u64 size);