summaryrefslogtreecommitdiff
path: root/sys/uvm/uvm_fault.c
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2001-06-08 08:09:45 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2001-06-08 08:09:45 +0000
commit95da2243c76760307b218cb7f05645e68a73e8af (patch)
tree594a78dc6e16ba4f07e3c1bc9c44def6966cf19e /sys/uvm/uvm_fault.c
parent0579d34f9bf07b4a6bfebb51a83de3ac8356c01f (diff)
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.c15
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