- if (mmapent->type == BOOT_MMAP_RCLM) {
- pmm_mark_chunk_free(PN(mmapent->start), size_pg);
- }
-
- ptr_t pa = PG_ALIGN(mmapent->start);
- for (size_t j = 0; j < size_pg && pa < KERNEL_EXEC;
- j++, pa += PM_PAGE_SIZE) {
- vmm_del_mapping(VMS_SELF, pa);
+ if (reclaimable_memregion(ent)) {
+ unsigned int counts = leaf_count(ent->size);
+ pmm_unhold_range(pfn(ent->start), counts);