summaryrefslogtreecommitdiff
path: root/src/core/memory.cpp
diff options
context:
space:
mode:
authorAmeer <aj662@drexel.edu>2020-07-08 21:15:49 -0400
committerAmeer <aj662@drexel.edu>2020-07-08 21:15:49 -0400
commit4489ea6f532a501ca4cc379d8d8fb50ce1af27d7 (patch)
tree52f62331d39f338f6ae6d0fd56831bdd577943a9 /src/core/memory.cpp
parentb57475887be5879347d5fda425676d0bd2e2a3d3 (diff)
parent5311b562aa3c619dca9a1a14d0a2b16281a45cc1 (diff)
Rebase to master, fix merge conflicts
Diffstat (limited to 'src/core/memory.cpp')
-rw-r--r--src/core/memory.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/memory.cpp b/src/core/memory.cpp
index 7def00768..2c5588933 100644
--- a/src/core/memory.cpp
+++ b/src/core/memory.cpp
@@ -548,9 +548,9 @@ struct Memory::Impl {
// longer exist, and we should just leave the pagetable entry blank.
page_type = Common::PageType::Unmapped;
} else {
- page_type = Common::PageType::Memory;
current_page_table->pointers[vaddr >> PAGE_BITS] =
pointer - (vaddr & ~PAGE_MASK);
+ page_type = Common::PageType::Memory;
}
break;
}
@@ -591,9 +591,12 @@ struct Memory::Impl {
base + page_table.pointers.size());
if (!target) {
+ ASSERT_MSG(type != Common::PageType::Memory,
+ "Mapping memory page without a pointer @ {:016x}", base * PAGE_SIZE);
+
while (base != end) {
- page_table.pointers[base] = nullptr;
page_table.attributes[base] = type;
+ page_table.pointers[base] = nullptr;
page_table.backing_addr[base] = 0;
base += 1;