Kernel: Fix bogus address calculation in initialize_physical_pages()

We were incorrectly using sizeof(PhysicalPageEntry) for some address
calculations instead of sizeof(PageTableEntry).

It still worked correctly because they happen to be the same size.
This commit is contained in:
Andreas Kling 2021-07-13 21:20:24 +02:00
parent e323942623
commit bf5e4326ac
Notes: sideshowbarker 2024-07-18 09:07:10 +09:00

View File

@ -460,7 +460,7 @@ UNMAP_AFTER_INIT void MemoryManager::initialize_physical_pages()
auto result = kernel_page_tables.set(virtual_page_array_current_page & ~0x1fffff, move(physical_page));
VERIFY(result == AK::HashSetResult::InsertedNewEntry);
virtual_page_array_current_page += (PAGE_SIZE / sizeof(PhysicalPageEntry)) * PAGE_SIZE;
virtual_page_array_current_page += (PAGE_SIZE / sizeof(PageTableEntry)) * PAGE_SIZE;
}
dmesgln("MM: Physical page entries: {}", range.value());