mem/phys: fix incorrect reservation of page bitmap

This commit is contained in:
Mark Poliakov 2024-01-26 16:31:11 +02:00
parent f8b81c92da
commit d49eeac8bf

@ -155,7 +155,7 @@ pub unsafe fn init_from_iter<I: Iterator<Item = PhysicalMemoryRegion> + Clone>(
ARCHITECTURE.map_physical_memory(it.clone(), phys_start, phys_end)?;
let total_count = (phys_end - phys_start) / 0x1000;
let page_bitmap_size = (total_count + BITMAP_WORD_SIZE - 1) / BITMAP_WORD_SIZE;
let page_bitmap_size = (total_count + BITMAP_WORD_SIZE - 1) / (BITMAP_WORD_SIZE / 8);
let page_bitmap_page_count = (page_bitmap_size + 0xFFF) / 0x1000;
let page_bitmap_phys_base = find_contiguous_region(it.clone(), page_bitmap_page_count).unwrap();