diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-02-05 18:15:26 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-10-06 21:00:52 +0200 |
commit | 4d60410dd979fb688de7735d2b4b25a557bdeac7 (patch) | |
tree | b472c870acc010ef938f8d0d478d5e511f94aa11 /src/common/multi_level_page_table.inc | |
parent | 98b5e236d4049d1a2a4c6413486b5015b7efe2c8 (diff) |
MemoryManager: initial multi paging system implementation.
Diffstat (limited to 'src/common/multi_level_page_table.inc')
-rw-r--r-- | src/common/multi_level_page_table.inc | 3 |
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 std::size_t page_bits_) : address_space_bits{address_space_bits_}, first_level_bits{first_level_bits_}, page_bits{page_bits_} { + if (page_bits == 0) { + return; + } first_level_shift = address_space_bits - first_level_bits; first_level_chunk_size = (1ULL << (first_level_shift - page_bits)) * sizeof(BaseAddr); alloc_size = (1ULL << (address_space_bits - page_bits)) * sizeof(BaseAddr); |