diff options
author | 2001-06-08 08:08:35 +0000 | |
---|---|---|
committer | 2001-06-08 08:08:35 +0000 | |
commit | 4623eeec5468267bf53322f36ef12106ba4506ad (patch) | |
tree | c8fa8aab80a918cb9d3eb27e37ce095869229059 /sys/uvm/uvm_fault.c | |
parent | oops. (diff) | |
download | wireguard-openbsd-4623eeec5468267bf53322f36ef12106ba4506ad.tar.xz wireguard-openbsd-4623eeec5468267bf53322f36ef12106ba4506ad.zip |
Change the paddr_t pmap_extract(struct pmap *, vaddr_t) interface to
boolean_t pmap_extract(struct pmap *, vaddr_t, paddr_t *).
Matches NetBSD. Tested by various people on various platforms.
Diffstat (limited to 'sys/uvm/uvm_fault.c')
-rw-r--r-- | sys/uvm/uvm_fault.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/sys/uvm/uvm_fault.c b/sys/uvm/uvm_fault.c index 12b31c1d4d2..dfbff5be96a 100644 --- a/sys/uvm/uvm_fault.c +++ b/sys/uvm/uvm_fault.c @@ -1,5 +1,5 @@ -/* $OpenBSD: uvm_fault.c,v 1.12 2001/05/09 15:31:23 art Exp $ */ -/* $NetBSD: uvm_fault.c,v 1.39 1999/06/17 19:23:21 thorpej Exp $ */ +/* $OpenBSD: uvm_fault.c,v 1.13 2001/06/08 08:09:38 art Exp $ */ +/* $NetBSD: uvm_fault.c,v 1.40 1999/07/08 18:11:03 thorpej Exp $ */ /* * @@ -803,11 +803,10 @@ ReFault: /* * dont play with VAs that are already mapped * except for center) - * XXX: return value of pmap_extract disallows PA 0 */ if (lcv != centeridx) { - pa = pmap_extract(ufi.orig_map->pmap, currva); - if (pa != NULL) { + if (pmap_extract(ufi.orig_map->pmap, currva, &pa) == + TRUE) { pages[lcv] = PGO_DONTCARE; continue; } @@ -1800,13 +1799,9 @@ uvm_fault_unwire_locked(map, start, end) panic("uvm_fault_unwire_locked: address not in map"); for (va = start; va < end ; va += PAGE_SIZE) { - pa = pmap_extract(pmap, va); - - /* XXX: assumes PA 0 cannot be in map */ - if (pa == (paddr_t) 0) { + if (pmap_extract(pmap, va, &pa) == FALSE) panic("uvm_fault_unwire_locked: unwiring " "non-wired memory"); - } /* * make sure the current entry is for the address we're |