diff options
Diffstat (limited to 'src/core/memory.cpp')
| -rw-r--r-- | src/core/memory.cpp | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/src/core/memory.cpp b/src/core/memory.cpp index f209c4949..11609682a 100644 --- a/src/core/memory.cpp +++ b/src/core/memory.cpp | |||
| @@ -44,27 +44,12 @@ struct Memory::Impl { | |||
| 44 | MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, target, Common::PageType::Memory); | 44 | MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, target, Common::PageType::Memory); |
| 45 | } | 45 | } |
| 46 | 46 | ||
| 47 | void MapIoRegion(Common::PageTable& page_table, VAddr base, u64 size, | ||
| 48 | Common::MemoryHookPointer mmio_handler) { | ||
| 49 | UNIMPLEMENTED(); | ||
| 50 | } | ||
| 51 | |||
| 52 | void UnmapRegion(Common::PageTable& page_table, VAddr base, u64 size) { | 47 | void UnmapRegion(Common::PageTable& page_table, VAddr base, u64 size) { |
| 53 | ASSERT_MSG((size & PAGE_MASK) == 0, "non-page aligned size: {:016X}", size); | 48 | ASSERT_MSG((size & PAGE_MASK) == 0, "non-page aligned size: {:016X}", size); |
| 54 | ASSERT_MSG((base & PAGE_MASK) == 0, "non-page aligned base: {:016X}", base); | 49 | ASSERT_MSG((base & PAGE_MASK) == 0, "non-page aligned base: {:016X}", base); |
| 55 | MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, 0, Common::PageType::Unmapped); | 50 | MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, 0, Common::PageType::Unmapped); |
| 56 | } | 51 | } |
| 57 | 52 | ||
| 58 | void AddDebugHook(Common::PageTable& page_table, VAddr base, u64 size, | ||
| 59 | Common::MemoryHookPointer hook) { | ||
| 60 | UNIMPLEMENTED(); | ||
| 61 | } | ||
| 62 | |||
| 63 | void RemoveDebugHook(Common::PageTable& page_table, VAddr base, u64 size, | ||
| 64 | Common::MemoryHookPointer hook) { | ||
| 65 | UNIMPLEMENTED(); | ||
| 66 | } | ||
| 67 | |||
| 68 | bool IsValidVirtualAddress(const Kernel::Process& process, const VAddr vaddr) const { | 53 | bool IsValidVirtualAddress(const Kernel::Process& process, const VAddr vaddr) const { |
| 69 | const auto& page_table = process.PageTable().PageTableImpl(); | 54 | const auto& page_table = process.PageTable().PageTableImpl(); |
| 70 | const auto [pointer, type] = page_table.pointers[vaddr >> PAGE_BITS].PointerType(); | 55 | const auto [pointer, type] = page_table.pointers[vaddr >> PAGE_BITS].PointerType(); |
| @@ -740,25 +725,10 @@ void Memory::MapMemoryRegion(Common::PageTable& page_table, VAddr base, u64 size | |||
| 740 | impl->MapMemoryRegion(page_table, base, size, target); | 725 | impl->MapMemoryRegion(page_table, base, size, target); |
| 741 | } | 726 | } |
| 742 | 727 | ||
| 743 | void Memory::MapIoRegion(Common::PageTable& page_table, VAddr base, u64 size, | ||
| 744 | Common::MemoryHookPointer mmio_handler) { | ||
| 745 | impl->MapIoRegion(page_table, base, size, std::move(mmio_handler)); | ||
| 746 | } | ||
| 747 | |||
| 748 | void Memory::UnmapRegion(Common::PageTable& page_table, VAddr base, u64 size) { | 728 | void Memory::UnmapRegion(Common::PageTable& page_table, VAddr base, u64 size) { |
| 749 | impl->UnmapRegion(page_table, base, size); | 729 | impl->UnmapRegion(page_table, base, size); |
| 750 | } | 730 | } |
| 751 | 731 | ||
| 752 | void Memory::AddDebugHook(Common::PageTable& page_table, VAddr base, u64 size, | ||
| 753 | Common::MemoryHookPointer hook) { | ||
| 754 | impl->AddDebugHook(page_table, base, size, std::move(hook)); | ||
| 755 | } | ||
| 756 | |||
| 757 | void Memory::RemoveDebugHook(Common::PageTable& page_table, VAddr base, u64 size, | ||
| 758 | Common::MemoryHookPointer hook) { | ||
| 759 | impl->RemoveDebugHook(page_table, base, size, std::move(hook)); | ||
| 760 | } | ||
| 761 | |||
| 762 | bool Memory::IsValidVirtualAddress(const Kernel::Process& process, const VAddr vaddr) const { | 732 | bool Memory::IsValidVirtualAddress(const Kernel::Process& process, const VAddr vaddr) const { |
| 763 | return impl->IsValidVirtualAddress(process, vaddr); | 733 | return impl->IsValidVirtualAddress(process, vaddr); |
| 764 | } | 734 | } |