272,11 → 272,6 |
*/ |
|
/* |
* Start TLB shootdown sequence. |
*/ |
tlb_shootdown_start(TLB_INVL_PAGES, AS->asid, area->base + pages*PAGE_SIZE, area->pages - pages); |
|
/* |
* Remove frames belonging to used space starting from |
* the highest addresses downwards until an overlap with |
* the resized address space area is found. Note that this |
335,10 → 330,10 |
} |
} |
} |
|
/* |
* Finish TLB shootdown sequence. |
* Invalidate TLB's. |
*/ |
tlb_shootdown_start(TLB_INVL_PAGES, AS->asid, area->base + pages*PAGE_SIZE, area->pages - pages); |
tlb_invalidate_pages(AS->asid, area->base + pages*PAGE_SIZE, area->pages - pages); |
tlb_shootdown_finalize(); |
} else { |
390,11 → 385,6 |
base = area->base; |
|
/* |
* Start TLB shootdown sequence. |
*/ |
tlb_shootdown_start(TLB_INVL_PAGES, AS->asid, area->base, area->pages); |
|
/* |
* Visit only the pages mapped by used_space B+tree. |
* Note that we must be very careful when walking the tree |
* leaf list and removing used space as the leaf list changes |
427,14 → 417,14 |
panic("Could not remove used space.\n"); |
} |
} |
btree_destroy(&area->used_space); |
|
/* |
* Finish TLB shootdown sequence. |
* Invalidate TLB's. |
*/ |
tlb_shootdown_start(TLB_INVL_PAGES, AS->asid, area->base, area->pages); |
tlb_invalidate_pages(AS->asid, area->base, area->pages); |
tlb_shootdown_finalize(); |
|
btree_destroy(&area->used_space); |
|
area->attributes |= AS_AREA_ATTR_PARTIAL; |
|