summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
diff options
context:
space:
mode:
authorGravatar Lioncash2019-11-26 13:09:12 -0500
committerGravatar Lioncash2019-11-26 21:53:34 -0500
commit323680e5ad3ca0e27f2dd1de26816741b3243bed (patch)
treeac7a9e683831493f0f14c8b9566c0d570807ad62 /src/core/hle/kernel
parentcore/memory: Introduce skeleton of Memory class (diff)
downloadyuzu-323680e5ad3ca0e27f2dd1de26816741b3243bed.tar.gz
yuzu-323680e5ad3ca0e27f2dd1de26816741b3243bed.tar.xz
yuzu-323680e5ad3ca0e27f2dd1de26816741b3243bed.zip
core/memory: Migrate over memory mapping functions to the new Memory class
Migrates all of the direct mapping facilities over to the new memory class. In the process, this also obsoletes the need for memory_setup.h, so we can remove it entirely from the project.
Diffstat (limited to 'src/core/hle/kernel')
-rw-r--r--src/core/hle/kernel/vm_manager.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/core/hle/kernel/vm_manager.cpp b/src/core/hle/kernel/vm_manager.cpp
index e6eee09d7..a9a20ef76 100644
--- a/src/core/hle/kernel/vm_manager.cpp
+++ b/src/core/hle/kernel/vm_manager.cpp
@@ -16,7 +16,6 @@
16#include "core/hle/kernel/resource_limit.h" 16#include "core/hle/kernel/resource_limit.h"
17#include "core/hle/kernel/vm_manager.h" 17#include "core/hle/kernel/vm_manager.h"
18#include "core/memory.h" 18#include "core/memory.h"
19#include "core/memory_setup.h"
20 19
21namespace Kernel { 20namespace Kernel {
22namespace { 21namespace {
@@ -786,19 +785,21 @@ void VMManager::MergeAdjacentVMA(VirtualMemoryArea& left, const VirtualMemoryAre
786} 785}
787 786
788void VMManager::UpdatePageTableForVMA(const VirtualMemoryArea& vma) { 787void VMManager::UpdatePageTableForVMA(const VirtualMemoryArea& vma) {
788 auto& memory = system.Memory();
789
789 switch (vma.type) { 790 switch (vma.type) {
790 case VMAType::Free: 791 case VMAType::Free:
791 Memory::UnmapRegion(page_table, vma.base, vma.size); 792 memory.UnmapRegion(page_table, vma.base, vma.size);
792 break; 793 break;
793 case VMAType::AllocatedMemoryBlock: 794 case VMAType::AllocatedMemoryBlock:
794 Memory::MapMemoryRegion(page_table, vma.base, vma.size, 795 memory.MapMemoryRegion(page_table, vma.base, vma.size,
795 vma.backing_block->data() + vma.offset); 796 vma.backing_block->data() + vma.offset);
796 break; 797 break;
797 case VMAType::BackingMemory: 798 case VMAType::BackingMemory:
798 Memory::MapMemoryRegion(page_table, vma.base, vma.size, vma.backing_memory); 799 memory.MapMemoryRegion(page_table, vma.base, vma.size, vma.backing_memory);
799 break; 800 break;
800 case VMAType::MMIO: 801 case VMAType::MMIO:
801 Memory::MapIoRegion(page_table, vma.base, vma.size, vma.mmio_handler); 802 memory.MapIoRegion(page_table, vma.base, vma.size, vma.mmio_handler);
802 break; 803 break;
803 } 804 }
804} 805}