aboutsummaryrefslogtreecommitdiff
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
commitd8753410168b65a459aa4c93a5e3d64884126e28 (patch)
tree52f62331d39f338f6ae6d0fd56831bdd577943a9 /src/core/memory.cpp
parentf1790c7b34c5618f3b2b895f8eabac8daa6bd0f9 (diff)
parentb84af2cd2853bfbacd504465c5d7bca1dbb8ed0a (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 7def007689..2c55889334 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;