Index: pmap.c =================================================================== RCS file: /cognet/ncvs/src/sys/arm/arm/pmap.c,v retrieving revision 1.36.2.2 diff -u -p -r1.36.2.2 pmap.c --- pmap.c 23 Jun 2006 17:41:02 -0000 1.36.2.2 +++ pmap.c 12 Jul 2006 20:52:33 -0000 @@ -2877,6 +2877,12 @@ pmap_remove_pages(pmap_t pmap, vm_offset 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);