summaryrefslogtreecommitdiffstats
path: root/sys/i386/xen/pmap.c
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2013-03-03 01:26:11 +0000
committerattilio <attilio@FreeBSD.org>2013-03-03 01:26:11 +0000
commitd924385016be447df3186832464c1a47f33c733e (patch)
treeee954a1582633bb4c1a26d768567cd04e2eee198 /sys/i386/xen/pmap.c
parenta345907061eb599f277c79a9ca00a3515a5854c8 (diff)
downloadFreeBSD-src-d924385016be447df3186832464c1a47f33c733e.zip
FreeBSD-src-d924385016be447df3186832464c1a47f33c733e.tar.gz
Fixup XEN pmap to cope with removal of left/right iterators from
pages. Sponsored by: EMC / Isilon storage division
Diffstat (limited to 'sys/i386/xen/pmap.c')
-rw-r--r--sys/i386/xen/pmap.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/i386/xen/pmap.c b/sys/i386/xen/pmap.c
index 74a3be7..532c870 100644
--- a/sys/i386/xen/pmap.c
+++ b/sys/i386/xen/pmap.c
@@ -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);
OpenPOWER on IntegriCloud