diff options
author | 2004-09-17 19:28:05 +0000 | |
---|---|---|
committer | 2004-09-17 19:28:05 +0000 | |
commit | 8731b9d9c9a9ef492dc21e907e2a2bcd121255e1 (patch) | |
tree | 4faf0fc410f6f01ab6364107bf1ce8098058a0ac | |
parent | Long-due mips pmap potpourri: (diff) | |
download | wireguard-openbsd-8731b9d9c9a9ef492dc21e907e2a2bcd121255e1.tar.xz wireguard-openbsd-8731b9d9c9a9ef492dc21e907e2a2bcd121255e1.zip |
Now that we can check for pmap_extract() failure properly, do so.
-rw-r--r-- | sys/arch/mips64/mips64/busdma.c | 11 | ||||
-rw-r--r-- | sys/arch/mips64/mips64/vm_machdep.c | 10 |
2 files changed, 13 insertions, 8 deletions
diff --git a/sys/arch/mips64/mips64/busdma.c b/sys/arch/mips64/mips64/busdma.c index 659b3da0a25..d6c5a532f9e 100644 --- a/sys/arch/mips64/mips64/busdma.c +++ b/sys/arch/mips64/mips64/busdma.c @@ -1,4 +1,4 @@ -/* $OpenBSD: busdma.c,v 1.4 2004/08/10 20:15:47 deraadt Exp $ */ +/* $OpenBSD: busdma.c,v 1.5 2004/09/17 19:28:05 miod Exp $ */ /* * Copyright (c) 2003-2004 Opsycon AB (www.opsycon.se / www.opsycon.com) @@ -140,7 +140,10 @@ _dmamap_load(t, map, buf, buflen, p, flags) /* * Get the physical address for this segment. */ - pmap_extract(pmap, (vaddr_t)vaddr, (paddr_t *)&curaddr); + if (pmap_extract(pmap, (vaddr_t)vaddr, (paddr_t *)&curaddr) == + FALSE) + panic("_dmapmap_load: pmap_extract(%x, %x) failed!", + pmap, vaddr); /* * Compute the segment size, and adjust counts. @@ -229,7 +232,9 @@ _dmamap_load_mbuf(t, map, m, flags) incr = min(buflen, NBPG); buflen -= incr; - (void) pmap_extract(pmap_kernel(), vaddr, &pa); + if (pmap_extract(pmap_kernel(), vaddr, &pa) == FALSE) + panic("_dmamap_load_mbuf: pmap_extract(%x, %x) failed!", + pmap_kernel(), vaddr); pa += t->dma_offs; if (i > 0 && pa == (map->dm_segs[i-1].ds_addr + map->dm_segs[i-1].ds_len) diff --git a/sys/arch/mips64/mips64/vm_machdep.c b/sys/arch/mips64/mips64/vm_machdep.c index 9c8eb5dee54..f24eb7e3d90 100644 --- a/sys/arch/mips64/mips64/vm_machdep.c +++ b/sys/arch/mips64/mips64/vm_machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vm_machdep.c,v 1.3 2004/08/10 20:28:13 deraadt Exp $ */ +/* $OpenBSD: vm_machdep.c,v 1.4 2004/09/17 19:28:05 miod Exp $ */ /* * Copyright (c) 1988 University of Utah. * Copyright (c) 1992, 1993 @@ -261,10 +261,10 @@ vmapbuf(bp, len) bp->b_data = (caddr_t) (kva + off); while (sz > 0) { - pmap_extract(pmap, uva, &pa); - if (pa == 0) { - panic("vmapbuf: null page frame"); - } + if (pmap_extract(pmap, uva, &pa) == FALSE) + panic("vmapbuf: pmap_extract(%x, %x) failed!", + pmap, uva); + pmap_enter(vm_map_pmap(phys_map), kva, trunc_page(pa), VM_PROT_READ|VM_PROT_WRITE, PMAP_WIRED); uva += PAGE_SIZE; |