vm: address-space: update pmap API usage

This commit is contained in:
2026-04-30 19:14:34 +01:00
parent ed54dca3ba
commit 61f0aa1aba
+13 -19
View File
@@ -661,9 +661,8 @@ static void area_unmap(struct vm_area *area)
pmap_t pmap = area->vma_space->s_pmap;
virt_addr_t base = area->vma_base;
virt_addr_t limit = area->vma_limit;
for (virt_addr_t i = base; i < limit; i += VM_PAGE_SIZE) {
pmap_remove(pmap, i);
}
pmap_remove_range(pmap, base, limit - base);
pmap_flush();
}
static kern_status_t address_space_cleanup(struct object *obj)
@@ -844,11 +843,9 @@ static kern_status_t split_area(
}
put_entry(&root->s_mappings, right);
for (size_t i = unmap_base; i < unmap_limit; i += VM_PAGE_SIZE) {
tracek("pmap_remove %zx", i);
pmap_remove(root->s_pmap, i);
}
pmap_remove_range(root->s_pmap, unmap_base, unmap_limit - unmap_base);
pmap_flush();
return KERN_OK;
}
@@ -883,10 +880,8 @@ static kern_status_t left_reduce_area(
}
tracek(" pmap_remove %zx-%zx (%zx bytes)", base, base + length, length);
for (size_t i = base; i < limit; i += VM_PAGE_SIZE) {
pmap_remove(root->s_pmap, i);
}
pmap_remove_range(root->s_pmap, base, length);
pmap_flush();
return KERN_OK;
}
@@ -920,10 +915,8 @@ static kern_status_t right_reduce_area(
}
tracek(" pmap_remove %zx-%zx (%zx bytes)", base, base + length, length);
for (size_t i = base; i < limit; i += VM_PAGE_SIZE) {
pmap_remove(root->s_pmap, i);
}
pmap_remove_range(root->s_pmap, base, limit - base);
pmap_flush();
return KERN_OK;
}
@@ -942,10 +935,11 @@ static kern_status_t delete_area(
mapping->vma_limit,
mapping->vma_limit - mapping->vma_base);
for (size_t i = mapping->vma_base; i < mapping->vma_limit;
i += VM_PAGE_SIZE) {
pmap_remove(root->s_pmap, i);
}
pmap_remove_range(
root->s_pmap,
mapping->vma_base,
mapping->vma_limit - mapping->vma_base);
pmap_flush();
struct vm_object *object = mapping->vma_object;
unsigned long flags;