diff options
author | bunnei <bunneidev@gmail.com> | 2020-07-08 16:44:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-08 16:44:33 +0200 |
commit | 2a87ddcce28d11f5aa58f524108caadfaefe6ae8 (patch) | |
tree | 9a655d4e1295626da82272177be9f23ef05aba6c | |
parent | Merge pull request #4270 from MerryMage/rm-pragma-once (diff) | |
parent | memory: Set page-table pointers before setting attribute = Memory (diff) | |
download | yuzu-2a87ddcce28d11f5aa58f524108caadfaefe6ae8.tar yuzu-2a87ddcce28d11f5aa58f524108caadfaefe6ae8.tar.gz yuzu-2a87ddcce28d11f5aa58f524108caadfaefe6ae8.tar.bz2 yuzu-2a87ddcce28d11f5aa58f524108caadfaefe6ae8.tar.lz yuzu-2a87ddcce28d11f5aa58f524108caadfaefe6ae8.tar.xz yuzu-2a87ddcce28d11f5aa58f524108caadfaefe6ae8.tar.zst yuzu-2a87ddcce28d11f5aa58f524108caadfaefe6ae8.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/memory.cpp | 7 |
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; |