summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2022-02-05 18:15:26 +0100
committerGravatar Fernando Sahmkow2022-10-06 21:00:52 +0200
commit4d60410dd979fb688de7735d2b4b25a557bdeac7 (patch)
treeb472c870acc010ef938f8d0d478d5e511f94aa11 /src/common
parentVulkan: Fix Scissor on Clears (diff)
downloadyuzu-4d60410dd979fb688de7735d2b4b25a557bdeac7.tar.gz
yuzu-4d60410dd979fb688de7735d2b4b25a557bdeac7.tar.xz
yuzu-4d60410dd979fb688de7735d2b4b25a557bdeac7.zip
MemoryManager: initial multi paging system implementation.
Diffstat (limited to 'src/common')
-rw-r--r--src/common/multi_level_page_table.inc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/common/multi_level_page_table.inc b/src/common/multi_level_page_table.inc
index 7fbcb908a..9a68cad93 100644
--- a/src/common/multi_level_page_table.inc
+++ b/src/common/multi_level_page_table.inc
@@ -19,6 +19,9 @@ MultiLevelPageTable<BaseAddr>::MultiLevelPageTable(std::size_t address_space_bit
19 std::size_t page_bits_) 19 std::size_t page_bits_)
20 : address_space_bits{address_space_bits_}, 20 : address_space_bits{address_space_bits_},
21 first_level_bits{first_level_bits_}, page_bits{page_bits_} { 21 first_level_bits{first_level_bits_}, page_bits{page_bits_} {
22 if (page_bits == 0) {
23 return;
24 }
22 first_level_shift = address_space_bits - first_level_bits; 25 first_level_shift = address_space_bits - first_level_bits;
23 first_level_chunk_size = (1ULL << (first_level_shift - page_bits)) * sizeof(BaseAddr); 26 first_level_chunk_size = (1ULL << (first_level_shift - page_bits)) * sizeof(BaseAddr);
24 alloc_size = (1ULL << (address_space_bits - page_bits)) * sizeof(BaseAddr); 27 alloc_size = (1ULL << (address_space_bits - page_bits)) * sizeof(BaseAddr);