summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorart <art@openbsd.org>2001-11-09 02:47:33 +0000
committerart <art@openbsd.org>2001-11-09 02:47:33 +0000
commit2c491fe5cfcf77e20dfded59801e8c3d64095b1b (patch)
tree1d4a74c8e91d62c06583507c2672d0740316a44c
parentUpdate DEBUG code to match reality. (diff)
downloadwireguard-openbsd-2c491fe5cfcf77e20dfded59801e8c3d64095b1b.tar.xz
wireguard-openbsd-2c491fe5cfcf77e20dfded59801e8c3d64095b1b.zip
Actually allow pa == 0 in pmap_extract, and don't set *pap if we fail.
-rw-r--r--sys/arch/alpha/alpha/pmap.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/arch/alpha/alpha/pmap.c b/sys/arch/alpha/alpha/pmap.c
index d7fa9d0d98e..20063bfda21 100644
--- a/sys/arch/alpha/alpha/pmap.c
+++ b/sys/arch/alpha/alpha/pmap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.c,v 1.19 2001/11/09 02:44:46 art Exp $ */
+/* $OpenBSD: pmap.c,v 1.20 2001/11/09 02:47:33 art Exp $ */
/* $NetBSD: pmap.c,v 1.154 2000/12/07 22:18:55 thorpej Exp $ */
/*-
@@ -2185,7 +2185,8 @@ boolean_t
pmap_extract(pmap_t pmap, vaddr_t va, paddr_t *pap)
{
pt_entry_t *l1pte, *l2pte, *l3pte;
- paddr_t pa = 0;
+ boolean_t rv = FALSE;
+ paddr_t pa;
#ifdef DEBUG
if (pmapdebug & PDB_FOLLOW)
@@ -2206,18 +2207,19 @@ pmap_extract(pmap_t pmap, vaddr_t va, paddr_t *pap)
goto out;
pa = pmap_pte_pa(l3pte) | (va & PGOFSET);
+ *pap = pa;
+ rv = TRUE;
out:
PMAP_UNLOCK(pmap);
#ifdef DEBUG
if (pmapdebug & PDB_FOLLOW) {
- if (pa)
+ if (rv)
printf("0x%lx\n", pa);
else
printf("failed\n");
}
#endif
- *pap = pa;
- return (pa != 0);
+ return (rv);
}
/*