Fixup XEN pmap to cope with removal of left/right iterators from

pages.

Sponsored by:	EMC / Isilon storage division
This commit is contained in:
attilio 2013-03-03 01:26:11 +00:00
parent a345907061
commit d924385016

View File

@ -1335,7 +1335,8 @@ pmap_free_zero_pages(vm_page_t free)
while (free != NULL) {
m = free;
free = m->right;
free = (void *)m->object;
m->object = NULL;
vm_page_free_zero(m);
}
}
@ -1393,7 +1394,7 @@ _pmap_unwire_ptp(pmap_t pmap, vm_page_t m, vm_page_t *free)
* Put page on a list so that it is released after
* *ALL* TLB shootdown is done
*/
m->right = *free;
m->object = (void *)*free;
*free = m;
}
@ -2090,7 +2091,7 @@ out:
}
if (m_pc == NULL && pv_vafree != 0 && free != NULL) {
m_pc = free;
free = m_pc->right;
free = (void *)m_pc->object;
/* Recycle a freed page table page. */
m_pc->wire_count = 1;
atomic_add_int(&cnt.v_wire_count, 1);