PERFORCE change 94088 for review
Olivier Houchard
cognet at FreeBSD.org
Sun Mar 26 22:21:30 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=94088
Change 94088 by cognet at cognet on 2006/03/26 22:21:19
Try to workaround the panic in pmap_remove_pages() by not attempting
to do anything if the pt has already been cleared. This should not
happen, so this is by no mean a fix, just a temporary bandaid until
I figure out how it happens.
Affected files ...
.. //depot/projects/arm/src/sys/arm/arm/pmap.c#13 edit
Differences ...
==== //depot/projects/arm/src/sys/arm/arm/pmap.c#13 (text+ko) ====
@@ -2833,6 +2833,12 @@
l2b = pmap_get_l2_bucket(pmap, pv->pv_va);
KASSERT(l2b != NULL, ("No L2 bucket in pmap_remove_pages"));
pt = &l2b->l2b_kva[l2pte_index(pv->pv_va)];
+ if ((*pt & L2_ADDR_MASK) == 0) {
+ npv = TAILQ_NEXT(pv, pv_plist);
+ TAILQ_REMOVE(&pmap->pm_pvlist, pv, pv_plist);
+ pmap_free_pv_entry(pv);
+ continue;
+ }
m = PHYS_TO_VM_PAGE(*pt & L2_ADDR_MASK);
*pt = 0;
PTE_SYNC(pt);
More information about the p4-projects
mailing list