summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchs <chs@NetBSD.org>2001-03-15 06:10:32 +0000
committerchs <chs@NetBSD.org>2001-03-15 06:10:32 +0000
commitac3bc537bd6df78d511c6c7e83bf0cb3617ae2a8 (patch)
treea8e61077548b7b330bc4daec99d5e163183fd18e
parentef26546e159b810e9b48f84eb66be625a707414f (diff)
eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is: KERN_SUCCESS 0 KERN_INVALID_ADDRESS EFAULT KERN_PROTECTION_FAILURE EACCES KERN_NO_SPACE ENOMEM KERN_INVALID_ARGUMENT EINVAL KERN_FAILURE various, mostly turn into KASSERTs KERN_RESOURCE_SHORTAGE ENOMEM KERN_NOT_RECEIVER <unused> KERN_NO_ACCESS <unused> KERN_PAGES_LOCKED <unused>
-rw-r--r--sys/arch/alpha/alpha/machdep.c6
-rw-r--r--sys/arch/alpha/alpha/pmap.c29
-rw-r--r--sys/arch/alpha/alpha/trap.c14
-rw-r--r--sys/arch/amiga/amiga/machdep.c4
-rw-r--r--sys/arch/amiga/amiga/pmap.c21
-rw-r--r--sys/arch/amiga/amiga/trap.c28
-rw-r--r--sys/arch/amiga/dev/clock.c6
-rw-r--r--sys/arch/amiga/dev/gayle_pcmcia.c4
-rw-r--r--sys/arch/amigappc/amigappc/machdep.c4
-rw-r--r--sys/arch/arc/arc/machdep.c4
-rw-r--r--sys/arch/arm/arm32/pmap.c8
-rw-r--r--sys/arch/arm26/arm26/except.c12
-rw-r--r--sys/arch/arm26/arm26/machdep.c6
-rw-r--r--sys/arch/arm26/arm26/pmap.c6
-rw-r--r--sys/arch/arm32/arm32/fault.c14
-rw-r--r--sys/arch/arm32/arm32/machdep.c4
-rw-r--r--sys/arch/atari/atari/machdep.c9
-rw-r--r--sys/arch/atari/atari/pmap.c19
-rw-r--r--sys/arch/atari/atari/trap.c12
-rw-r--r--sys/arch/bebox/bebox/machdep.c4
-rw-r--r--sys/arch/cobalt/cobalt/machdep.c4
-rw-r--r--sys/arch/hp300/dev/grf.c7
-rw-r--r--sys/arch/hp300/hp300/machdep.c9
-rw-r--r--sys/arch/hp300/hp300/pmap.c23
-rw-r--r--sys/arch/hp300/hp300/trap.c16
-rw-r--r--sys/arch/hpcarm/hpcarm/fault.c13
-rw-r--r--sys/arch/hpcarm/hpcarm/machdep.c4
-rw-r--r--sys/arch/hpcmips/hpcmips/machdep.c6
-rw-r--r--sys/arch/i386/i386/machdep.c4
-rw-r--r--sys/arch/i386/i386/pmap.c13
-rw-r--r--sys/arch/i386/i386/trap.c15
-rw-r--r--sys/arch/luna68k/luna68k/machdep.c10
-rw-r--r--sys/arch/luna68k/luna68k/pmap.c19
-rw-r--r--sys/arch/luna68k/luna68k/trap.c14
-rw-r--r--sys/arch/mac68k/dev/grf_compat.c9
-rw-r--r--sys/arch/mac68k/mac68k/machdep.c4
-rw-r--r--sys/arch/mac68k/mac68k/pmap.c19
-rw-r--r--sys/arch/mac68k/mac68k/trap.c12
-rw-r--r--sys/arch/macppc/macppc/machdep.c4
-rw-r--r--sys/arch/mips/mips/pmap.c10
-rw-r--r--sys/arch/mips/mips/trap.c23
-rw-r--r--sys/arch/mipsco/mipsco/machdep.c6
-rw-r--r--sys/arch/mvme68k/mvme68k/machdep.c8
-rw-r--r--sys/arch/mvme68k/mvme68k/pmap.c23
-rw-r--r--sys/arch/mvme68k/mvme68k/trap.c16
-rw-r--r--sys/arch/news68k/news68k/machdep.c9
-rw-r--r--sys/arch/news68k/news68k/pmap.c23
-rw-r--r--sys/arch/news68k/news68k/trap.c16
-rw-r--r--sys/arch/newsmips/newsmips/machdep.c6
-rw-r--r--sys/arch/next68k/next68k/machdep.c8
-rw-r--r--sys/arch/next68k/next68k/pmap.c27
-rw-r--r--sys/arch/next68k/next68k/trap.c16
-rw-r--r--sys/arch/ofppc/ofppc/machdep.c4
-rw-r--r--sys/arch/pc532/pc532/machdep.c6
-rw-r--r--sys/arch/pc532/pc532/pmap.c13
-rw-r--r--sys/arch/pc532/pc532/trap.c10
-rw-r--r--sys/arch/pmax/pmax/machdep.c6
-rw-r--r--sys/arch/powerpc/powerpc/pmap.c6
-rw-r--r--sys/arch/powerpc/powerpc/trap.c18
-rw-r--r--sys/arch/prep/prep/machdep.c4
-rw-r--r--sys/arch/sandpoint/sandpoint/machdep.c4
-rw-r--r--sys/arch/sgimips/sgimips/machdep.c4
-rw-r--r--sys/arch/sh3/sh3/pmap.c12
-rw-r--r--sys/arch/sh3/sh3/sh3_machdep.c4
-rw-r--r--sys/arch/sh3/sh3/trap.c16
-rw-r--r--sys/arch/sparc/sparc/machdep.c4
-rw-r--r--sys/arch/sparc/sparc/pmap.c48
-rw-r--r--sys/arch/sparc/sparc/trap.c37
-rw-r--r--sys/arch/sparc64/sparc64/machdep.c8
-rw-r--r--sys/arch/sparc64/sparc64/pmap.c8
-rw-r--r--sys/arch/sparc64/sparc64/trap.c41
-rw-r--r--sys/arch/sun3/sun3/machdep.c6
-rw-r--r--sys/arch/sun3/sun3/pmap.c10
-rw-r--r--sys/arch/sun3/sun3/trap.c12
-rw-r--r--sys/arch/sun3/sun3x/machdep.c6
-rw-r--r--sys/arch/sun3/sun3x/pmap.c8
-rw-r--r--sys/arch/vax/vax/machdep.c4
-rw-r--r--sys/arch/vax/vax/pmap.c12
-rw-r--r--sys/arch/vax/vax/trap.c6
-rw-r--r--sys/arch/x68k/dev/grf.c7
-rw-r--r--sys/arch/x68k/x68k/clock.c6
-rw-r--r--sys/arch/x68k/x68k/machdep.c4
-rw-r--r--sys/arch/x68k/x68k/pmap.c23
-rw-r--r--sys/arch/x68k/x68k/trap.c16
-rw-r--r--sys/compat/netbsd32/netbsd32_sysctl.c9
-rw-r--r--sys/compat/svr4/svr4_misc.c23
-rw-r--r--sys/compat/svr4_32/svr4_32_misc.c21
-rw-r--r--sys/compat/vax1k/vax1k_subr.c11
-rw-r--r--sys/dev/ic/rrunner.c36
-rw-r--r--sys/kern/exec_subr.c61
-rw-r--r--sys/kern/init_main.c5
-rw-r--r--sys/kern/kern_physio.c41
-rw-r--r--sys/kern/kern_sysctl.c9
-rw-r--r--sys/kern/sysv_shm.c29
-rw-r--r--sys/uvm/uvm_bio.c5
-rw-r--r--sys/uvm/uvm_device.c4
-rw-r--r--sys/uvm/uvm_extern.h6
-rw-r--r--sys/uvm/uvm_fault.c102
-rw-r--r--sys/uvm/uvm_glue.c18
-rw-r--r--sys/uvm/uvm_io.c11
-rw-r--r--sys/uvm/uvm_km.c21
-rw-r--r--sys/uvm/uvm_loan.c28
-rw-r--r--sys/uvm/uvm_map.c162
-rw-r--r--sys/uvm/uvm_map.h6
-rw-r--r--sys/uvm/uvm_map_i.h8
-rw-r--r--sys/uvm/uvm_mmap.c306
-rw-r--r--sys/uvm/uvm_pager.c8
-rw-r--r--sys/uvm/uvm_param.h16
-rw-r--r--sys/uvm/uvm_unix.c29
-rw-r--r--sys/uvm/uvm_user.c14
110 files changed, 808 insertions, 1164 deletions
diff --git a/sys/arch/alpha/alpha/machdep.c b/sys/arch/alpha/alpha/machdep.c
index a296eaaa760..6b6284c6a55 100644
--- a/sys/arch/alpha/alpha/machdep.c
+++ b/sys/arch/alpha/alpha/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.230 2001/01/22 13:56:56 jdolecek Exp $ */
+/* $NetBSD: machdep.c,v 1.231 2001/03/15 06:10:32 chs Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@@ -73,7 +73,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.230 2001/01/22 13:56:56 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.231 2001/03/15 06:10:32 chs Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -868,7 +868,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
base = bufpages / nbuf;
residual = bufpages % nbuf;
diff --git a/sys/arch/alpha/alpha/pmap.c b/sys/arch/alpha/alpha/pmap.c
index e6afb6623b4..3fa7fef269a 100644
--- a/sys/arch/alpha/alpha/pmap.c
+++ b/sys/arch/alpha/alpha/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.156 2001/01/14 03:33:34 thorpej Exp $ */
+/* $NetBSD: pmap.c,v 1.157 2001/03/15 06:10:33 chs Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@@ -154,7 +154,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.156 2001/01/14 03:33:34 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.157 2001/03/15 06:10:33 chs Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -1700,9 +1700,6 @@ pmap_enter(pmap_t pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, int flags)
printf("pmap_enter(%p, %lx, %lx, %x, %x)\n",
pmap, va, pa, prot, flags);
#endif
- if (pmap == NULL)
- return (KERN_SUCCESS);
-
managed = PAGE_IS_MANAGED(pa);
isactive = PMAP_ISACTIVE(pmap, cpu_id);
wired = (flags & PMAP_WIRED) != 0;
@@ -1753,7 +1750,7 @@ pmap_enter(pmap_t pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, int flags)
*/
if (pmap->pm_lev1map == kernel_lev1map) {
error = pmap_lev1map_create(pmap, cpu_id);
- if (error != KERN_SUCCESS) {
+ if (error) {
if (flags & PMAP_CANFAIL)
return (error);
panic("pmap_enter: unable to create lev1map");
@@ -1770,7 +1767,7 @@ pmap_enter(pmap_t pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, int flags)
if (pmap_pte_v(l1pte) == 0) {
pmap_physpage_addref(l1pte);
error = pmap_ptpage_alloc(pmap, l1pte, PGU_L2PT);
- if (error != KERN_SUCCESS) {
+ if (error) {
pmap_l1pt_delref(pmap, l1pte, cpu_id);
if (flags & PMAP_CANFAIL)
return (error);
@@ -1795,7 +1792,7 @@ pmap_enter(pmap_t pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, int flags)
if (pmap_pte_v(l2pte) == 0) {
pmap_physpage_addref(l2pte);
error = pmap_ptpage_alloc(pmap, l2pte, PGU_L3PT);
- if (error != KERN_SUCCESS) {
+ if (error) {
pmap_l2pt_delref(pmap, l1pte, l2pte, cpu_id);
if (flags & PMAP_CANFAIL)
return (error);
@@ -1901,7 +1898,7 @@ pmap_enter(pmap_t pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, int flags)
*/
if (managed) {
error = pmap_pv_enter(pmap, pa, va, pte, TRUE);
- if (error != KERN_SUCCESS) {
+ if (error) {
pmap_l3pt_delref(pmap, va, pte, cpu_id, NULL);
if (flags & PMAP_CANFAIL)
return (error);
@@ -1986,7 +1983,7 @@ pmap_enter(pmap_t pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, int flags)
PMAP_UNLOCK(pmap);
PMAP_MAP_TO_HEAD_UNLOCK();
- return (KERN_SUCCESS);
+ return 0;
}
/*
@@ -3062,7 +3059,7 @@ pmap_pv_enter(pmap_t pmap, paddr_t pa, vaddr_t va, pt_entry_t *pte,
*/
newpv = pmap_pv_alloc();
if (newpv == NULL)
- return (KERN_RESOURCE_SHORTAGE);
+ return ENOMEM;
newpv->pv_va = va;
newpv->pv_pmap = pmap;
newpv->pv_pte = pte;
@@ -3095,7 +3092,7 @@ pmap_pv_enter(pmap_t pmap, paddr_t pa, vaddr_t va, pt_entry_t *pte,
if (dolock)
simple_unlock(&pvh->pvh_slock);
- return (KERN_SUCCESS);
+ return 0;
}
/*
@@ -3535,7 +3532,7 @@ pmap_lev1map_create(pmap_t pmap, long cpu_id)
l1pt = pool_cache_get(&pmap_l1pt_cache, PR_NOWAIT);
if (l1pt == NULL) {
simple_unlock(&pmap_growkernel_slock);
- return (KERN_RESOURCE_SHORTAGE);
+ return ENOMEM;
}
pmap->pm_lev1map = l1pt;
@@ -3550,7 +3547,7 @@ pmap_lev1map_create(pmap_t pmap, long cpu_id)
pmap_asn_alloc(pmap, cpu_id);
PMAP_ACTIVATE(pmap, curproc, cpu_id);
}
- return (KERN_SUCCESS);
+ return 0;
}
/*
@@ -3697,7 +3694,7 @@ pmap_ptpage_alloc(pmap_t pmap, pt_entry_t *pte, int usage)
* another pmap!
*/
if (pmap_ptpage_steal(pmap, usage, &ptpa) == FALSE)
- return (KERN_RESOURCE_SHORTAGE);
+ return ENOMEM;
}
/*
@@ -3707,7 +3704,7 @@ pmap_ptpage_alloc(pmap_t pmap, pt_entry_t *pte, int usage)
PG_V | PG_KRE | PG_KWE | PG_WIRED |
(pmap == pmap_kernel() ? PG_ASM : 0));
- return (KERN_SUCCESS);
+ return 0;
}
/*
diff --git a/sys/arch/alpha/alpha/trap.c b/sys/arch/alpha/alpha/trap.c
index 30246d1cdd1..e920533081c 100644
--- a/sys/arch/alpha/alpha/trap.c
+++ b/sys/arch/alpha/alpha/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.66 2001/01/03 22:15:38 thorpej Exp $ */
+/* $NetBSD: trap.c,v 1.67 2001/03/15 06:10:33 chs Exp $ */
/*-
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -100,7 +100,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.66 2001/01/03 22:15:38 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.67 2001/03/15 06:10:33 chs Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -487,17 +487,17 @@ trap(const u_long a0, const u_long a1, const u_long a2, const u_long entry,
if (map != kernel_map &&
(caddr_t)va >= vm->vm_maxsaddr &&
va < USRSTACK) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
unsigned nss;
nss = btoc(USRSTACK -
(unsigned long)va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
if (user)
KERNEL_PROC_UNLOCK(p);
else
@@ -519,7 +519,7 @@ trap(const u_long a0, const u_long a1, const u_long a2, const u_long entry,
goto dopanic;
}
ucode = a0;
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: "
"out of swap\n", p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
diff --git a/sys/arch/amiga/amiga/machdep.c b/sys/arch/amiga/amiga/machdep.c
index 5c976db6fe5..7ba18972d9a 100644
--- a/sys/arch/amiga/amiga/machdep.c
+++ b/sys/arch/amiga/amiga/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.159 2001/02/14 20:24:17 is Exp $ */
+/* $NetBSD: machdep.c,v 1.160 2001/03/15 06:10:34 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -262,7 +262,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vm_offset_t *)&buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vm_offset_t) buffers;
if ((bufpages / nbuf) >= btoc(MAXBSIZE)) {
diff --git a/sys/arch/amiga/amiga/pmap.c b/sys/arch/amiga/amiga/pmap.c
index feccda17815..6400c76b995 100644
--- a/sys/arch/amiga/amiga/pmap.c
+++ b/sys/arch/amiga/amiga/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.82 2001/01/20 17:08:41 mhitch Exp $ */
+/* $NetBSD: pmap.c,v 1.83 2001/03/15 06:10:34 chs Exp $ */
/*-
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -519,14 +519,14 @@ pmap_init()
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS)
+ UVM_FLAG_FIXED)) != 0)
goto bogons;
addr = (vaddr_t) Sysmap;
if (uvm_map(kernel_map, &addr, AMIGA_KPTSIZE,
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS) {
+ UVM_FLAG_FIXED)) != 0) {
/*
* If this fails, it is probably because the static
* portion of the kernel page table isn't big enough
@@ -618,11 +618,9 @@ pmap_init()
rv = uvm_map(kernel_map, &addr, s, NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
UVM_ADV_RANDOM, UVM_FLAG_NOMERGE));
- if (rv != KERN_SUCCESS || (addr + s) >= (vaddr_t)Sysmap)
+ if (rv != 0 || (addr + s) >= (vaddr_t)Sysmap)
panic("pmap_init: kernel PT too small");
- rv = uvm_unmap(kernel_map, addr, addr + s);
- if (rv != KERN_SUCCESS)
- panic("pmap_init: uvm_unmap failed");
+ uvm_unmap(kernel_map, addr, addr + s);
/*
* Now allocate the space and link the pages together to
@@ -1149,11 +1147,6 @@ pmap_enter(pmap, va, pa, prot, flags)
if (pmapdebug & (PDB_FOLLOW|PDB_ENTER))
printf("pmap_enter(%p, %lx, %lx, %x, %x)\n",
pmap, va, pa, prot, wired);
-#endif
- if (pmap == NULL)
- return (KERN_SUCCESS);
-
-#ifdef DEBUG
if (pmap == pmap_kernel())
enter_stats.kernel++;
else
@@ -1393,7 +1386,7 @@ validate:
pmap_check_wiring("enter", trunc_page((vaddr_t) pmap_pte(pmap, va)));
}
#endif
- return (KERN_SUCCESS);
+ return 0;
}
void
@@ -2570,7 +2563,7 @@ pmap_enter_ptpage(pmap, va)
#endif
s = uvm_fault_wire(pt_map, va, va + PAGE_SIZE,
VM_PROT_READ|VM_PROT_WRITE);
- if (s != KERN_SUCCESS) {
+ if (s != 0) {
printf("uvm_fault_wire(pt_map, 0x%lx, 0%lx, RW) "
"-> %d\n", va, va + PAGE_SIZE, s);
panic("pmap_enter: uvm_fault_wire failed");
diff --git a/sys/arch/amiga/amiga/trap.c b/sys/arch/amiga/amiga/trap.c
index eee91d01329..2a442d42c90 100644
--- a/sys/arch/amiga/amiga/trap.c
+++ b/sys/arch/amiga/amiga/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.82 2001/02/14 20:24:17 is Exp $ */
+/* $NetBSD: trap.c,v 1.83 2001/03/15 06:10:34 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -417,7 +417,7 @@ trapmmufault(type, code, v, fp, p, sticks)
#else
if (mmutype == MMU_68040) {
#endif
- if(rv != KERN_SUCCESS) {
+ if (rv != 0) {
goto nogo;
}
@@ -449,8 +449,7 @@ trapmmufault(type, code, v, fp, p, sticks)
if(fp->f_fmt7.f_wb2s & WBS_VALID &&
((fp->f_fmt7.f_wb2s & WBS_TTMASK)==WBS_TT_MOVE16) == 0) {
if (_write_back(2, fp->f_fmt7.f_wb2s,
- fp->f_fmt7.f_wb2d, fp->f_fmt7.f_wb2a, map)
- != KERN_SUCCESS)
+ fp->f_fmt7.f_wb2d, fp->f_fmt7.f_wb2a, map) != 0)
goto nogo;
if ((fp->f_fmt7.f_wb2s & WBS_TMMASK)
!= (code & SSW_TMMASK))
@@ -466,8 +465,7 @@ trapmmufault(type, code, v, fp, p, sticks)
else
wb3_map = &vm->vm_map;
if (_write_back(3, fp->f_fmt7.f_wb3s,
- fp->f_fmt7.f_wb3d, fp->f_fmt7.f_wb3a, wb3_map)
- != KERN_SUCCESS)
+ fp->f_fmt7.f_wb3d, fp->f_fmt7.f_wb3a, wb3_map) != 0)
goto nogo;
}
}
@@ -481,22 +479,22 @@ trapmmufault(type, code, v, fp, p, sticks)
* error.
*/
if (map != kernel_map && (caddr_t)va >= vm->vm_maxsaddr) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
nss = btoc(USRSTACK-(unsigned)va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
if (type == T_MMUFLT)
return;
userret(p, fp->f_pc, sticks);
return;
}
#else /* use hacky 386bsd_code */
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
/*
* XXX: continuation of rude stack hack
*/
@@ -520,7 +518,7 @@ nogo:
type, code);
panictrap(type, code, v, fp);
}
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ? p->p_ucred->cr_uid : -1);
@@ -797,7 +795,7 @@ _write_back (wb, wb_sts, wb_data, wb_addr, wb_map)
trunc_page((vm_offset_t)wb_addr),
0, VM_PROT_READ | VM_PROT_WRITE);
- if(wb_rc != KERN_SUCCESS)
+ if (wb_rc != 0)
return (wb_rc);
#ifdef DEBUG
if (mmudebug)
@@ -830,7 +828,7 @@ _write_back (wb, wb_sts, wb_data, wb_addr, wb_map)
trunc_page((vm_offset_t)wb_addr + wb_extra_page),
0, VM_PROT_READ | VM_PROT_WRITE);
- if(wb_rc != KERN_SUCCESS)
+ if (wb_rc != 0)
return (wb_rc);
}
#ifdef DEBUG
@@ -871,7 +869,7 @@ _write_back (wb, wb_sts, wb_data, wb_addr, wb_map)
curpcb->pcb_onfault = NULL;
if ((wb_sts & WBS_TMMASK) != FC_USERD)
asm volatile ("movec %0,%%dfc\n" : : "d" (FC_USERD));
- return (KERN_SUCCESS);
+ return 0;
}
/*
diff --git a/sys/arch/amiga/dev/clock.c b/sys/arch/amiga/dev/clock.c
index 3513b1feda4..dc11f1f88f8 100644
--- a/sys/arch/amiga/dev/clock.c
+++ b/sys/arch/amiga/dev/clock.c
@@ -1,4 +1,4 @@
-/* $NetBSD: clock.c,v 1.35 2000/06/29 08:44:05 mrg Exp $ */
+/* $NetBSD: clock.c,v 1.36 2001/03/15 06:10:35 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -478,8 +478,8 @@ clockunmmap(dev, addr, p)
if (addr == 0)
return(EINVAL); /* XXX: how do we deal with this? */
- rv = vm_deallocate(p->p_vmspace->vm_map, (vm_offset_t)addr, PAGE_SIZE);
- return(rv == KERN_SUCCESS ? 0 : EINVAL);
+ uvm_deallocate(p->p_vmspace->vm_map, (vm_offset_t)addr, PAGE_SIZE);
+ return 0;
}
startclock()
diff --git a/sys/arch/amiga/dev/gayle_pcmcia.c b/sys/arch/amiga/dev/gayle_pcmcia.c
index a38f00df1b2..88c63bc731b 100644
--- a/sys/arch/amiga/dev/gayle_pcmcia.c
+++ b/sys/arch/amiga/dev/gayle_pcmcia.c
@@ -1,4 +1,4 @@
-/* $NetBSD: gayle_pcmcia.c,v 1.7 2001/02/11 09:54:48 is Exp $ */
+/* $NetBSD: gayle_pcmcia.c,v 1.8 2001/03/15 06:10:35 chs Exp $ */
/* public domain */
@@ -131,7 +131,7 @@ pccard_attach(parent, myself, aux)
UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM, 0));
- if (ret != KERN_SUCCESS) {
+ if (ret != 0) {
printf("attach failed (no virtual memory)\n");
return;
}
diff --git a/sys/arch/amigappc/amigappc/machdep.c b/sys/arch/amigappc/amigappc/machdep.c
index 31db1fc44bd..54b8183da19 100644
--- a/sys/arch/amigappc/amigappc/machdep.c
+++ b/sys/arch/amigappc/amigappc/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.9 2001/02/24 22:39:19 matt Exp $ */
+/* $NetBSD: machdep.c,v 1.10 2001/03/15 06:10:35 chs Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -768,7 +768,7 @@ cpu_startup()
minaddr = 0;
if (uvm_map(kernel_map, (vaddr_t *)&minaddr, round_page(size), NULL,
UVM_UNKNOWN_OFFSET, 0, UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
- UVM_INH_NONE, UVM_ADV_NORMAL, 0)) != KERN_SUCCESS) {
+ UVM_INH_NONE, UVM_ADV_NORMAL, 0)) != 0) {
panic("startup: cannot allocate VM for buffers");
}
buffers = (char *)minaddr;
diff --git a/sys/arch/arc/arc/machdep.c b/sys/arch/arc/arc/machdep.c
index 77db8630ed9..2d856d53df8 100644
--- a/sys/arch/arc/arc/machdep.c
+++ b/sys/arch/arc/arc/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.49 2001/02/17 04:27:53 tsutsui Exp $ */
+/* $NetBSD: machdep.c,v 1.50 2001/03/15 06:10:35 chs Exp $ */
/* $OpenBSD: machdep.c,v 1.36 1999/05/22 21:22:19 weingart Exp $ */
/*
@@ -1105,7 +1105,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *)&buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("cpu_startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
diff --git a/sys/arch/arm/arm32/pmap.c b/sys/arch/arm/arm32/pmap.c
index 4aebc90e052..51e1c222ec9 100644
--- a/sys/arch/arm/arm32/pmap.c
+++ b/sys/arch/arm/arm32/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.3 2001/03/04 19:05:55 matt Exp $ */
+/* $NetBSD: pmap.c,v 1.4 2001/03/15 06:10:35 chs Exp $ */
/*-
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -1986,10 +1986,6 @@ pmap_enter(pmap, va, pa, prot, flags)
PDEBUG(5, printf("pmap_enter: V%08lx P%08lx in pmap %p prot=%08x, wired = %d\n",
va, pa, pmap, prot, wired));
- /* Valid pmap ? */
- if (pmap == NULL)
- return (KERN_SUCCESS);
-
#ifdef DIAGNOSTIC
/* Valid address ? */
if (va >= (KERNEL_VM_BASE + KERNEL_VM_SIZE))
@@ -2170,7 +2166,7 @@ pmap_enter(pmap, va, pa, prot, flags)
PDEBUG(5, printf("pmap_enter: pte = V%p %08x\n", pte, *pte));
- return (KERN_SUCCESS);
+ return 0;
}
void
diff --git a/sys/arch/arm26/arm26/except.c b/sys/arch/arm26/arm26/except.c
index 2d064f78418..333c1279a08 100644
--- a/sys/arch/arm26/arm26/except.c
+++ b/sys/arch/arm26/arm26/except.c
@@ -1,4 +1,4 @@
-/* $NetBSD: except.c,v 1.29 2001/03/08 21:30:35 bjh21 Exp $ */
+/* $NetBSD: except.c,v 1.30 2001/03/15 06:10:36 chs Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 Ben Harris
* All rights reserved.
@@ -32,7 +32,7 @@
#include <sys/param.h>
-__KERNEL_RCSID(0, "$NetBSD: except.c,v 1.29 2001/03/08 21:30:35 bjh21 Exp $");
+__KERNEL_RCSID(0, "$NetBSD: except.c,v 1.30 2001/03/15 06:10:36 chs Exp $");
#include "opt_cputypes.h"
#include "opt_ddb.h"
@@ -447,20 +447,20 @@ void
do_fault(struct trapframe *tf, struct proc *p,
vm_map_t map, vaddr_t va, vm_prot_t atype)
{
- int ret;
+ int error;
struct pcb *curpcb;
if (pmap_fault(map->pmap, va, atype))
return;
for (;;) {
- ret = uvm_fault(map, va, 0, atype);
- if (ret != KERN_RESOURCE_SHORTAGE)
+ error = uvm_fault(map, va, 0, atype);
+ if (error != ENOMEM)
break;
log(LOG_WARNING, "pid %d: VM shortage, sleeping\n", p->p_pid);
tsleep(&lbolt, PVM, "abtretry", 0);
}
- if (ret != KERN_SUCCESS) {
+ if (error != 0) {
#ifdef DEBUG
printf("unhandled fault at %p (ret = %d)\n", (void *)va, ret);
printregs(tf);
diff --git a/sys/arch/arm26/arm26/machdep.c b/sys/arch/arm26/arm26/machdep.c
index 541fd149381..674562911df 100644
--- a/sys/arch/arm26/arm26/machdep.c
+++ b/sys/arch/arm26/arm26/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.5 2000/09/13 15:00:17 thorpej Exp $ */
+/* $NetBSD: machdep.c,v 1.6 2001/03/15 06:10:36 chs Exp $ */
/*-
* Copyright (c) 1998 Ben Harris
@@ -33,7 +33,7 @@
#include <sys/param.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.5 2000/09/13 15:00:17 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.6 2001/03/15 06:10:36 chs Exp $");
#include <sys/buf.h>
#include <sys/mbuf.h>
@@ -138,7 +138,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("cpu_startup: cannot allocate VM for buffers");
base = bufpages / nbuf;
residual = bufpages % nbuf;
diff --git a/sys/arch/arm26/arm26/pmap.c b/sys/arch/arm26/arm26/pmap.c
index 128ebb896f0..12f94155f41 100644
--- a/sys/arch/arm26/arm26/pmap.c
+++ b/sys/arch/arm26/arm26/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.17 2001/02/17 19:09:51 bjh21 Exp $ */
+/* $NetBSD: pmap.c,v 1.18 2001/03/15 06:10:36 chs Exp $ */
/*-
* Copyright (c) 1997, 1998, 2000 Ben Harris
* All rights reserved.
@@ -105,7 +105,7 @@
#include <sys/param.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.17 2001/02/17 19:09:51 bjh21 Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.18 2001/03/15 06:10:36 chs Exp $");
#include <sys/kernel.h> /* for cold */
#include <sys/malloc.h>
@@ -640,7 +640,7 @@ pmap_enter(pmap_t pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, int flags)
if (pmap->pm_flags & PM_ACTIVE)
MEMC_WRITE(pv->pv_activate);
- return KERN_SUCCESS;
+ return 0;
}
/* Remove a range of virtual mappings from a pmap */
diff --git a/sys/arch/arm32/arm32/fault.c b/sys/arch/arm32/arm32/fault.c
index 2b2a6f5d877..25a4efada2c 100644
--- a/sys/arch/arm32/arm32/fault.c
+++ b/sys/arch/arm32/arm32/fault.c
@@ -1,4 +1,4 @@
-/* $NetBSD: fault.c,v 1.51 2001/03/04 19:05:56 matt Exp $ */
+/* $NetBSD: fault.c,v 1.52 2001/03/15 06:10:36 chs Exp $ */
/*
* Copyright (c) 1994-1997 Mark Brinicombe.
@@ -419,7 +419,7 @@ copyfault:
pcb->pcb_onfault = NULL;
rv = uvm_fault(map, va, 0, ftype);
pcb->pcb_onfault = onfault;
- if (rv == KERN_SUCCESS)
+ if (rv == 0)
goto out;
if (user == 0) {
@@ -431,7 +431,7 @@ copyfault:
}
report_abort("", fault_status, fault_address, fault_pc);
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: "
"out of swap\n", p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
@@ -612,16 +612,14 @@ cowfault(va)
vaddr_t va;
{
struct vmspace *vm;
+ int error;
if (va >= VM_MAXUSER_ADDRESS)
return (EFAULT);
vm = curproc->p_vmspace;
- if (uvm_fault(&vm->vm_map, va, 0, VM_PROT_READ | VM_PROT_WRITE)
- != KERN_SUCCESS)
- return (EFAULT);
-
- return (0);
+ error = uvm_fault(&vm->vm_map, va, 0, VM_PROT_READ | VM_PROT_WRITE);
+ return error;
}
/* End of fault.c */
diff --git a/sys/arch/arm32/arm32/machdep.c b/sys/arch/arm32/arm32/machdep.c
index 00ce8c2737e..e3a83b41c75 100644
--- a/sys/arch/arm32/arm32/machdep.c
+++ b/sys/arch/arm32/arm32/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.89 2001/03/04 23:25:01 bjh21 Exp $ */
+/* $NetBSD: machdep.c,v 1.90 2001/03/15 06:10:36 chs Exp $ */
/*
* Copyright (c) 1994-1998 Mark Brinicombe.
@@ -394,7 +394,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *)&buffers, round_page(bufsize),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("cpu_startup: cannot allocate UVM space for buffers");
minaddr = (vaddr_t)buffers;
if ((bufpages / nbuf) >= btoc(MAXBSIZE)) {
diff --git a/sys/arch/atari/atari/machdep.c b/sys/arch/atari/atari/machdep.c
index fd34d48adf9..c28543d05e4 100644
--- a/sys/arch/atari/atari/machdep.c
+++ b/sys/arch/atari/atari/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.106 2001/02/09 21:47:46 leo Exp $ */
+/* $NetBSD: machdep.c,v 1.107 2001/03/15 06:10:37 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -226,7 +226,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
if ((bufpages / nbuf) >= btoc(MAXBSIZE)) {
@@ -288,8 +288,7 @@ cpu_startup()
* XXX This is bogus; should just fix KERNBASE and
* XXX VM_MIN_KERNEL_ADDRESS, but not right now.
*/
- if (uvm_map_protect(kernel_map, 0, NBPG, UVM_PROT_NONE, TRUE)
- != KERN_SUCCESS)
+ if (uvm_map_protect(kernel_map, 0, NBPG, UVM_PROT_NONE, TRUE) != 0)
panic("can't mark page 0 off-limits");
/*
@@ -300,7 +299,7 @@ cpu_startup()
* XXX of NBPG.
*/
if (uvm_map_protect(kernel_map, NBPG, m68k_round_page(&etext),
- UVM_PROT_READ|UVM_PROT_EXEC, TRUE) != KERN_SUCCESS)
+ UVM_PROT_READ|UVM_PROT_EXEC, TRUE) != 0)
panic("can't protect kernel text");
#ifdef DEBUG
diff --git a/sys/arch/atari/atari/pmap.c b/sys/arch/atari/atari/pmap.c
index ff3fb707a89..0661c35370b 100644
--- a/sys/arch/atari/atari/pmap.c
+++ b/sys/arch/atari/atari/pmap.c
@@ -476,14 +476,14 @@ pmap_init()
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS)
+ UVM_FLAG_FIXED)) != 0)
goto bogons;
addr = (vaddr_t) Sysmap;
if (uvm_map(kernel_map, &addr, ATARI_KPTSIZE,
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS) {
+ UVM_FLAG_FIXED)) != 0) {
/*
* If this fails, it is probably because the static
* portion of the kernel page table isn't big enough
@@ -575,11 +575,9 @@ pmap_init()
rv = uvm_map(kernel_map, &addr, s, NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
UVM_ADV_RANDOM, UVM_FLAG_NOMERGE));
- if (rv != KERN_SUCCESS || (addr + s) >= (vaddr_t)Sysmap)
+ if (rv != 0 || (addr + s) >= (vaddr_t)Sysmap)
panic("pmap_init: kernel PT too small");
- rv = uvm_unmap(kernel_map, addr, addr + s);
- if (rv != KERN_SUCCESS)
- panic("pmap_init: uvm_unmap failed");
+ uvm_unmap(kernel_map, addr, addr + s);
/*
* Now allocate the space and link the pages together to
@@ -1106,11 +1104,6 @@ pmap_enter(pmap, va, pa, prot, flags)
if (pmapdebug & (PDB_FOLLOW|PDB_ENTER))
printf("pmap_enter(%p, %lx, %lx, %x, %x)\n",
pmap, va, pa, prot, wired);
-#endif
- if (pmap == NULL)
- return (KERN_SUCCESS);
-
-#ifdef DEBUG
if (pmap == pmap_kernel())
enter_stats.kernel++;
else
@@ -1344,7 +1337,7 @@ validate:
}
#endif
- return (KERN_SUCCESS);
+ return 0;
}
void
@@ -2516,7 +2509,7 @@ pmap_enter_ptpage(pmap, va)
#endif
s = uvm_fault_wire(pt_map, va, va + PAGE_SIZE,
VM_PROT_READ|VM_PROT_WRITE);
- if (s != KERN_SUCCESS) {
+ if (s != 0) {
printf("uvm_fault_wire(pt_map, 0x%lx, 0%lx, RW) "
"-> %d\n", va, va + PAGE_SIZE, s);
panic("pmap_enter: uvm_fault_wire failed");
diff --git a/sys/arch/atari/atari/trap.c b/sys/arch/atari/atari/trap.c
index 8c1854112fa..04b568b2344 100644
--- a/sys/arch/atari/atari/trap.c
+++ b/sys/arch/atari/atari/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.57 2000/12/23 09:35:51 jdolecek Exp $ */
+/* $NetBSD: trap.c,v 1.58 2001/03/15 06:10:37 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -625,16 +625,16 @@ trap(type, code, v, frame)
*/
if ((vm != NULL && (caddr_t)va >= vm->vm_maxsaddr)
&& map != kernel_map) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
unsigned nss;
nss = btoc(USRSTACK-(unsigned)va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
if (type == T_MMUFLT) {
#ifdef M68040
if (cputype == CPU_68040)
@@ -656,7 +656,7 @@ trap(type, code, v, frame)
panictrap(type, code, v, &frame);
}
ucode = v;
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
diff --git a/sys/arch/bebox/bebox/machdep.c b/sys/arch/bebox/bebox/machdep.c
index 5ef01b3bb8c..bec84ae7a95 100644
--- a/sys/arch/bebox/bebox/machdep.c
+++ b/sys/arch/bebox/bebox/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.59 2001/02/24 22:39:16 matt Exp $ */
+/* $NetBSD: machdep.c,v 1.60 2001/03/15 06:10:38 chs Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -490,7 +490,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *)&buffers, round_page(sz),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
base = bufpages / nbuf;
diff --git a/sys/arch/cobalt/cobalt/machdep.c b/sys/arch/cobalt/cobalt/machdep.c
index 02136b4512d..f46178148a3 100644
--- a/sys/arch/cobalt/cobalt/machdep.c
+++ b/sys/arch/cobalt/cobalt/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.26 2001/02/05 13:18:28 tsutsui Exp $ */
+/* $NetBSD: machdep.c,v 1.27 2001/03/15 06:10:38 chs Exp $ */
/*
* Copyright (c) 2000 Soren S. Jorvang. All rights reserved.
@@ -253,7 +253,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *)&buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
base = bufpages / nbuf;
diff --git a/sys/arch/hp300/dev/grf.c b/sys/arch/hp300/dev/grf.c
index 0d69f1a14c5..7d005dc0af6 100644
--- a/sys/arch/hp300/dev/grf.c
+++ b/sys/arch/hp300/dev/grf.c
@@ -1,4 +1,4 @@
-/* $NetBSD: grf.c,v 1.37 2000/06/29 08:23:02 mrg Exp $ */
+/* $NetBSD: grf.c,v 1.38 2001/03/15 06:10:38 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -664,9 +664,8 @@ grfunmap(dev, addr, p)
return(EINVAL); /* XXX: how do we deal with this? */
(void) (*gp->g_sw->gd_mode)(gp, GM_UNMAP, 0);
size = round_page(gp->g_display.gd_regsize + gp->g_display.gd_fbsize);
- rv = uvm_unmap(&p->p_vmspace->vm_map, (vaddr_t)addr,
- (vaddr_t)addr + size);
- return(rv == KERN_SUCCESS ? 0 : EINVAL);
+ uvm_unmap(&p->p_vmspace->vm_map, (vaddr_t)addr, (vaddr_t)addr + size);
+ return 0;
}
#ifdef COMPAT_HPUX
diff --git a/sys/arch/hp300/hp300/machdep.c b/sys/arch/hp300/hp300/machdep.c
index 6c1ad02f76f..12b5ae3709b 100644
--- a/sys/arch/hp300/hp300/machdep.c
+++ b/sys/arch/hp300/hp300/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.144 2001/01/02 04:28:38 simonb Exp $ */
+/* $NetBSD: machdep.c,v 1.145 2001/03/15 06:10:38 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -342,7 +342,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
base = bufpages / nbuf;
@@ -407,8 +407,7 @@ cpu_startup()
* XXX This is bogus; should just fix KERNBASE and
* XXX VM_MIN_KERNEL_ADDRESS, but not right now.
*/
- if (uvm_map_protect(kernel_map, 0, NBPG, UVM_PROT_NONE, TRUE)
- != KERN_SUCCESS)
+ if (uvm_map_protect(kernel_map, 0, NBPG, UVM_PROT_NONE, TRUE) != 0)
panic("can't mark page 0 off-limits");
/*
@@ -419,7 +418,7 @@ cpu_startup()
* XXX of NBPG.
*/
if (uvm_map_protect(kernel_map, NBPG, m68k_round_page(&etext),
- UVM_PROT_READ|UVM_PROT_EXEC, TRUE) != KERN_SUCCESS)
+ UVM_PROT_READ|UVM_PROT_EXEC, TRUE) != 0)
panic("can't protect kernel text");
/*
diff --git a/sys/arch/hp300/hp300/pmap.c b/sys/arch/hp300/hp300/pmap.c
index be839044f9e..2f602329b37 100644
--- a/sys/arch/hp300/hp300/pmap.c
+++ b/sys/arch/hp300/hp300/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.87 2001/01/14 03:30:55 thorpej Exp $ */
+/* $NetBSD: pmap.c,v 1.88 2001/03/15 06:10:38 chs Exp $ */
/*-
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -403,14 +403,14 @@ pmap_init()
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS)
+ UVM_FLAG_FIXED)) != 0)
goto bogons;
addr = (vaddr_t) Sysmap;
if (uvm_map(kernel_map, &addr, HP_MAX_PTSIZE,
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS) {
+ UVM_FLAG_FIXED)) != 0) {
/*
* If this fails, it is probably because the static
* portion of the kernel page table isn't big enough
@@ -484,11 +484,9 @@ pmap_init()
rv = uvm_map(kernel_map, &addr, s, NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
UVM_ADV_RANDOM, UVM_FLAG_NOMERGE));
- if (rv != KERN_SUCCESS || (addr + s) >= (vaddr_t)Sysmap)
+ if (rv != 0 || (addr + s) >= (vaddr_t)Sysmap)
panic("pmap_init: kernel PT too small");
- rv = uvm_unmap(kernel_map, addr, addr + s);
- if (rv != KERN_SUCCESS)
- panic("pmap_init: uvm_unmap failed");
+ uvm_unmap(kernel_map, addr, addr + s);
/*
* Now allocate the space and link the pages together to
@@ -1164,9 +1162,6 @@ pmap_enter(pmap, va, pa, prot, flags)
("pmap_enter(%p, %lx, %lx, %x, %x)\n",
pmap, va, pa, prot, wired));
- if (pmap == NULL)
- return (KERN_SUCCESS);
-
#ifdef DIAGNOSTIC
/*
* pmap_enter() should never be used for CADDR1 and CADDR2.
@@ -1423,7 +1418,7 @@ validate:
pmap_check_wiring("enter", trunc_page((vaddr_t)pte));
#endif
- return (KERN_SUCCESS);
+ return 0;
}
void
@@ -2027,9 +2022,9 @@ pmap_mapmulti(pmap, va)
if (*ste == SG_NV && (*bste & SG_V)) {
*ste = *bste;
TBIAU();
- return (KERN_SUCCESS);
+ return 0;
}
- return (KERN_INVALID_ADDRESS);
+ return EFAULT;
}
#endif /* COMPAT_HPUX */
@@ -2598,7 +2593,7 @@ pmap_enter_ptpage(pmap, va)
("enter: about to fault UPT pg at %lx\n", va));
s = uvm_fault_wire(pt_map, va, va + PAGE_SIZE,
VM_PROT_READ|VM_PROT_WRITE);
- if (s != KERN_SUCCESS) {
+ if (s != 0) {
printf("uvm_fault_wire(pt_map, 0x%lx, 0x%lx, RW) "
"-> %d\n", va, va + PAGE_SIZE, s);
panic("pmap_enter: uvm_fault_wire failed");
diff --git a/sys/arch/hp300/hp300/trap.c b/sys/arch/hp300/hp300/trap.c
index 8a87710d3f1..b07a8d56b02 100644
--- a/sys/arch/hp300/hp300/trap.c
+++ b/sys/arch/hp300/hp300/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.86 2001/01/15 20:19:54 thorpej Exp $ */
+/* $NetBSD: trap.c,v 1.87 2001/03/15 06:10:39 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -604,10 +604,10 @@ trap(type, code, v, frame)
vaddr_t bva;
rv = pmap_mapmulti(map->pmap, va);
- if (rv != KERN_SUCCESS) {
+ if (rv != 0) {
bva = HPMMBASEADDR(va);
rv = uvm_fault(map, bva, 0, ftype);
- if (rv == KERN_SUCCESS)
+ if (rv == 0)
(void) pmap_mapmulti(map->pmap, va);
}
} else
@@ -627,16 +627,16 @@ trap(type, code, v, frame)
*/
if ((vm != NULL && (caddr_t)va >= vm->vm_maxsaddr)
&& map != kernel_map) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
unsigned nss;
nss = btoc(USRSTACK-(unsigned)va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
if (type == T_MMUFLT) {
#ifdef M68040
if (cputype == CPU_68040)
@@ -656,7 +656,7 @@ trap(type, code, v, frame)
goto dopanic;
}
ucode = v;
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
diff --git a/sys/arch/hpcarm/hpcarm/fault.c b/sys/arch/hpcarm/hpcarm/fault.c
index b7b61c2ca0d..086743e342a 100644
--- a/sys/arch/hpcarm/hpcarm/fault.c
+++ b/sys/arch/hpcarm/hpcarm/fault.c
@@ -1,4 +1,4 @@
-/* $NetBSD: fault.c,v 1.2 2001/02/28 18:15:44 bjh21 Exp $ */
+/* $NetBSD: fault.c,v 1.3 2001/03/15 06:10:39 chs Exp $ */
/*
* Copyright (c) 1994-1997 Mark Brinicombe.
@@ -427,7 +427,7 @@ copyfault:
pcb->pcb_onfault = NULL;
rv = uvm_fault(map, va, 0, ftype);
pcb->pcb_onfault = onfault;
- if (rv == KERN_SUCCESS)
+ if (rv == 0)
goto out;
if (user == 0) {
@@ -439,7 +439,7 @@ copyfault:
}
report_abort("", fault_status, fault_address, fault_pc);
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: "
"out of swap\n", p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
@@ -625,11 +625,8 @@ cowfault(va)
return (EFAULT);
vm = curproc->p_vmspace;
- if (uvm_fault(&vm->vm_map, va, 0, VM_PROT_READ | VM_PROT_WRITE)
- != KERN_SUCCESS)
- return (EFAULT);
-
- return (0);
+ error = uvm_fault(&vm->vm_map, va, 0, VM_PROT_READ | VM_PROT_WRITE);
+ return error;
}
/* End of fault.c */
diff --git a/sys/arch/hpcarm/hpcarm/machdep.c b/sys/arch/hpcarm/hpcarm/machdep.c
index 419462a9c1f..93ee42ebf67 100644
--- a/sys/arch/hpcarm/hpcarm/machdep.c
+++ b/sys/arch/hpcarm/hpcarm/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.5 2001/03/09 12:13:15 toshii Exp $ */
+/* $NetBSD: machdep.c,v 1.6 2001/03/15 06:10:39 chs Exp $ */
/*
* Copyright (c) 1994-1998 Mark Brinicombe.
@@ -393,7 +393,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vm_offset_t *)&buffers, round_page(bufsize),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("cpu_startup: cannot allocate UVM space for buffers");
minaddr = (vm_offset_t)buffers;
if ((bufpages / nbuf) >= btoc(MAXBSIZE)) {
diff --git a/sys/arch/hpcmips/hpcmips/machdep.c b/sys/arch/hpcmips/hpcmips/machdep.c
index 1bb449d33d1..5d5dfa8015f 100644
--- a/sys/arch/hpcmips/hpcmips/machdep.c
+++ b/sys/arch/hpcmips/hpcmips/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.41 2001/02/09 20:42:28 uch Exp $ */
+/* $NetBSD: machdep.c,v 1.42 2001/03/15 06:10:39 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -43,7 +43,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.41 2001/02/09 20:42:28 uch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.42 2001/03/15 06:10:39 chs Exp $");
/* from: Utah Hdr: machdep.c 1.63 91/04/24 */
#include "opt_vr41x1.h"
@@ -487,7 +487,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *)&buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("cpu_startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
diff --git a/sys/arch/i386/i386/machdep.c b/sys/arch/i386/i386/machdep.c
index da388354759..852d49c6437 100644
--- a/sys/arch/i386/i386/machdep.c
+++ b/sys/arch/i386/i386/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.429 2001/02/11 19:03:50 chs Exp $ */
+/* $NetBSD: machdep.c,v 1.430 2001/03/15 06:10:40 chs Exp $ */
/*-
* Copyright (c) 1996, 1997, 1998, 2000 The NetBSD Foundation, Inc.
@@ -405,7 +405,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("cpu_startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
if ((bufpages / nbuf) >= btoc(MAXBSIZE)) {
diff --git a/sys/arch/i386/i386/pmap.c b/sys/arch/i386/i386/pmap.c
index 034528e5902..9e40d3e23bf 100644
--- a/sys/arch/i386/i386/pmap.c
+++ b/sys/arch/i386/i386/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.118 2001/01/14 03:30:28 thorpej Exp $ */
+/* $NetBSD: pmap.c,v 1.119 2001/03/15 06:10:40 chs Exp $ */
/*
*
@@ -1322,9 +1322,8 @@ pmap_free_pvpage()
/* unmap the page */
dead_entries = NULL;
- (void)uvm_unmap_remove(map, (vaddr_t) pvp,
- ((vaddr_t) pvp) + PAGE_SIZE,
- &dead_entries);
+ uvm_unmap_remove(map, (vaddr_t)pvp, ((vaddr_t)pvp) + PAGE_SIZE,
+ &dead_entries);
vm_map_unlock(map);
if (dead_entries != NULL)
@@ -2848,7 +2847,7 @@ pmap_enter(pmap, va, pa, prot, flags)
ptp = pmap_get_ptp(pmap, pdei(va));
if (ptp == NULL) {
if (flags & PMAP_CANFAIL) {
- return (KERN_RESOURCE_SHORTAGE);
+ return ENOMEM;
}
panic("pmap_enter: get ptp failed");
}
@@ -2948,7 +2947,7 @@ pmap_enter(pmap, va, pa, prot, flags)
pve = pmap_alloc_pv(pmap, ALLOCPV_NEED);
if (pve == NULL) {
if (flags & PMAP_CANFAIL) {
- error = KERN_RESOURCE_SHORTAGE;
+ error = ENOMEM;
goto out;
}
panic("pmap_enter: no pv entries available");
@@ -2986,7 +2985,7 @@ enter_now:
if ((opte & ~(PG_M|PG_U)) != npte && pmap_is_curpmap(pmap))
pmap_update_pg(va);
- error = KERN_SUCCESS;
+ error = 0;
out:
pmap_unmap_ptes(pmap);
diff --git a/sys/arch/i386/i386/trap.c b/sys/arch/i386/i386/trap.c
index a9b4874074b..e2619fb6893 100644
--- a/sys/arch/i386/i386/trap.c
+++ b/sys/arch/i386/i386/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.154 2001/02/05 11:12:05 chs Exp $ */
+/* $NetBSD: trap.c,v 1.155 2001/03/15 06:10:40 chs Exp $ */
/*-
* Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -352,7 +352,7 @@ trap(frame)
register vaddr_t va;
register struct vmspace *vm = p->p_vmspace;
register vm_map_t map;
- int rv;
+ int error;
vm_prot_t ftype;
extern vm_map_t kernel_map;
unsigned nss;
@@ -406,9 +406,9 @@ trap(frame)
/* Fault the original page in. */
onfault = p->p_addr->u_pcb.pcb_onfault;
p->p_addr->u_pcb.pcb_onfault = NULL;
- rv = uvm_fault(map, va, 0, ftype);
+ error = uvm_fault(map, va, 0, ftype);
p->p_addr->u_pcb.pcb_onfault = onfault;
- if (rv == KERN_SUCCESS) {
+ if (error == 0) {
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
@@ -421,10 +421,10 @@ trap(frame)
if (pcb->pcb_onfault != 0)
goto copyfault;
printf("uvm_fault(%p, 0x%lx, 0, %d) -> %x\n",
- map, va, ftype, rv);
+ map, va, ftype, error);
goto we_re_toast;
}
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (error == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
@@ -518,8 +518,7 @@ trapwrite(addr)
nss = 0;
}
- if (uvm_fault(&vm->vm_map, va, 0, VM_PROT_READ | VM_PROT_WRITE)
- != KERN_SUCCESS)
+ if (uvm_fault(&vm->vm_map, va, 0, VM_PROT_READ | VM_PROT_WRITE) != 0)
return 1;
if (nss > vm->vm_ssize)
diff --git a/sys/arch/luna68k/luna68k/machdep.c b/sys/arch/luna68k/luna68k/machdep.c
index 03c370a1a97..f1e76d11881 100644
--- a/sys/arch/luna68k/luna68k/machdep.c
+++ b/sys/arch/luna68k/luna68k/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.13 2000/12/12 04:07:35 nisimura Exp $ */
+/* $NetBSD: machdep.c,v 1.14 2001/03/15 06:10:41 chs Exp $ */
/*-
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -38,7 +38,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.13 2000/12/12 04:07:35 nisimura Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.14 2001/03/15 06:10:41 chs Exp $");
#include "opt_ddb.h"
@@ -279,7 +279,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
if ((bufpages / nbuf) >= btoc(MAXBSIZE)) {
@@ -347,7 +347,7 @@ cpu_startup()
* XXX but not right now.
*/
if (uvm_map_protect(kernel_map, 0, round_page((vaddr_t)&kernel_text),
- UVM_PROT_NONE, TRUE) != KERN_SUCCESS)
+ UVM_PROT_NONE, TRUE) != 0)
panic("can't mark pre-text pages off-limits");
/*
@@ -356,7 +356,7 @@ cpu_startup()
*/
if (uvm_map_protect(kernel_map, trunc_page((vaddr_t)&kernel_text),
trunc_page((vaddr_t)&etext), UVM_PROT_READ|UVM_PROT_EXEC, TRUE)
- != KERN_SUCCESS)
+ != 0)
panic("can't protect kernel text");
/*
diff --git a/sys/arch/luna68k/luna68k/pmap.c b/sys/arch/luna68k/luna68k/pmap.c
index dc6608f3e0a..459f21dd0fb 100644
--- a/sys/arch/luna68k/luna68k/pmap.c
+++ b/sys/arch/luna68k/luna68k/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.7 2001/01/14 03:30:01 thorpej Exp $ */
+/* $NetBSD: pmap.c,v 1.8 2001/03/15 06:10:41 chs Exp $ */
/*-
* Copyright (c) 1999, 2000 The NetBSD Foundation, Inc.
@@ -377,14 +377,14 @@ pmap_init()
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS)
+ UVM_FLAG_FIXED)) != 0)
goto bogons;
addr = (vaddr_t) Sysmap;
if (uvm_map(kernel_map, &addr, MAX_PTSIZE,
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS) {
+ UVM_FLAG_FIXED)) != 0) {
/*
* If this fails, it is probably because the static
* portion of the kernel page table isn't big enough
@@ -458,11 +458,9 @@ pmap_init()
rv = uvm_map(kernel_map, &addr, s, NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
UVM_ADV_RANDOM, UVM_FLAG_NOMERGE));
- if (rv != KERN_SUCCESS || (addr + s) >= (vaddr_t)Sysmap)
+ if (rv != 0 || (addr + s) >= (vaddr_t)Sysmap)
panic("pmap_init: kernel PT too small");
- rv = uvm_unmap(kernel_map, addr, addr + s);
- if (rv != KERN_SUCCESS)
- panic("pmap_init: uvm_unmap failed");
+ uvm_unmap(kernel_map, addr, addr + s);
/*
* Now allocate the space and link the pages together to
@@ -1081,9 +1079,6 @@ pmap_enter(pmap, va, pa, prot, flags)
("pmap_enter(%p, %lx, %lx, %x, %x)\n",
pmap, va, pa, prot, wired));
- if (pmap == NULL)
- return (KERN_SUCCESS);
-
#ifdef DIAGNOSTIC
/*
* pmap_enter() should never be used for CADDR1 and CADDR2.
@@ -1272,7 +1267,7 @@ validate:
pmap_check_wiring("enter", trunc_page((vaddr_t)pte));
#endif
- return (KERN_SUCCESS);
+ return 0;
}
void
@@ -2317,7 +2312,7 @@ pmap_enter_ptpage(pmap, va)
("enter: about to fault UPT pg at %lx\n", va));
s = uvm_fault_wire(pt_map, va, va + PAGE_SIZE,
VM_PROT_READ|VM_PROT_WRITE);
- if (s != KERN_SUCCESS) {
+ if (s != 0) {
printf("uvm_fault_wire(pt_map, 0x%lx, 0x%lx, RW) "
"-> %d\n", va, va + PAGE_SIZE, s);
panic("pmap_enter: uvm_fault_wire failed");
diff --git a/sys/arch/luna68k/luna68k/trap.c b/sys/arch/luna68k/luna68k/trap.c
index d65fe87d87d..70f1ef19f69 100644
--- a/sys/arch/luna68k/luna68k/trap.c
+++ b/sys/arch/luna68k/luna68k/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.13 2001/01/15 20:19:54 thorpej Exp $ */
+/* $NetBSD: trap.c,v 1.14 2001/03/15 06:10:41 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -44,7 +44,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.13 2001/01/15 20:19:54 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.14 2001/03/15 06:10:41 chs Exp $");
#include "opt_ddb.h"
#include "opt_execfmt.h"
@@ -551,16 +551,16 @@ trap(type, code, v, frame)
*/
if ((vm != NULL && (caddr_t)va >= vm->vm_maxsaddr)
&& map != kernel_map) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
unsigned nss;
nss = btoc(USRSTACK-(unsigned)va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
if (type == T_MMUFLT) {
#ifdef M68040
if (cputype == CPU_68040)
@@ -580,7 +580,7 @@ trap(type, code, v, frame)
goto dopanic;
}
ucode = v;
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
diff --git a/sys/arch/mac68k/dev/grf_compat.c b/sys/arch/mac68k/dev/grf_compat.c
index b6e474efc0b..7f2fba2298c 100644
--- a/sys/arch/mac68k/dev/grf_compat.c
+++ b/sys/arch/mac68k/dev/grf_compat.c
@@ -1,4 +1,4 @@
-/* $NetBSD: grf_compat.c,v 1.5 2000/06/29 08:15:11 mrg Exp $ */
+/* $NetBSD: grf_compat.c,v 1.6 2001/03/15 06:10:41 chs Exp $ */
/*
* Copyright (C) 1999 Scott Reynolds
@@ -395,9 +395,6 @@ grfunmap(dev, sc, addr, p)
return (-1);
size = m68k_round_page(sc->sc_dc->dc_offset + sc->sc_dc->dc_size);
-
- rv = uvm_unmap(&p->p_vmspace->vm_map, (vaddr_t)addr,
- (vaddr_t)addr + size);
-
- return (rv == KERN_SUCCESS ? 0 : EINVAL);
+ uvm_unmap(&p->p_vmspace->vm_map, (vaddr_t)addr, (vaddr_t)addr + size);
+ return 0;
}
diff --git a/sys/arch/mac68k/mac68k/machdep.c b/sys/arch/mac68k/mac68k/machdep.c
index 74d91f38b89..21bd18fa590 100644
--- a/sys/arch/mac68k/mac68k/machdep.c
+++ b/sys/arch/mac68k/mac68k/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.259 2000/12/05 21:38:38 scottr Exp $ */
+/* $NetBSD: machdep.c,v 1.260 2001/03/15 06:10:41 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -424,7 +424,7 @@ cpu_startup(void)
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
- UVM_INH_NONE, UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_INH_NONE, UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
base = bufpages / nbuf;
diff --git a/sys/arch/mac68k/mac68k/pmap.c b/sys/arch/mac68k/mac68k/pmap.c
index e6d7fe53d95..acba9eacb54 100644
--- a/sys/arch/mac68k/mac68k/pmap.c
+++ b/sys/arch/mac68k/mac68k/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.70 2001/02/12 22:00:08 briggs Exp $ */
+/* $NetBSD: pmap.c,v 1.71 2001/03/15 06:10:42 chs Exp $ */
/*-
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -397,14 +397,14 @@ pmap_init()
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS)
+ UVM_FLAG_FIXED)) != 0)
goto bogons;
addr = (vaddr_t)Sysmap;
if (uvm_map(kernel_map, &addr, MAC_MAX_PTSIZE,
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS) {
+ UVM_FLAG_FIXED)) != 0) {
/*
* If this fails, it is probably because the static
* portion of the kernel page table isn't big enough
@@ -478,11 +478,9 @@ pmap_init()
rv = uvm_map(kernel_map, &addr, s, NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
UVM_ADV_RANDOM, UVM_FLAG_NOMERGE));
- if (rv != KERN_SUCCESS || (addr + s) >= (vaddr_t)Sysmap)
+ if (rv != 0 || (addr + s) >= (vaddr_t)Sysmap)
panic("pmap_init: kernel PT too small");
- rv = uvm_unmap(kernel_map, addr, addr + s);
- if (rv != KERN_SUCCESS)
- panic("pmap_init: uvm_unmap failed");
+ uvm_unmap(kernel_map, addr, addr + s);
/*
* Now allocate the space and link the pages together to
@@ -1110,9 +1108,6 @@ pmap_enter(pmap, va, pa, prot, flags)
("pmap_enter(%p, %lx, %lx, %x, %x)\n",
pmap, va, pa, prot, wired));
- if (pmap == NULL)
- return (KERN_SUCCESS);
-
#ifdef DIAGNOSTIC
/*
* pmap_enter() should never be used for CADDR1 and CADDR2.
@@ -1299,7 +1294,7 @@ validate:
pmap_check_wiring("enter", trunc_page((vaddr_t)pte));
#endif
- return (KERN_SUCCESS);
+ return 0;
}
void
@@ -2340,7 +2335,7 @@ pmap_enter_ptpage(pmap, va)
("enter: about to fault UPT pg at %lx\n", va));
s = uvm_fault_wire(pt_map, va, va + PAGE_SIZE,
VM_PROT_READ|VM_PROT_WRITE);
- if (s != KERN_SUCCESS) {
+ if (s != 0) {
printf("uvm_fault_wire(pt_map, 0x%lx, 0x%lx, RW) "
"-> %d\n", va, va + PAGE_SIZE, s);
panic("pmap_enter: uvm_fault_wire failed");
diff --git a/sys/arch/mac68k/mac68k/trap.c b/sys/arch/mac68k/mac68k/trap.c
index 0bb898db972..8b5bab4d6a7 100644
--- a/sys/arch/mac68k/mac68k/trap.c
+++ b/sys/arch/mac68k/mac68k/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.91 2001/01/17 19:03:14 thorpej Exp $ */
+/* $NetBSD: trap.c,v 1.92 2001/03/15 06:10:42 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -597,16 +597,16 @@ copyfault:
*/
if ((vm != NULL && (caddr_t)va >= vm->vm_maxsaddr)
&& map != kernel_map) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
u_int nss;
nss = btoc(USRSTACK - (u_int)va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
if (type == T_MMUFLT) {
#if defined(M68040)
if (mmutype == MMU_68040)
@@ -626,7 +626,7 @@ copyfault:
goto dopanic;
}
ucode = v;
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
diff --git a/sys/arch/macppc/macppc/machdep.c b/sys/arch/macppc/macppc/machdep.c
index 8bf36ea7ffa..b0b55db6c8d 100644
--- a/sys/arch/macppc/macppc/machdep.c
+++ b/sys/arch/macppc/macppc/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.90 2001/02/24 22:39:18 matt Exp $ */
+/* $NetBSD: machdep.c,v 1.91 2001/03/15 06:10:42 chs Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -458,7 +458,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *)&minaddr, round_page(sz),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
buffers = (char *)minaddr;
base = bufpages / nbuf;
diff --git a/sys/arch/mips/mips/pmap.c b/sys/arch/mips/mips/pmap.c
index 7e2932f6a1c..cdd7a810880 100644
--- a/sys/arch/mips/mips/pmap.c
+++ b/sys/arch/mips/mips/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.117 2001/01/14 03:28:57 thorpej Exp $ */
+/* $NetBSD: pmap.c,v 1.118 2001/03/15 06:10:43 chs Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -78,7 +78,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.117 2001/01/14 03:28:57 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.118 2001/03/15 06:10:43 chs Exp $");
/*
* Manages physical address maps.
@@ -1233,7 +1233,7 @@ pmap_enter(pmap, va, pa, prot, flags)
* Update the same virtual address entry.
*/
MachTLBUpdate(va, npte);
- return (KERN_SUCCESS);
+ return 0;
}
if (!(pte = pmap_segmap(pmap, va))) {
@@ -1241,7 +1241,7 @@ pmap_enter(pmap, va, pa, prot, flags)
UVM_PGA_USERESERVE|UVM_PGA_ZERO);
if (mem == NULL) {
if (flags & PMAP_CANFAIL)
- return (KERN_RESOURCE_SHORTAGE);
+ return ENOMEM;
panic("pmap_enter: cannot allocate segmap");
}
@@ -1325,7 +1325,7 @@ pmap_enter(pmap, va, pa, prot, flags)
}
#endif
- return (KERN_SUCCESS);
+ return 0;
}
void
diff --git a/sys/arch/mips/mips/trap.c b/sys/arch/mips/mips/trap.c
index a96658eedde..320b1ab9872 100644
--- a/sys/arch/mips/mips/trap.c
+++ b/sys/arch/mips/mips/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.160 2001/01/16 06:01:27 thorpej Exp $ */
+/* $NetBSD: trap.c,v 1.161 2001/03/15 06:10:43 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -44,7 +44,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.160 2001/01/16 06:01:27 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.161 2001/03/15 06:10:43 chs Exp $");
#include "opt_cputype.h" /* which mips CPU levels do we support? */
#include "opt_ktrace.h"
@@ -358,17 +358,17 @@ trap(status, cause, vaddr, opc, frame)
* error.
*/
if ((caddr_t)va >= vm->vm_maxsaddr) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
unsigned nss;
nss = btoc(USRSTACK-(unsigned)va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
}
- else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
if (type & T_USER) {
userret(p);
}
@@ -376,15 +376,14 @@ trap(status, cause, vaddr, opc, frame)
}
if ((type & T_USER) == 0)
goto copyfault;
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
p->p_ucred->cr_uid : -1);
sig = SIGKILL;
} else {
- sig = (rv == KERN_PROTECTION_FAILURE) ?
- SIGBUS : SIGSEGV;
+ sig = (rv == EACCES) ? SIGBUS : SIGSEGV;
}
ucode = vaddr;
break; /* SIGNAL */
@@ -396,7 +395,7 @@ trap(status, cause, vaddr, opc, frame)
va = trunc_page(vaddr);
rv = uvm_fault(kernel_map, va, 0, ftype);
- if (rv == KERN_SUCCESS)
+ if (rv == 0)
return; /* KERN */
/*FALLTHROUGH*/
}
@@ -472,7 +471,7 @@ trap(status, cause, vaddr, opc, frame)
ea = round_page(va + sizeof(int) - 1);
rv = uvm_map_protect(&p->p_vmspace->vm_map,
sa, ea, VM_PROT_DEFAULT, FALSE);
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
rv = suiword((void *)va, MIPS_BREAK_SSTEP);
(void)uvm_map_protect(&p->p_vmspace->vm_map,
sa, ea, VM_PROT_READ|VM_PROT_EXECUTE, FALSE);
@@ -747,7 +746,7 @@ mips_singlestep(p)
ea = round_page(va + sizeof(int) - 1);
rv = uvm_map_protect(&p->p_vmspace->vm_map,
sa, ea, VM_PROT_DEFAULT, FALSE);
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
rv = suiword((void *)va, MIPS_BREAK_SSTEP);
(void)uvm_map_protect(&p->p_vmspace->vm_map,
sa, ea, VM_PROT_READ|VM_PROT_EXECUTE, FALSE);
diff --git a/sys/arch/mipsco/mipsco/machdep.c b/sys/arch/mipsco/mipsco/machdep.c
index 977559df2c9..a12d2960299 100644
--- a/sys/arch/mipsco/mipsco/machdep.c
+++ b/sys/arch/mipsco/mipsco/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.18 2001/03/11 09:19:31 wdk Exp $ */
+/* $NetBSD: machdep.c,v 1.19 2001/03/15 06:10:43 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -43,7 +43,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.18 2001/03/11 09:19:31 wdk Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.19 2001/03/15 06:10:43 chs Exp $");
/* from: Utah Hdr: machdep.c 1.63 91/04/24 */
@@ -410,7 +410,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *)&buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
base = bufpages / nbuf;
diff --git a/sys/arch/mvme68k/mvme68k/machdep.c b/sys/arch/mvme68k/mvme68k/machdep.c
index 63011d100fb..a6b8c609fc5 100644
--- a/sys/arch/mvme68k/mvme68k/machdep.c
+++ b/sys/arch/mvme68k/mvme68k/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.77 2000/12/02 13:57:05 scw Exp $ */
+/* $NetBSD: machdep.c,v 1.78 2001/03/15 06:10:43 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -451,7 +451,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
base = bufpages / nbuf;
@@ -517,7 +517,7 @@ cpu_startup()
* XXX but not right now.
*/
if (uvm_map_protect(kernel_map, 0, round_page((vaddr_t)&kernel_text),
- UVM_PROT_NONE, TRUE) != KERN_SUCCESS)
+ UVM_PROT_NONE, TRUE) != 0)
panic("can't mark pre-text pages off-limits");
/*
@@ -526,7 +526,7 @@ cpu_startup()
*/
if (uvm_map_protect(kernel_map, trunc_page((vaddr_t)&kernel_text),
round_page((vaddr_t)&etext), UVM_PROT_READ|UVM_PROT_EXEC, TRUE)
- != KERN_SUCCESS)
+ != 0)
panic("can't protect kernel text");
/*
diff --git a/sys/arch/mvme68k/mvme68k/pmap.c b/sys/arch/mvme68k/mvme68k/pmap.c
index 0d3d0d63317..832d59a0981 100644
--- a/sys/arch/mvme68k/mvme68k/pmap.c
+++ b/sys/arch/mvme68k/mvme68k/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.51 2001/01/14 03:28:26 thorpej Exp $ */
+/* $NetBSD: pmap.c,v 1.52 2001/03/15 06:10:44 chs Exp $ */
/*-
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -390,14 +390,14 @@ pmap_init()
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS)
+ UVM_FLAG_FIXED)) != 0)
goto bogons;
addr = (vaddr_t) Sysmap;
if (uvm_map(kernel_map, &addr, HP_MAX_PTSIZE,
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS) {
+ UVM_FLAG_FIXED)) != 0) {
/*
* If this fails, it is probably because the static
* portion of the kernel page table isn't big enough
@@ -471,11 +471,9 @@ pmap_init()
rv = uvm_map(kernel_map, &addr, s, NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
UVM_ADV_RANDOM, UVM_FLAG_NOMERGE));
- if (rv != KERN_SUCCESS || (addr + s) >= (vaddr_t)Sysmap)
+ if (rv != 0 || (addr + s) >= (vaddr_t)Sysmap)
panic("pmap_init: kernel PT too small");
- rv = uvm_unmap(kernel_map, addr, addr + s);
- if (rv != KERN_SUCCESS)
- panic("pmap_init: uvm_unmap failed");
+ uvm_unmap(kernel_map, addr, addr + s);
/*
* Now allocate the space and link the pages together to
@@ -1129,9 +1127,6 @@ pmap_enter(pmap, va, pa, prot, flags)
("pmap_enter(%p, %lx, %lx, %x, %x)\n",
pmap, va, pa, prot, wired));
- if (pmap == NULL)
- return (KERN_SUCCESS);
-
#ifdef DIAGNOSTIC
/*
* pmap_enter() should never be used for CADDR1 and CADDR2.
@@ -1337,7 +1332,7 @@ validate:
pmap_check_wiring("enter", trunc_page((vaddr_t)pte));
#endif
- return (KERN_SUCCESS);
+ return 0;
}
void
@@ -2017,9 +2012,9 @@ pmap_mapmulti(pmap, va)
if (*ste == SG_NV && (*bste & SG_V)) {
*ste = *bste;
TBIAU();
- return (KERN_SUCCESS);
+ return 0;
}
- return (KERN_INVALID_ADDRESS);
+ return EFAULT;
}
#endif /* COMPAT_HPUX */
@@ -2562,7 +2557,7 @@ pmap_enter_ptpage(pmap, va)
("enter: about to fault UPT pg at %lx\n", va));
s = uvm_fault_wire(pt_map, va, va + PAGE_SIZE,
VM_PROT_READ|VM_PROT_WRITE);
- if (s != KERN_SUCCESS) {
+ if (s != 0) {
printf("uvm_fault_wire(pt_map, 0x%lx, 0x%lx, RW) "
"-> %d\n", va, va + PAGE_SIZE, s);
panic("pmap_enter: uvm_fault_wire failed");
diff --git a/sys/arch/mvme68k/mvme68k/trap.c b/sys/arch/mvme68k/mvme68k/trap.c
index 69aecbe7b0e..e1e8e7cbbf4 100644
--- a/sys/arch/mvme68k/mvme68k/trap.c
+++ b/sys/arch/mvme68k/mvme68k/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.54 2000/12/23 09:35:52 jdolecek Exp $ */
+/* $NetBSD: trap.c,v 1.55 2001/03/15 06:10:44 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -632,10 +632,10 @@ trap(type, code, v, frame)
vaddr_t bva;
rv = pmap_mapmulti(map->pmap, va);
- if (rv != KERN_SUCCESS) {
+ if (rv != 0) {
bva = HPMMBASEADDR(va);
rv = uvm_fault(map, bva, 0, ftype);
- if (rv == KERN_SUCCESS)
+ if (rv == 0)
(void) pmap_mapmulti(map->pmap, va);
}
} else
@@ -655,16 +655,16 @@ trap(type, code, v, frame)
*/
if ((vm != NULL && (caddr_t)va >= vm->vm_maxsaddr)
&& map != kernel_map) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
unsigned nss;
nss = btoc(USRSTACK-(unsigned)va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
if (type == T_MMUFLT) {
#ifdef M68040
#if defined(M68030) || defined(M68060)
@@ -686,7 +686,7 @@ trap(type, code, v, frame)
goto dopanic;
}
ucode = v;
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
diff --git a/sys/arch/news68k/news68k/machdep.c b/sys/arch/news68k/news68k/machdep.c
index e3bbf7a513a..27253291212 100644
--- a/sys/arch/news68k/news68k/machdep.c
+++ b/sys/arch/news68k/news68k/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.18 2001/02/25 13:33:54 tsutsui Exp $ */
+/* $NetBSD: machdep.c,v 1.19 2001/03/15 06:10:44 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -250,7 +250,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
base = bufpages / nbuf;
@@ -317,7 +317,7 @@ cpu_startup()
* XXX VM_MIN_KERNEL_ADDRESS, but not right now.
*/
if (uvm_map_protect(kernel_map, 0, m68k_round_page(&kernel_text),
- UVM_PROT_NONE, TRUE) != KERN_SUCCESS)
+ UVM_PROT_NONE, TRUE) != 0)
panic("can't mark pre-text pages off-limits");
/*
@@ -326,8 +326,7 @@ cpu_startup()
*
*/
if (uvm_map_protect(kernel_map, m68k_trunc_page(&kernel_text),
- m68k_round_page(&etext), UVM_PROT_READ|UVM_PROT_EXEC, TRUE)
- != KERN_SUCCESS)
+ m68k_round_page(&etext), UVM_PROT_READ|UVM_PROT_EXEC, TRUE) != 0)
panic("can't protect kernel text");
/*
diff --git a/sys/arch/news68k/news68k/pmap.c b/sys/arch/news68k/news68k/pmap.c
index 2a58603542e..fd3b38e2735 100644
--- a/sys/arch/news68k/news68k/pmap.c
+++ b/sys/arch/news68k/news68k/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.9 2001/01/14 03:28:00 thorpej Exp $ */
+/* $NetBSD: pmap.c,v 1.10 2001/03/15 06:10:44 chs Exp $ */
/*-
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -399,14 +399,14 @@ pmap_init()
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS)
+ UVM_FLAG_FIXED)) != 0)
goto bogons;
addr = (vaddr_t) Sysmap;
if (uvm_map(kernel_map, &addr, MAX_PTSIZE,
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS) {
+ UVM_FLAG_FIXED)) != 0) {
/*
* If this fails, it is probably because the static
* portion of the kernel page table isn't big enough
@@ -480,11 +480,9 @@ pmap_init()
rv = uvm_map(kernel_map, &addr, s, NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
UVM_ADV_RANDOM, UVM_FLAG_NOMERGE));
- if (rv != KERN_SUCCESS || (addr + s) >= (vaddr_t)Sysmap)
+ if (rv != 0 || (addr + s) >= (vaddr_t)Sysmap)
panic("pmap_init: kernel PT too small");
- rv = uvm_unmap(kernel_map, addr, addr + s);
- if (rv != KERN_SUCCESS)
- panic("pmap_init: uvm_unmap failed");
+ uvm_unmap(kernel_map, addr, addr + s);
/*
* Now allocate the space and link the pages together to
@@ -1177,9 +1175,6 @@ pmap_enter(pmap, va, pa, prot, flags)
("pmap_enter(%p, %lx, %lx, %x, %x)\n",
pmap, va, pa, prot, wired));
- if (pmap == NULL)
- return (KERN_SUCCESS);
-
#ifdef DIAGNOSTIC
/*
* pmap_enter() should never be used for CADDR1 and CADDR2.
@@ -1438,7 +1433,7 @@ validate:
pmap_check_wiring("enter", trunc_page((vaddr_t)pte));
#endif
- return (KERN_SUCCESS);
+ return 0;
}
void
@@ -2080,9 +2075,9 @@ pmap_mapmulti(pmap, va)
if (*ste == SG_NV && (*bste & SG_V)) {
*ste = *bste;
TBIAU();
- return (KERN_SUCCESS);
+ return 0;
}
- return (KERN_INVALID_ADDRESS);
+ return EFAULT;
}
#endif /* COMPAT_HPUX */
@@ -2656,7 +2651,7 @@ pmap_enter_ptpage(pmap, va)
("enter: about to fault UPT pg at %lx\n", va));
s = uvm_fault_wire(pt_map, va, va + PAGE_SIZE,
VM_PROT_READ|VM_PROT_WRITE);
- if (s != KERN_SUCCESS) {
+ if (s != 0) {
printf("uvm_fault_wire(pt_map, 0x%lx, 0x%lx, RW) "
"-> %d\n", va, va + PAGE_SIZE, s);
panic("pmap_enter: uvm_fault_wire failed");
diff --git a/sys/arch/news68k/news68k/trap.c b/sys/arch/news68k/news68k/trap.c
index 7ac1ec028b4..979567945e9 100644
--- a/sys/arch/news68k/news68k/trap.c
+++ b/sys/arch/news68k/news68k/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.13 2001/02/25 13:28:32 tsutsui Exp $ */
+/* $NetBSD: trap.c,v 1.14 2001/03/15 06:10:44 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -563,10 +563,10 @@ trap(type, code, v, frame)
vaddr_t bva;
rv = pmap_mapmulti(map->pmap, va);
- if (rv != KERN_SUCCESS) {
+ if (rv != 0) {
bva = HPMMBASEADDR(va);
rv = uvm_fault(map, bva, 0, ftype);
- if (rv == KERN_SUCCESS)
+ if (rv == 0)
(void) pmap_mapmulti(map->pmap, va);
}
} else
@@ -586,16 +586,16 @@ trap(type, code, v, frame)
*/
if ((vm != NULL && (caddr_t)va >= vm->vm_maxsaddr)
&& map != kernel_map) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
unsigned nss;
nss = btoc(USRSTACK-(unsigned)va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
if (type == T_MMUFLT) {
#ifdef M68040
if (cputype == CPU_68040)
@@ -615,7 +615,7 @@ trap(type, code, v, frame)
goto dopanic;
}
ucode = v;
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
diff --git a/sys/arch/newsmips/newsmips/machdep.c b/sys/arch/newsmips/newsmips/machdep.c
index 4549c9a2789..900aba9ca9c 100644
--- a/sys/arch/newsmips/newsmips/machdep.c
+++ b/sys/arch/newsmips/newsmips/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.52 2001/02/05 13:10:07 tsutsui Exp $ */
+/* $NetBSD: machdep.c,v 1.53 2001/03/15 06:10:45 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -43,7 +43,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.52 2001/02/05 13:10:07 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.53 2001/03/15 06:10:45 chs Exp $");
/* from: Utah Hdr: machdep.c 1.63 91/04/24 */
@@ -425,7 +425,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *)&buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
base = bufpages / nbuf;
diff --git a/sys/arch/next68k/next68k/machdep.c b/sys/arch/next68k/next68k/machdep.c
index 2e0e667928a..66a7a5f1b66 100644
--- a/sys/arch/next68k/next68k/machdep.c
+++ b/sys/arch/next68k/next68k/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.39 2000/09/24 12:32:37 jdolecek Exp $ */
+/* $NetBSD: machdep.c,v 1.40 2001/03/15 06:10:45 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -320,7 +320,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
base = bufpages / nbuf;
@@ -386,7 +386,7 @@ cpu_startup()
* XXX but not right now.
*/
if (uvm_map_protect(kernel_map, 0, round_page((vaddr_t)&kernel_text),
- UVM_PROT_NONE, TRUE) != KERN_SUCCESS)
+ UVM_PROT_NONE, TRUE) != 0)
panic("can't mark pre-text pages off-limits");
/*
@@ -395,7 +395,7 @@ cpu_startup()
*/
if (uvm_map_protect(kernel_map, trunc_page((vaddr_t)&kernel_text),
round_page((vaddr_t)&etext), UVM_PROT_READ|UVM_PROT_EXEC, TRUE)
- != KERN_SUCCESS)
+ != 0)
panic("can't protect kernel text");
/*
diff --git a/sys/arch/next68k/next68k/pmap.c b/sys/arch/next68k/next68k/pmap.c
index 53b2a7ee074..0f2804364cc 100644
--- a/sys/arch/next68k/next68k/pmap.c
+++ b/sys/arch/next68k/next68k/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.26 2001/01/14 03:27:19 thorpej Exp $ */
+/* $NetBSD: pmap.c,v 1.27 2001/03/15 06:10:45 chs Exp $ */
/*
* This file was taken from mvme68k/mvme68k/pmap.c
@@ -422,28 +422,28 @@ pmap_init()
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS)
+ UVM_FLAG_FIXED)) != 0)
goto bogons;
addr = (vaddr_t) monobase;
if (uvm_map(kernel_map, &addr, m68k_ptob(MONOMAPSIZE),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS)
+ UVM_FLAG_FIXED)) != 0)
goto bogons;
addr = (vaddr_t) colorbase;
if (uvm_map(kernel_map, &addr, m68k_ptob(COLORMAPSIZE),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS)
+ UVM_FLAG_FIXED)) != 0)
goto bogons;
addr = (vaddr_t) Sysmap;
if (uvm_map(kernel_map, &addr, HP_MAX_PTSIZE,
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS) {
+ UVM_FLAG_FIXED)) != 0) {
/*
* If this fails, it is probably because the static
* portion of the kernel page tabel isn't big enough
@@ -521,11 +521,9 @@ bogons:
rv = uvm_map(kernel_map, &addr, s, NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
UVM_ADV_RANDOM, UVM_FLAG_NOMERGE));
- if (rv != KERN_SUCCESS || (addr + s) >= (vaddr_t)Sysmap)
+ if (rv != 0 || (addr + s) >= (vaddr_t)Sysmap)
panic("pmap_init: kernel PT too small");
- rv = uvm_unmap(kernel_map, addr, addr + s);
- if (rv != KERN_SUCCESS)
- panic("pmap_init: uvm_unmap failed");
+ uvm_unmap(kernel_map, addr, addr + s);
/*
* Now allocate the space and link the pages together to
@@ -1228,9 +1226,6 @@ pmap_enter(pmap, va, pa, prot, flags)
printf("pmap_enter(%p, %lx, %lx, %x, %x)\n",
pmap, va, pa, prot, wired);
#endif
- if (pmap == NULL)
- return (KERN_SUCCESS);
-
#ifdef PMAPSTATS
if (pmap == pmap_kernel())
enter_stats.kernel++;
@@ -1528,7 +1523,7 @@ validate:
pmap_check_wiring("enter", trunc_page((vaddr_t)pte));
#endif
- return (KERN_SUCCESS);
+ return 0;
}
void
@@ -2047,9 +2042,9 @@ pmap_mapmulti(pmap, va)
if (*ste == SG_NV && (*bste & SG_V)) {
*ste = *bste;
TBIAU();
- return (KERN_SUCCESS);
+ return 0;
}
- return (KERN_INVALID_ADDRESS);
+ return EFAULT;
}
#endif
@@ -2678,7 +2673,7 @@ pmap_enter_ptpage(pmap, va)
#endif
s = uvm_fault_wire(pt_map, va, va + PAGE_SIZE,
VM_PROT_READ|VM_PROT_WRITE);
- if (s != KERN_SUCCESS) {
+ if (s != 0) {
printf("uvm_fault_wire(pt_map, 0x%lx, 0x%lx, RW) "
"-> %d\n", va, va + PAGE_SIZE, s);
panic("pmap_enter: uvm_fault_wire failed");
diff --git a/sys/arch/next68k/next68k/trap.c b/sys/arch/next68k/next68k/trap.c
index 83454dcde13..9c0d8442bf8 100644
--- a/sys/arch/next68k/next68k/trap.c
+++ b/sys/arch/next68k/next68k/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.30 2001/01/15 20:19:56 thorpej Exp $ */
+/* $NetBSD: trap.c,v 1.31 2001/03/15 06:10:45 chs Exp $ */
/*
* This file was taken from mvme68k/mvme68k/trap.c
@@ -612,10 +612,10 @@ trap(type, code, v, frame)
vaddr_t bva;
rv = pmap_mapmulti(map->pmap, va);
- if (rv != KERN_SUCCESS) {
+ if (rv != 0) {
bva = HPMMBASEADDR(va);
rv = uvm_fault(map, bva, 0, ftype);
- if (rv == KERN_SUCCESS)
+ if (rv == 0)
(void) pmap_mapmulti(map->pmap, va);
}
} else
@@ -635,16 +635,16 @@ trap(type, code, v, frame)
*/
if ((vm != NULL && (caddr_t)va >= vm->vm_maxsaddr)
&& map != kernel_map) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
unsigned nss;
nss = btoc(USRSTACK-(unsigned)va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
if (type == T_MMUFLT) {
#ifdef M68040
if (cputype == CPU_68040)
@@ -664,7 +664,7 @@ trap(type, code, v, frame)
goto dopanic;
}
ucode = v;
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
diff --git a/sys/arch/ofppc/ofppc/machdep.c b/sys/arch/ofppc/ofppc/machdep.c
index e7667454f8b..1ab578c17be 100644
--- a/sys/arch/ofppc/ofppc/machdep.c
+++ b/sys/arch/ofppc/ofppc/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.62 2001/02/24 22:39:19 matt Exp $ */
+/* $NetBSD: machdep.c,v 1.63 2001/03/15 06:10:46 chs Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -399,7 +399,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *)&buffers, round_page(sz),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
base = bufpages / nbuf;
diff --git a/sys/arch/pc532/pc532/machdep.c b/sys/arch/pc532/pc532/machdep.c
index 802c7129045..10f643575ed 100644
--- a/sys/arch/pc532/pc532/machdep.c
+++ b/sys/arch/pc532/pc532/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.118 2001/01/15 20:19:56 thorpej Exp $ */
+/* $NetBSD: machdep.c,v 1.119 2001/03/15 06:10:46 chs Exp $ */
/*-
* Copyright (c) 1996 Matthias Pfaller.
@@ -190,7 +190,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("cpu_startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
if ((bufpages / nbuf) >= btoc(MAXBSIZE)) {
@@ -250,7 +250,7 @@ cpu_startup()
if (uvm_map_protect(kernel_map,
ns532_round_page(&kernel_text),
ns532_round_page(&etext),
- UVM_PROT_READ|UVM_PROT_EXEC, TRUE) != KERN_SUCCESS)
+ UVM_PROT_READ|UVM_PROT_EXEC, TRUE) != 0)
panic("can't protect kernel text");
format_bytes(pbuf, sizeof(pbuf), ptoa(uvmexp.free));
diff --git a/sys/arch/pc532/pc532/pmap.c b/sys/arch/pc532/pc532/pmap.c
index 57121ea69ef..f80899fcd6a 100644
--- a/sys/arch/pc532/pc532/pmap.c
+++ b/sys/arch/pc532/pc532/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.55 2001/01/22 14:33:29 matthias Exp $ */
+/* $NetBSD: pmap.c,v 1.56 2001/03/15 06:10:46 chs Exp $ */
/*
*
@@ -1209,9 +1209,8 @@ pmap_free_pvpage()
/* unmap the page */
dead_entries = NULL;
- (void)uvm_unmap_remove(map, (vaddr_t) pvp,
- ((vaddr_t) pvp) + PAGE_SIZE,
- &dead_entries);
+ uvm_unmap_remove(map, (vaddr_t)pvp, ((vaddr_t)pvp) + PAGE_SIZE,
+ &dead_entries);
vm_map_unlock(map);
if (dead_entries != NULL)
@@ -2572,7 +2571,7 @@ pmap_enter(pmap, va, pa, prot, flags)
ptp = pmap_get_ptp(pmap, pdei(va));
if (ptp == NULL) {
if (flags & PMAP_CANFAIL) {
- return (KERN_RESOURCE_SHORTAGE);
+ return ENOMEM;
}
panic("pmap_enter: get ptp failed");
}
@@ -2672,7 +2671,7 @@ pmap_enter(pmap, va, pa, prot, flags)
pve = pmap_alloc_pv(pmap, ALLOCPV_NEED);
if (pve == NULL) {
if (flags & PMAP_CANFAIL) {
- error = KERN_RESOURCE_SHORTAGE;
+ error = ENOMEM;
goto out;
}
panic("pmap_enter: no pv entries available");
@@ -2708,7 +2707,7 @@ enter_now:
if ((opte & ~(PG_M|PG_U)) != npte && pmap_is_curpmap(pmap))
pmap_update_pg(va);
- error = KERN_SUCCESS;
+ error = 0;
/*
* The only time we need to flush the cache is if we execute
diff --git a/sys/arch/pc532/pc532/trap.c b/sys/arch/pc532/pc532/trap.c
index e579436323a..f7564c82c59 100644
--- a/sys/arch/pc532/pc532/trap.c
+++ b/sys/arch/pc532/pc532/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.43 2000/12/19 16:25:53 matthias Exp $ */
+/* $NetBSD: trap.c,v 1.44 2001/03/15 06:10:46 chs Exp $ */
/*-
* Copyright (c) 1996 Matthias Pfaller. All rights reserved.
@@ -393,14 +393,13 @@ trap(frame)
&& map != kernel_map) {
nss = btoc(USRSTACK-(unsigned)va);
if (nss > btoc(p->p_rlimit[RLIMIT_STACK].rlim_cur)) {
- rv = KERN_FAILURE;
- goto nogo;
+ nss = 0;
}
}
/* Fault the original page in. */
rv = uvm_fault(map, va, 0, ftype);
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
@@ -409,7 +408,6 @@ trap(frame)
goto out;
}
- nogo:
if (type == T_ABT) {
if (pcb->pcb_onfault != 0) {
copyfault:
@@ -420,7 +418,7 @@ trap(frame)
map, va, ftype, rv);
goto we_re_toast;
}
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
diff --git a/sys/arch/pmax/pmax/machdep.c b/sys/arch/pmax/pmax/machdep.c
index e9b90d48932..2c481c3f6cd 100644
--- a/sys/arch/pmax/pmax/machdep.c
+++ b/sys/arch/pmax/pmax/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.186 2001/01/22 13:56:57 jdolecek Exp $ */
+/* $NetBSD: machdep.c,v 1.187 2001/03/15 06:10:47 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -43,7 +43,7 @@
*/
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.186 2001/01/22 13:56:57 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.187 2001/03/15 06:10:47 chs Exp $");
#include "fs_mfs.h"
#include "opt_ddb.h"
@@ -424,7 +424,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *)&buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("cpu_startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
diff --git a/sys/arch/powerpc/powerpc/pmap.c b/sys/arch/powerpc/powerpc/pmap.c
index 634ea46294b..4f466f892d3 100644
--- a/sys/arch/powerpc/powerpc/pmap.c
+++ b/sys/arch/powerpc/powerpc/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.35 2001/03/07 08:18:45 tsubai Exp $ */
+/* $NetBSD: pmap.c,v 1.36 2001/03/15 06:10:47 chs Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -1038,7 +1038,7 @@ pmap_enter(pm, va, pa, prot, flags)
*/
if (pte_insert(idx, &pte)) {
splx(s);
- return (KERN_SUCCESS);
+ return 0;
}
/*
@@ -1051,7 +1051,7 @@ pmap_enter(pm, va, pa, prot, flags)
LIST_INSERT_HEAD(potable + idx, po, po_list);
splx(s);
- return (KERN_SUCCESS);
+ return 0;
}
void
diff --git a/sys/arch/powerpc/powerpc/trap.c b/sys/arch/powerpc/powerpc/trap.c
index 3b965bf6b76..2c5c93b0921 100644
--- a/sys/arch/powerpc/powerpc/trap.c
+++ b/sys/arch/powerpc/powerpc/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.39 2001/02/12 21:20:32 manu Exp $ */
+/* $NetBSD: trap.c,v 1.40 2001/03/15 06:10:47 chs Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -119,7 +119,7 @@ trap(frame)
ftype = VM_PROT_READ;
rv = uvm_fault(map, trunc_page(va), 0, ftype);
KERNEL_UNLOCK();
- if (rv == KERN_SUCCESS)
+ if (rv == 0)
return;
if ((fb = p->p_addr->u_pcb.pcb_onfault) != NULL) {
frame->srr0 = (*fb)[0];
@@ -139,13 +139,13 @@ trap(frame)
ftype = VM_PROT_READ | VM_PROT_WRITE;
else
ftype = VM_PROT_READ;
- if ((rv = uvm_fault(&p->p_vmspace->vm_map,
- trunc_page(frame->dar), 0, ftype))
- == KERN_SUCCESS) {
+ rv = uvm_fault(&p->p_vmspace->vm_map, trunc_page(frame->dar),
+ 0, ftype);
+ if (rv == 0) {
KERNEL_PROC_UNLOCK(p);
break;
}
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: "
"out of swap\n",
p->p_pid, p->p_comm,
@@ -160,9 +160,9 @@ trap(frame)
case EXC_ISI|EXC_USER:
KERNEL_PROC_LOCK(p);
ftype = VM_PROT_READ | VM_PROT_EXECUTE;
- if (uvm_fault(&p->p_vmspace->vm_map,
- trunc_page(frame->srr0), 0, ftype)
- == KERN_SUCCESS) {
+ rv = uvm_fault(&p->p_vmspace->vm_map, trunc_page(frame->srr0),
+ 0, ftype);
+ if (rv == 0) {
KERNEL_PROC_UNLOCK(p);
break;
}
diff --git a/sys/arch/prep/prep/machdep.c b/sys/arch/prep/prep/machdep.c
index 363ea3ab6bb..061fa2b8953 100644
--- a/sys/arch/prep/prep/machdep.c
+++ b/sys/arch/prep/prep/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.15 2001/02/24 22:39:18 matt Exp $ */
+/* $NetBSD: machdep.c,v 1.16 2001/03/15 06:10:47 chs Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -507,7 +507,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *)&buffers, round_page(sz),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
base = bufpages / nbuf;
diff --git a/sys/arch/sandpoint/sandpoint/machdep.c b/sys/arch/sandpoint/sandpoint/machdep.c
index 95f95c599f0..a222f009a78 100644
--- a/sys/arch/sandpoint/sandpoint/machdep.c
+++ b/sys/arch/sandpoint/sandpoint/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.7 2001/03/06 20:10:20 briggs Exp $ */
+/* $NetBSD: machdep.c,v 1.8 2001/03/15 06:10:48 chs Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -443,7 +443,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *)&buffers, round_page(sz),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
base = bufpages / nbuf;
diff --git a/sys/arch/sgimips/sgimips/machdep.c b/sys/arch/sgimips/sgimips/machdep.c
index 0c9863836e8..0be17274a2e 100644
--- a/sys/arch/sgimips/sgimips/machdep.c
+++ b/sys/arch/sgimips/sgimips/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.9 2001/01/22 13:57:01 jdolecek Exp $ */
+/* $NetBSD: machdep.c,v 1.10 2001/03/15 06:10:48 chs Exp $ */
/*
* Copyright (c) 2000 Soren S. Jorvang
@@ -312,7 +312,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *)&buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
base = bufpages / nbuf;
diff --git a/sys/arch/sh3/sh3/pmap.c b/sys/arch/sh3/sh3/pmap.c
index ed4cf28b22c..6c00c04b32f 100644
--- a/sys/arch/sh3/sh3/pmap.c
+++ b/sys/arch/sh3/sh3/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.14 2001/02/02 02:28:18 thorpej Exp $ */
+/* $NetBSD: pmap.c,v 1.15 2001/03/15 06:10:48 chs Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -1303,8 +1303,8 @@ pmap_free_pvpage()
/* unmap the page */
dead_entries = NULL;
- (void)uvm_unmap_remove(map, (vaddr_t) pvp,
- ((vaddr_t) pvp) + NBPG, &dead_entries);
+ uvm_unmap_remove(map, (vaddr_t)pvp, ((vaddr_t)pvp) + NBPG,
+ &dead_entries);
vm_map_unlock(map);
if (dead_entries != NULL)
@@ -3196,7 +3196,7 @@ pmap_enter(pmap, va, pa, prot, flags)
ptp = pmap_get_ptp(pmap, pdei(va), FALSE);
if (ptp == NULL) {
if (flags & PMAP_CANFAIL) {
- return (KERN_RESOURCE_SHORTAGE);
+ return ENOMEM;
}
panic("pmap_enter: get ptp failed");
}
@@ -3293,7 +3293,7 @@ pmap_enter(pmap, va, pa, prot, flags)
pve = pmap_alloc_pv(pmap, ALLOCPV_NEED);
if (pve == NULL) {
if (flags & PMAP_CANFAIL) {
- error = KERN_RESOURCE_SHORTAGE;
+ error = ENOMEM;
goto out;
}
panic("pmap_enter: no pv entries available");
@@ -3364,7 +3364,7 @@ enter_now:
if ((opte & ~(PG_M|PG_U)) != npte && pmap_is_curpmap(pmap))
pmap_update_pg(va);
- error = KERN_SUCCESS;
+ error = 0;
out:
pmap_unmap_ptes(pmap);
diff --git a/sys/arch/sh3/sh3/sh3_machdep.c b/sys/arch/sh3/sh3/sh3_machdep.c
index 897b78a08ba..283afc11ed3 100644
--- a/sys/arch/sh3/sh3/sh3_machdep.c
+++ b/sys/arch/sh3/sh3/sh3_machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: sh3_machdep.c,v 1.10 2000/12/22 22:58:55 jdolecek Exp $ */
+/* $NetBSD: sh3_machdep.c,v 1.11 2001/03/15 06:10:48 chs Exp $ */
/*-
* Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
@@ -144,7 +144,7 @@ sh3_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("cpu_startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
if ((bufpages / nbuf) >= btoc(MAXBSIZE)) {
diff --git a/sys/arch/sh3/sh3/trap.c b/sys/arch/sh3/sh3/trap.c
index 58d21dad4f3..baf67336a94 100644
--- a/sys/arch/sh3/sh3/trap.c
+++ b/sys/arch/sh3/sh3/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.22 2001/03/06 21:58:23 thorpej Exp $ */
+/* $NetBSD: trap.c,v 1.23 2001/03/15 06:10:48 chs Exp $ */
/*-
* Copyright (c) 1995 Charles M. Hannum. All rights reserved.
@@ -365,7 +365,7 @@ trap(p1, p2, p3, p4, frame)
/* Fault the original page in. */
rv = uvm_fault(map, va, 0, ftype);
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
@@ -382,7 +382,7 @@ trap(p1, p2, p3, p4, frame)
map, va, ftype, rv);
goto we_re_toast;
}
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
@@ -774,17 +774,17 @@ tlb_handler(p1, p2, p3, p4, frame)
#endif
va >= (vaddr_t) vm->vm_maxsaddr &&
va < USRSTACK) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
u_int nss;
nss = btoc(USRSTACK - va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
va = va_save;
SHREG_PTEH = pteh_save;
pde_index = pdei(va);
@@ -865,7 +865,7 @@ tlb_handler(p1, p2, p3, p4, frame)
goto dopanic;
}
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
diff --git a/sys/arch/sparc/sparc/machdep.c b/sys/arch/sparc/sparc/machdep.c
index 186704cc566..9d647f58e4c 100644
--- a/sys/arch/sparc/sparc/machdep.c
+++ b/sys/arch/sparc/sparc/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.177 2001/03/05 16:46:09 pk Exp $ */
+/* $NetBSD: machdep.c,v 1.178 2001/03/15 06:10:49 chs Exp $ */
/*-
* Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
@@ -288,7 +288,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("cpu_startup: cannot allocate VM for buffers");
minaddr = (vaddr_t) buffers;
diff --git a/sys/arch/sparc/sparc/pmap.c b/sys/arch/sparc/sparc/pmap.c
index 943a050e549..a8d5398e827 100644
--- a/sys/arch/sparc/sparc/pmap.c
+++ b/sys/arch/sparc/sparc/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.184 2001/03/05 07:04:01 pk Exp $ */
+/* $NetBSD: pmap.c,v 1.185 2001/03/15 06:10:49 chs Exp $ */
/*
* Copyright (c) 1996
@@ -1942,10 +1942,6 @@ pv_changepte4_4c(pv0, bis, bic)
ctx = getcontext4();
for (pv = pv0; pv != NULL; pv = pv->pv_next) {
pm = pv->pv_pmap;
-#ifdef DIAGNOSTIC
- if(pm == NULL)
- panic("pv_changepte: pm == NULL");
-#endif
va = pv->pv_va;
vr = VA_VREG(va);
vs = VA_VSEG(va);
@@ -2262,10 +2258,6 @@ pv_changepte4m(pv0, bis, bic)
for (pv = pv0; pv != NULL; pv = pv->pv_next) {
int tpte;
pm = pv->pv_pmap;
-#ifdef DIAGNOSTIC
- if (pm == NULL)
- panic("pv_changepte: pm == NULL");
-#endif
va = pv->pv_va;
vr = VA_VREG(va);
rp = &pm->pm_regmap[vr];
@@ -3722,8 +3714,6 @@ pmap_destroy(pm)
{
int count;
- if (pm == NULL)
- return;
#ifdef DEBUG
if (pmapdebug & PDB_DESTROY)
printf("pmap_destroy(%p)\n", pm);
@@ -3852,9 +3842,6 @@ pmap_remove(pm, va, endva)
int vr, vs, s, ctx;
void (*rm)(struct pmap *, vaddr_t, vaddr_t, int, int);
- if (pm == NULL)
- return;
-
#ifdef DEBUG
if (pmapdebug & PDB_REMOVE)
printf("pmap_remove(%p, 0x%lx, 0x%lx)\n", pm, va, endva);
@@ -4618,9 +4605,6 @@ pmap_protect4_4c(pm, sva, eva, prot)
struct regmap *rp;
struct segmap *sp;
- if (pm == NULL || prot & VM_PROT_WRITE)
- return;
-
if ((prot & VM_PROT_READ) == 0) {
pmap_remove(pm, sva, eva);
return;
@@ -4962,9 +4946,6 @@ pmap_protect4m(pm, sva, eva, prot)
struct regmap *rp;
struct segmap *sp;
- if (pm == NULL || prot & VM_PROT_WRITE)
- return;
-
if ((prot & VM_PROT_READ) == 0) {
pmap_remove(pm, sva, eva);
return;
@@ -5139,15 +5120,12 @@ pmap_enter4_4c(pm, va, pa, prot, flags)
u_int pfn;
boolean_t wired = (flags & PMAP_WIRED) != 0;
- if (pm == NULL)
- return (KERN_SUCCESS);
-
if (VA_INHOLE(va)) {
#ifdef DEBUG
printf("pmap_enter: pm %p, va 0x%lx, pa 0x%lx: in MMU hole\n",
pm, va, pa);
#endif
- return (KERN_SUCCESS);
+ return 0;
}
#ifdef DEBUG
@@ -5179,7 +5157,7 @@ pmap_enter4_4c(pm, va, pa, prot, flags)
else
pmap_enu4_4c(pm, va, prot, wired, pv, pteproto);
setcontext4(ctx);
- return (KERN_SUCCESS);
+ return 0;
}
/* enter new (or change existing) kernel mapping */
@@ -5540,9 +5518,6 @@ pmap_enter4m(pm, va, pa, prot, flags)
u_int pfn;
boolean_t wired = (flags & PMAP_WIRED) != 0;
- if (pm == NULL)
- return (KERN_SUCCESS);
-
#ifdef DEBUG
if (pmapdebug & PDB_ENTER)
printf("pmap_enter[curpid %d, ctx %d]"
@@ -5592,7 +5567,7 @@ pmap_enter4m(pm, va, pa, prot, flags)
pmap_enu4m(pm, va, prot, wired, pv, pteproto);
setcontext4m(ctx);
- return (KERN_SUCCESS);
+ return 0;
}
/* enter new (or change existing) kernel mapping */
@@ -5911,13 +5886,6 @@ pmap_extract4_4c(pm, va, pap)
struct regmap *rp;
struct segmap *sp;
- if (pm == NULL) {
-#ifdef DEBUG
- if (pmapdebug & PDB_FOLLOW)
- printf("pmap_extract: null pmap\n");
-#endif
- return (FALSE);
- }
vr = VA_VREG(va);
vs = VA_VSEG(va);
rp = &pm->pm_regmap[vr];
@@ -5987,14 +5955,6 @@ pmap_extract4m(pm, va, pap)
struct segmap *sm;
int pte;
- if (pm == NULL) {
-#ifdef DEBUG
- if (pmapdebug & PDB_FOLLOW)
- printf("pmap_extract: null pmap\n");
-#endif
- return (FALSE);
- }
-
if ((rm = pm->pm_regmap) == NULL) {
#ifdef DEBUG
if (pmapdebug & PDB_FOLLOW)
diff --git a/sys/arch/sparc/sparc/trap.c b/sys/arch/sparc/sparc/trap.c
index bf7672b66c3..873493b930c 100644
--- a/sys/arch/sparc/sparc/trap.c
+++ b/sys/arch/sparc/sparc/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.100 2001/03/15 03:01:40 mrg Exp $ */
+/* $NetBSD: trap.c,v 1.101 2001/03/15 06:10:49 chs Exp $ */
/*
* Copyright (c) 1996
@@ -787,7 +787,7 @@ mem_access_fault(type, ser, v, pc, psr, tf)
if (type == T_TEXTFAULT)
v = pc;
if (VA_INHOLE(v)) {
- rv = KERN_PROTECTION_FAILURE;
+ rv = EACCES;
goto fault;
}
atype = ser & SER_WRITE ? VM_PROT_WRITE : VM_PROT_READ;
@@ -816,7 +816,7 @@ mem_access_fault(type, ser, v, pc, psr, tf)
if (cold)
goto kfault;
if (va >= KERNBASE) {
- if (uvm_fault(kernel_map, va, 0, atype) == KERN_SUCCESS)
+ if (uvm_fault(kernel_map, va, 0, atype) == 0)
return;
goto kfault;
}
@@ -832,7 +832,7 @@ mem_access_fault(type, ser, v, pc, psr, tf)
rv = mmu_pagein(vm->vm_map.pmap, va,
ser & SER_WRITE ? VM_PROT_WRITE : VM_PROT_READ);
if (rv < 0) {
- rv = KERN_PROTECTION_FAILURE;
+ rv = EACCES;
goto fault;
}
if (rv > 0)
@@ -855,14 +855,14 @@ mem_access_fault(type, ser, v, pc, psr, tf)
SUNOS_MAXSADDR_SLOP)
#endif
) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
unsigned nss = btoc(USRSTACK - va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
/*
* pmap_enter() does not enter all requests made from
* vm_fault into the MMU (as that causes unnecessary
@@ -893,7 +893,7 @@ kfault:
tf->tf_npc = onfault + 4;
return;
}
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
@@ -1016,7 +1016,7 @@ mem_access_fault4m(type, sfsr, sfva, tf)
if (type == T_TEXTFAULT)
sfva = pc;
else {
- rv = KERN_PROTECTION_FAILURE;
+ rv = EACCES;
goto fault;
}
}
@@ -1026,7 +1026,7 @@ mem_access_fault4m(type, sfsr, sfva, tf)
* Translation errors are always fatal, as they indicate
* a corrupt translation (page) table hierarchy.
*/
- rv = KERN_PROTECTION_FAILURE;
+ rv = EACCES;
/* XXXSMP - why bother with this anyway? */
if (tfaultaddr == sfva) /* Prevent infinite loops w/a static */
@@ -1060,7 +1060,7 @@ mem_access_fault4m(type, sfsr, sfva, tf)
/* On HS, we have va for both */
vm = p->p_vmspace;
if (uvm_fault(&vm->vm_map, trunc_page(pc),
- 0, VM_PROT_READ) != KERN_SUCCESS)
+ 0, VM_PROT_READ) != 0)
#ifdef DEBUG
printf("mem_access_fault: "
"can't pagein 1st text fault.\n")
@@ -1097,8 +1097,7 @@ mem_access_fault4m(type, sfsr, sfva, tf)
if (cold)
goto kfault;
if (va >= KERNBASE) {
- if (uvm_fault(kernel_map, va, 0, atype) ==
- KERN_SUCCESS) {
+ if (uvm_fault(kernel_map, va, 0, atype) == 0) {
KERNEL_UNLOCK();
return;
}
@@ -1120,14 +1119,14 @@ mem_access_fault4m(type, sfsr, sfva, tf)
* error.
*/
if ((caddr_t)va >= vm->vm_maxsaddr) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
unsigned nss = btoc(USRSTACK - va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv != KERN_SUCCESS) {
+ if (rv != 0) {
/*
* Pagein failed. If doing copyin/out, return to onfault
* address. Any other page fault in kernel, die; if user
@@ -1151,7 +1150,7 @@ kfault:
KERNEL_UNLOCK();
return;
}
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
diff --git a/sys/arch/sparc64/sparc64/machdep.c b/sys/arch/sparc64/sparc64/machdep.c
index de7d61f5285..a39665f44a5 100644
--- a/sys/arch/sparc64/sparc64/machdep.c
+++ b/sys/arch/sparc64/sparc64/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.101 2001/02/11 00:37:22 eeh Exp $ */
+/* $NetBSD: machdep.c,v 1.102 2001/03/15 06:10:50 chs Exp $ */
/*-
* Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
@@ -264,7 +264,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("cpu_startup: cannot allocate VM for buffers");
minaddr = (vaddr_t) buffers;
@@ -1341,7 +1341,7 @@ _bus_dmamap_load_uio(t, map, uio, flags)
if (__predict_false(uvm_vslock(p, vaddr, buflen,
(uio->uio_rw == UIO_WRITE) ?
VM_PROT_READ | VM_PROT_WRITE : VM_PROT_READ)
- != KERN_SUCCESS)) {
+ != 0)) {
goto after_vsunlock;
}
@@ -1621,7 +1621,7 @@ _bus_dmamem_map(t, segs, nsegs, size, kvap, flags)
r = uvm_map(kernel_map, &sva, oversize, NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
UVM_ADV_NORMAL, 0));
- if (r != KERN_SUCCESS)
+ if (r != 0)
return (ENOMEM);
/* Compute start of aligned region */
diff --git a/sys/arch/sparc64/sparc64/pmap.c b/sys/arch/sparc64/sparc64/pmap.c
index 48fb50fb70f..6bd7b56b695 100644
--- a/sys/arch/sparc64/sparc64/pmap.c
+++ b/sys/arch/sparc64/sparc64/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.91 2001/01/22 22:10:09 eeh Exp $ */
+/* $NetBSD: pmap.c,v 1.92 2001/03/15 06:10:50 chs Exp $ */
#undef NO_VCACHE /* Don't forget the locked TLB in dostart */
#define HWREF
/*
@@ -2111,7 +2111,7 @@ pmap_enter(pm, va, pa, prot, flags)
prom_printf("pmap_enter: va=%08x pa=%x:%08x in locked TLB\r\n",
va, (int)(pa>>32), (int)pa);
OF_enter();
- return (KERN_SUCCESS);
+ return 0;
}
#endif
@@ -2190,7 +2190,7 @@ pmap_enter(pm, va, pa, prot, flags)
printf("pmap_enter: wired but not readable\n");
Debugger();
}
- return (KERN_SUCCESS);
+ return 0;
}
#endif
if (wired) tte.data.data |= TLB_TSB_LOCK;
@@ -2277,7 +2277,7 @@ pmap_enter(pm, va, pa, prot, flags)
/* We will let the fast mmu miss interrupt load the new translation */
pv_check();
- return (KERN_SUCCESS);
+ return 0;
}
/*
diff --git a/sys/arch/sparc64/sparc64/trap.c b/sys/arch/sparc64/sparc64/trap.c
index 2d1396141ba..f30ee42d940 100644
--- a/sys/arch/sparc64/sparc64/trap.c
+++ b/sys/arch/sparc64/sparc64/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.62 2001/02/11 00:39:38 eeh Exp $ */
+/* $NetBSD: trap.c,v 1.63 2001/03/15 06:10:50 chs Exp $ */
/*
* Copyright (c) 1996
@@ -1094,7 +1094,8 @@ data_access_fault(type, addr, pc, tf)
goto kfault;
if (!(addr&TLB_TAG_ACCESS_CTX)) {
/* CTXT == NUCLEUS */
- if ((rv=uvm_fault(kernel_map, va, 0, access_type)) == KERN_SUCCESS) {
+ rv = uvm_fault(kernel_map, va, 0, access_type);
+ if (rv == 0) {
#ifdef DEBUG
if (trapdebug&(TDB_ADDFLT|TDB_FOLLOW))
printf("data_access_fault: kernel uvm_fault(%p, %lx, %x, 0) sez %x -- success\n",
@@ -1129,14 +1130,14 @@ data_access_fault(type, addr, pc, tf)
* error.
*/
if ((caddr_t)va >= vm->vm_maxsaddr) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
segsz_t nss = btoc(p->p_vmspace->vm_minsaddr - va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv != KERN_SUCCESS) {
+ if (rv != 0) {
/*
* Pagein failed. If doing copyin/out, return to onfault
* address. Any other page fault in kernel, die; if user
@@ -1174,7 +1175,7 @@ kfault:
Debugger();
}
#endif
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
@@ -1372,7 +1373,7 @@ data_access_error(type, sfva, sfsr, afva, afsr, tf)
goto kfault;
if (SFSR_CTXT_IS_PRIM(sfsr) || SFSR_CTXT_IS_NUCLEUS(sfsr)) {
/* NUCLEUS context */
- if (uvm_fault(kernel_map, va, 0, access_type) == KERN_SUCCESS)
+ if (uvm_fault(kernel_map, va, 0, access_type) == 0)
return;
if (SFSR_CTXT_IS_NUCLEUS(sfsr))
goto kfault;
@@ -1396,14 +1397,14 @@ data_access_error(type, sfva, sfsr, afva, afsr, tf)
* error.
*/
if ((caddr_t)va >= vm->vm_maxsaddr) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
segsz_t nss = btoc(p->p_vmspace->vm_minsaddr - va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv != KERN_SUCCESS) {
+ if (rv != 0) {
/*
* Pagein failed. If doing copyin/out, return to onfault
* address. Any other page fault in kernel, die; if user
@@ -1547,14 +1548,14 @@ text_access_fault(type, pc, tf)
* error.
*/
if ((caddr_t)va >= vm->vm_maxsaddr) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
segsz_t nss = btoc(p->p_vmspace->vm_minsaddr - va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv != KERN_SUCCESS) {
+ if (rv != 0) {
/*
* Pagein failed. Any other page fault in kernel, die; if user
* fault, deliver SIGSEGV.
@@ -1721,14 +1722,14 @@ text_access_error(type, pc, sfsr, afva, afsr, tf)
* error.
*/
if ((caddr_t)va >= vm->vm_maxsaddr) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
segsz_t nss = btoc(p->p_vmspace->vm_minsaddr - va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv != KERN_SUCCESS) {
+ if (rv != 0) {
/*
* Pagein failed. If doing copyin/out, return to onfault
* address. Any other page fault in kernel, die; if user
diff --git a/sys/arch/sun3/sun3/machdep.c b/sys/arch/sun3/sun3/machdep.c
index 307f9368ee5..1ad7922c99a 100644
--- a/sys/arch/sun3/sun3/machdep.c
+++ b/sys/arch/sun3/sun3/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.143 2001/02/22 07:11:12 chs Exp $ */
+/* $NetBSD: machdep.c,v 1.144 2001/03/15 06:10:51 chs Exp $ */
/*
* Copyright (c) 1994, 1995 Gordon W. Ross
@@ -229,7 +229,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vm_offset_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vm_offset_t)buffers;
if ((bufpages / nbuf) >= btoc(MAXBSIZE)) {
@@ -296,7 +296,7 @@ cpu_startup()
*/
if (uvm_map_protect(kernel_map, (vm_offset_t) kernel_text,
m68k_trunc_page((vm_offset_t) etext),
- UVM_PROT_READ|UVM_PROT_EXEC, TRUE) != KERN_SUCCESS)
+ UVM_PROT_READ|UVM_PROT_EXEC, TRUE) != 0)
panic("can't protect kernel text");
/*
diff --git a/sys/arch/sun3/sun3/pmap.c b/sys/arch/sun3/sun3/pmap.c
index 5dac85c7b6b..90ce5eb30f0 100644
--- a/sys/arch/sun3/sun3/pmap.c
+++ b/sys/arch/sun3/sun3/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.123 2001/02/03 12:55:35 tsutsui Exp $ */
+/* $NetBSD: pmap.c,v 1.124 2001/03/15 06:10:51 chs Exp $ */
/*-
* Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -2116,8 +2116,6 @@ pmap_enter(pmap, va, pa, prot, flags)
int new_pte, s;
boolean_t wired = (flags & PMAP_WIRED) != 0;
- if (pmap == NULL)
- return (KERN_SUCCESS);
#ifdef PMAP_DEBUG
if ((pmap_debug & PMD_ENTER) ||
(va == pmap_db_watchva))
@@ -2151,7 +2149,7 @@ pmap_enter(pmap, va, pa, prot, flags)
pmap_enter_user(pmap, va, new_pte, wired);
}
splx(s);
- return (KERN_SUCCESS);
+ return 0;
}
static void
@@ -2544,12 +2542,12 @@ _pmap_fault(map, va, ftype)
* Most pages below virtual_avail are read-only,
* so I will assume it is a protection failure.
*/
- return KERN_PROTECTION_FAILURE;
+ return EACCES;
}
} else {
/* User map. Try reload shortcut. */
if (pmap_fault_reload(pmap, va, ftype))
- return KERN_SUCCESS;
+ return 0;
}
rv = uvm_fault(map, va, 0, ftype);
diff --git a/sys/arch/sun3/sun3/trap.c b/sys/arch/sun3/sun3/trap.c
index a5ebd00ed68..fc95c8b0fe6 100644
--- a/sys/arch/sun3/sun3/trap.c
+++ b/sys/arch/sun3/sun3/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.98 2001/02/22 07:11:12 chs Exp $ */
+/* $NetBSD: trap.c,v 1.99 2001/03/15 06:10:51 chs Exp $ */
/*
* Copyright (c) 1994 Gordon W. Ross
@@ -526,16 +526,16 @@ trap(type, code, v, tf)
* error.
*/
if ((map != kernel_map) && ((caddr_t)va >= vm->vm_maxsaddr)) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
unsigned nss;
nss = btoc((u_int)(USRSTACK-va));
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv == KERN_SUCCESS)
+ if (rv == 0)
goto finish;
if ((type & T_USER) == 0) {
@@ -554,7 +554,7 @@ trap(type, code, v, tf)
goto dopanic;
}
ucode = v;
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
diff --git a/sys/arch/sun3/sun3x/machdep.c b/sys/arch/sun3/sun3x/machdep.c
index 0fe6e4ff455..6679f8d7c62 100644
--- a/sys/arch/sun3/sun3x/machdep.c
+++ b/sys/arch/sun3/sun3x/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.63 2001/02/22 07:11:13 chs Exp $ */
+/* $NetBSD: machdep.c,v 1.64 2001/03/15 06:10:52 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -223,7 +223,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vm_offset_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vm_offset_t)buffers;
if ((bufpages / nbuf) >= btoc(MAXBSIZE)) {
@@ -290,7 +290,7 @@ cpu_startup()
*/
if (uvm_map_protect(kernel_map, (vm_offset_t) kernel_text,
m68k_trunc_page((vm_offset_t) etext),
- UVM_PROT_READ|UVM_PROT_EXEC, TRUE) != KERN_SUCCESS)
+ UVM_PROT_READ|UVM_PROT_EXEC, TRUE) != 0)
panic("can't protect kernel text");
/*
diff --git a/sys/arch/sun3/sun3x/pmap.c b/sys/arch/sun3/sun3x/pmap.c
index dd5b27b6295..706f6aeba36 100644
--- a/sys/arch/sun3/sun3x/pmap.c
+++ b/sys/arch/sun3/sun3x/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.60 2001/02/20 12:52:57 tsutsui Exp $ */
+/* $NetBSD: pmap.c,v 1.61 2001/03/15 06:10:52 chs Exp $ */
/*-
* Copyright (c) 1996, 1997 The NetBSD Foundation, Inc.
@@ -1695,10 +1695,10 @@ pmap_enter(pmap, va, pa, prot, flags)
enum {NONE, NEWA, NEWB, NEWC} llevel; /* used at end */
if (pmap == NULL)
- return (KERN_SUCCESS);
+ return 0;
if (pmap == pmap_kernel()) {
pmap_enter_kernel(va, pa, prot);
- return (KERN_SUCCESS);
+ return 0;
}
/*
@@ -2057,7 +2057,7 @@ pmap_enter(pmap, va, pa, prot, flags)
break;
}
- return (KERN_SUCCESS);
+ return 0;
}
/* pmap_enter_kernel INTERNAL
diff --git a/sys/arch/vax/vax/machdep.c b/sys/arch/vax/vax/machdep.c
index a9686b04060..5101ddf4005 100644
--- a/sys/arch/vax/vax/machdep.c
+++ b/sys/arch/vax/vax/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.111 2001/01/15 20:19:58 thorpej Exp $ */
+/* $NetBSD: machdep.c,v 1.112 2001/03/15 06:10:52 chs Exp $ */
/*
* Copyright (c) 1994, 1998 Ludd, University of Lule}, Sweden.
@@ -169,7 +169,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("cpu_startup: cannot allocate VM for buffers");
minaddr = (vaddr_t) buffers;
diff --git a/sys/arch/vax/vax/pmap.c b/sys/arch/vax/vax/pmap.c
index 0d85a5aa69b..0663bdfc1c5 100644
--- a/sys/arch/vax/vax/pmap.c
+++ b/sys/arch/vax/vax/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.93 2001/02/11 19:25:55 ragge Exp $ */
+/* $NetBSD: pmap.c,v 1.94 2001/03/15 06:10:52 chs Exp $ */
/*
* Copyright (c) 1994, 1998, 1999 Ludd, University of Lule}, Sweden.
* All rights reserved.
@@ -726,7 +726,7 @@ if (startpmapdebug)
break;
if (flags & PMAP_CANFAIL) {
RECURSEEND;
- return (KERN_RESOURCE_SHORTAGE);
+ return ENOMEM;
}
if (pmap == pmap_kernel())
@@ -756,7 +756,7 @@ if (startpmapdebug)
if (pmap != pmap_kernel())
pmap->pm_refcnt[index]++; /* New mapping */
RECURSEEND;
- return (KERN_SUCCESS);
+ return 0;
}
if (flags & PMAP_WIRED)
@@ -769,13 +769,13 @@ if (startpmapdebug)
if (newpte == (oldpte | PG_W)) {
patch[i] |= PG_W; /* Just wiring change */
RECURSEEND;
- return (KERN_SUCCESS);
+ return 0;
}
/* mapping unchanged? just return. */
if (newpte == oldpte) {
RECURSEEND;
- return (KERN_SUCCESS);
+ return 0;
}
/* Changing mapping? */
@@ -834,7 +834,7 @@ if (startpmapdebug)
more_pventries();
mtpr(0, PR_TBIA); /* Always; safety belt */
- return (KERN_SUCCESS);
+ return 0;
}
void *
diff --git a/sys/arch/vax/vax/trap.c b/sys/arch/vax/vax/trap.c
index b61212b2f09..4570217427b 100644
--- a/sys/arch/vax/vax/trap.c
+++ b/sys/arch/vax/vax/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.60 2000/12/31 19:41:41 matt Exp $ */
+/* $NetBSD: trap.c,v 1.61 2001/03/15 06:10:53 chs Exp $ */
/*
* Copyright (c) 1994 Ludd, University of Lule}, Sweden.
@@ -229,13 +229,13 @@ if(faultdebug)printf("trap accflt type %lx, code %lx, pc %lx, psl %lx\n",
ftype = VM_PROT_READ;
rv = uvm_fault(map, addr, 0, ftype);
- if (rv != KERN_SUCCESS) {
+ if (rv != 0) {
if (umode == 0) {
FAULTCHK;
panic("Segv in kernel mode: pc %x addr %x",
(u_int)frame->pc, (u_int)frame->code);
}
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: "
"out of swap\n",
p->p_pid, p->p_comm,
diff --git a/sys/arch/x68k/dev/grf.c b/sys/arch/x68k/dev/grf.c
index 5c39563d921..1b2ac725447 100644
--- a/sys/arch/x68k/dev/grf.c
+++ b/sys/arch/x68k/dev/grf.c
@@ -1,4 +1,4 @@
-/* $NetBSD: grf.c,v 1.19 2000/06/29 07:07:53 mrg Exp $ */
+/* $NetBSD: grf.c,v 1.20 2001/03/15 06:10:53 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -579,7 +579,6 @@ grfunmap(dev, addr, p)
{
struct grf_softc *gp = grf_cd.cd_devs[GRFUNIT(dev)];
vsize_t size;
- int rv;
#ifdef DEBUG
if (grfdebug & GDB_MMAP)
@@ -589,9 +588,9 @@ grfunmap(dev, addr, p)
return(EINVAL); /* XXX: how do we deal with this? */
(void) (*gp->g_sw->gd_mode)(gp, GM_UNMAP, 0);
size = round_page(gp->g_display.gd_regsize + gp->g_display.gd_fbsize);
- rv = uvm_unmap(&p->p_vmspace->vm_map, (vaddr_t)addr,
+ uvm_unmap(&p->p_vmspace->vm_map, (vaddr_t)addr,
(vaddr_t)addr + size);
- return(rv == KERN_SUCCESS ? 0 : EINVAL);
+ return 0;
}
#ifdef COMPAT_HPUX
diff --git a/sys/arch/x68k/x68k/clock.c b/sys/arch/x68k/x68k/clock.c
index f28dd33d424..08aa2b80abd 100644
--- a/sys/arch/x68k/x68k/clock.c
+++ b/sys/arch/x68k/x68k/clock.c
@@ -1,4 +1,4 @@
-/* $NetBSD: clock.c,v 1.10 2001/01/11 16:09:43 minoura Exp $ */
+/* $NetBSD: clock.c,v 1.11 2001/03/15 06:10:53 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -328,8 +328,8 @@ clockunmmap(dev, addr, p)
if (addr == 0)
return(EINVAL); /* XXX: how do we deal with this? */
- rv = vm_deallocate(p->p_vmspace->vm_map, (vaddr_t)addr, PAGE_SIZE);
- return(rv == KERN_SUCCESS ? 0 : EINVAL);
+ uvm_deallocate(p->p_vmspace->vm_map, (vaddr_t)addr, PAGE_SIZE);
+ return 0;
}
startclock()
diff --git a/sys/arch/x68k/x68k/machdep.c b/sys/arch/x68k/x68k/machdep.c
index 097636df21f..1284aefea94 100644
--- a/sys/arch/x68k/x68k/machdep.c
+++ b/sys/arch/x68k/x68k/machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.94 2001/03/01 17:11:13 minoura Exp $ */
+/* $NetBSD: machdep.c,v 1.95 2001/03/15 06:10:53 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -269,7 +269,7 @@ cpu_startup()
if (uvm_map(kernel_map, (vaddr_t *) &buffers, round_page(size),
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_NORMAL, 0)) != KERN_SUCCESS)
+ UVM_ADV_NORMAL, 0)) != 0)
panic("startup: cannot allocate VM for buffers");
minaddr = (vaddr_t)buffers;
#if 0
diff --git a/sys/arch/x68k/x68k/pmap.c b/sys/arch/x68k/x68k/pmap.c
index 7712caa7083..0740b88d6fb 100644
--- a/sys/arch/x68k/x68k/pmap.c
+++ b/sys/arch/x68k/x68k/pmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.58 2001/02/21 05:53:35 minoura Exp $ */
+/* $NetBSD: pmap.c,v 1.59 2001/03/15 06:10:53 chs Exp $ */
/*-
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -409,14 +409,14 @@ pmap_init()
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS)
+ UVM_FLAG_FIXED)) != 0)
goto bogons;
addr = (vaddr_t) Sysmap;
if (uvm_map(kernel_map, &addr, X68K_MAX_PTSIZE,
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE,
UVM_INH_NONE, UVM_ADV_RANDOM,
- UVM_FLAG_FIXED)) != KERN_SUCCESS) {
+ UVM_FLAG_FIXED)) != 0) {
/*
* If this fails, it is probably because the static
* portion of the kernel page table isn't big enough
@@ -490,11 +490,9 @@ pmap_init()
rv = uvm_map(kernel_map, &addr, s, NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
UVM_ADV_RANDOM, UVM_FLAG_NOMERGE));
- if (rv != KERN_SUCCESS || (addr + s) >= (vaddr_t)Sysmap)
+ if (rv != 0 || (addr + s) >= (vaddr_t)Sysmap)
panic("pmap_init: kernel PT too small");
- rv = uvm_unmap(kernel_map, addr, addr + s);
- if (rv != KERN_SUCCESS)
- panic("pmap_init: uvm_unmap failed");
+ uvm_unmap(kernel_map, addr, addr + s);
/*
* Now allocate the space and link the pages together to
@@ -1201,9 +1199,6 @@ pmap_enter(pmap, va, pa, prot, flags)
("pmap_enter(%p, %lx, %lx, %x, %x)\n",
pmap, va, pa, prot, wired));
- if (pmap == NULL)
- return (KERN_SUCCESS);
-
#ifdef DIAGNOSTIC
/*
* pmap_enter() should never be used for CADDR1 and CADDR2.
@@ -1475,7 +1470,7 @@ validate:
if ((pmapdebug & PDB_WIRING) && pmap != pmap_kernel())
pmap_check_wiring("enter", trunc_page((vaddr_t)pte));
#endif
- return (KERN_SUCCESS);
+ return 0;
}
/*
@@ -2201,9 +2196,9 @@ pmap_mapmulti(pmap, va)
if (*ste == SG_NV && (*bste & SG_V)) {
*ste = *bste;
TBIAU();
- return (KERN_SUCCESS);
+ return 0;
}
- return (KERN_INVALID_ADDRESS);
+ return EFAULT;
}
#endif /* COMPAT_HPUX */
@@ -2802,7 +2797,7 @@ pmap_enter_ptpage(pmap, va)
("enter: about to fault UPT pg at %lx\n", va));
s = uvm_fault_wire(pt_map, va, va + PAGE_SIZE,
VM_PROT_READ|VM_PROT_WRITE);
- if (s != KERN_SUCCESS) {
+ if (s != 0) {
printf("uvm_fault_wire(pt_map, 0x%lx, 0x%lx, RW) "
"-> %d\n", va, va + PAGE_SIZE, s);
panic("pmap_enter: uvm_fault_wire failed");
diff --git a/sys/arch/x68k/x68k/trap.c b/sys/arch/x68k/x68k/trap.c
index 81415d7af5a..daf5a707aa3 100644
--- a/sys/arch/x68k/x68k/trap.c
+++ b/sys/arch/x68k/x68k/trap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.50 2001/02/21 12:39:17 minoura Exp $ */
+/* $NetBSD: trap.c,v 1.51 2001/03/15 06:10:54 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -653,10 +653,10 @@ trap(type, code, v, frame)
vaddr_t bva;
rv = pmap_mapmulti(map->pmap, va);
- if (rv != KERN_SUCCESS) {
+ if (rv != 0) {
bva = HPMMBASEADDR(va);
rv = uvm_fault(map, bva, 0, ftype);
- if (rv == KERN_SUCCESS)
+ if (rv == 0)
(void) pmap_mapmulti(map->pmap, va);
}
} else
@@ -676,16 +676,16 @@ trap(type, code, v, frame)
*/
if ((vm != NULL && (caddr_t)va >= vm->vm_maxsaddr)
&& map != kernel_map) {
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
unsigned nss;
nss = btoc(USRSTACK-(unsigned)va);
if (nss > vm->vm_ssize)
vm->vm_ssize = nss;
- } else if (rv == KERN_PROTECTION_FAILURE)
- rv = KERN_INVALID_ADDRESS;
+ } else if (rv == EACCES)
+ rv = EFAULT;
}
- if (rv == KERN_SUCCESS) {
+ if (rv == 0) {
if (type == T_MMUFLT) {
#ifdef M68040
if (cputype == CPU_68040)
@@ -705,7 +705,7 @@ trap(type, code, v, frame)
goto dopanic;
}
ucode = v;
- if (rv == KERN_RESOURCE_SHORTAGE) {
+ if (rv == ENOMEM) {
printf("UVM: pid %d (%s), uid %d killed: out of swap\n",
p->p_pid, p->p_comm,
p->p_cred && p->p_ucred ?
diff --git a/sys/compat/netbsd32/netbsd32_sysctl.c b/sys/compat/netbsd32/netbsd32_sysctl.c
index 00b2340a68e..c536649707b 100644
--- a/sys/compat/netbsd32/netbsd32_sysctl.c
+++ b/sys/compat/netbsd32/netbsd32_sysctl.c
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_sysctl.c,v 1.1 2001/02/08 13:19:34 mrg Exp $ */
+/* $NetBSD: netbsd32_sysctl.c,v 1.2 2001/03/15 06:10:54 chs Exp $ */
/*
* Copyright (c) 1998, 2001 Matthew R. Green
@@ -242,10 +242,11 @@ netbsd32___sysctl(p, v, retval)
error = lockmgr(&sysctl_memlock, LK_EXCLUSIVE, NULL);
if (error)
return (error);
- if (uvm_vslock(p, (void *)(u_long)SCARG(uap, old), savelen,
- VM_PROT_READ|VM_PROT_WRITE) != KERN_SUCCESS) {
+ error = uvm_vslock(p, (void *)(u_long)SCARG(uap, old), savelen,
+ VM_PROT_READ|VM_PROT_WRITE);
+ if (error) {
(void) lockmgr(&sysctl_memlock, LK_RELEASE, NULL);
- return (EFAULT);
+ return error;
}
oldlen = savelen;
}
diff --git a/sys/compat/svr4/svr4_misc.c b/sys/compat/svr4/svr4_misc.c
index f61fcc1ee2b..ca02e7eab1f 100644
--- a/sys/compat/svr4/svr4_misc.c
+++ b/sys/compat/svr4/svr4_misc.c
@@ -1,4 +1,4 @@
-/* $NetBSD: svr4_misc.c,v 1.89 2000/12/01 12:28:36 jdolecek Exp $ */
+/* $NetBSD: svr4_misc.c,v 1.90 2001/03/15 06:10:54 chs Exp $ */
/*-
* Copyright (c) 1994 The NetBSD Foundation, Inc.
@@ -753,9 +753,8 @@ svr4_sys_break(p, v, retval)
{
struct svr4_sys_break_args *uap = v;
struct vmspace *vm = p->p_vmspace;
- vaddr_t new, old;
- int rv;
- int diff;
+ vaddr_t new, old;
+ int error, diff;
old = (vaddr_t) vm->vm_daddr;
new = round_page((vaddr_t)SCARG(uap, nsize));
@@ -774,24 +773,20 @@ svr4_sys_break(p, v, retval)
DPRINTF(("break(3): old %lx new %lx diff %x\n", old, new, diff));
if (diff > 0) {
- rv = uvm_map(&vm->vm_map, &old, diff, NULL, UVM_UNKNOWN_OFFSET,
- 0,
+ error = uvm_map(&vm->vm_map, &old, diff, NULL,
+ UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL, UVM_INH_COPY,
UVM_ADV_NORMAL,
UVM_FLAG_AMAPPAD|UVM_FLAG_FIXED|
UVM_FLAG_OVERLAY|UVM_FLAG_COPYONW));
- if (rv != KERN_SUCCESS) {
- uprintf("sbrk: grow failed, return = %d\n", rv);
- return ENOMEM;
+ if (error) {
+ uprintf("sbrk: grow failed, error = %d\n", error);
+ return error;
}
vm->vm_dsize += btoc(diff);
} else if (diff < 0) {
diff = -diff;
- rv = uvm_deallocate(&vm->vm_map, new, diff);
- if (rv != KERN_SUCCESS) {
- uprintf("sbrk: shrink failed, return = %d\n", rv);
- return ENOMEM;
- }
+ uvm_deallocate(&vm->vm_map, new, diff);
vm->vm_dsize -= btoc(diff);
}
return 0;
diff --git a/sys/compat/svr4_32/svr4_32_misc.c b/sys/compat/svr4_32/svr4_32_misc.c
index 298d8744bf0..262e32e00bd 100644
--- a/sys/compat/svr4_32/svr4_32_misc.c
+++ b/sys/compat/svr4_32/svr4_32_misc.c
@@ -1,4 +1,4 @@
-/* $NetBSD: svr4_32_misc.c,v 1.2 2001/02/11 01:10:24 eeh Exp $ */
+/* $NetBSD: svr4_32_misc.c,v 1.3 2001/03/15 06:10:54 chs Exp $ */
/*-
* Copyright (c) 1994 The NetBSD Foundation, Inc.
@@ -771,9 +771,8 @@ svr4_32_sys_break(p, v, retval)
{
struct svr4_32_sys_break_args *uap = v;
struct vmspace *vm = p->p_vmspace;
- vaddr_t new, old;
- int rv;
- int diff;
+ vaddr_t new, old;
+ int error, diff;
old = (vaddr_t) vm->vm_daddr;
new = round_page((vaddr_t)SCARG(uap, nsize));
@@ -792,24 +791,20 @@ svr4_32_sys_break(p, v, retval)
DPRINTF(("break(3): old %lx new %lx diff %x\n", old, new, diff));
if (diff > 0) {
- rv = uvm_map(&vm->vm_map, &old, diff, NULL, UVM_UNKNOWN_OFFSET,
- 0,
+ error = uvm_map(&vm->vm_map, &old, diff, NULL,
+ UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL, UVM_INH_COPY,
UVM_ADV_NORMAL,
UVM_FLAG_AMAPPAD|UVM_FLAG_FIXED|
UVM_FLAG_OVERLAY|UVM_FLAG_COPYONW));
- if (rv != KERN_SUCCESS) {
+ if (error) {
uprintf("sbrk: grow failed, return = %d\n", rv);
- return ENOMEM;
+ return error;
}
vm->vm_dsize += btoc(diff);
} else if (diff < 0) {
diff = -diff;
- rv = uvm_deallocate(&vm->vm_map, new, diff);
- if (rv != KERN_SUCCESS) {
- uprintf("sbrk: shrink failed, return = %d\n", rv);
- return ENOMEM;
- }
+ uvm_deallocate(&vm->vm_map, new, diff);
vm->vm_dsize -= btoc(diff);
}
return 0;
diff --git a/sys/compat/vax1k/vax1k_subr.c b/sys/compat/vax1k/vax1k_subr.c
index 423b02f1d41..59a02ef5600 100644
--- a/sys/compat/vax1k/vax1k_subr.c
+++ b/sys/compat/vax1k/vax1k_subr.c
@@ -1,4 +1,4 @@
-/* $NetBSD: vax1k_subr.c,v 1.5 2000/09/13 15:00:24 thorpej Exp $ */
+/* $NetBSD: vax1k_subr.c,v 1.6 2001/03/15 06:10:55 chs Exp $ */
/*
* Copyright (c) 1993, 1994, 1996 Christopher G. Demetriou
@@ -58,7 +58,7 @@ vax1k_map_readvn(p, cmd)
int error;
if (cmd->ev_len == 0)
- return(KERN_SUCCESS); /* XXXCDC: should it happen? */
+ return 0;
oaddr = cmd->ev_addr;
cmd->ev_addr = trunc_page(cmd->ev_addr); /* required by uvm_map */
@@ -68,7 +68,6 @@ vax1k_map_readvn(p, cmd)
UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL, UVM_INH_COPY,
UVM_ADV_NORMAL,
UVM_FLAG_FIXED|UVM_FLAG_OVERLAY|UVM_FLAG_COPYONW));
-
if (error)
return error;
@@ -85,11 +84,11 @@ vax1k_map_readvn(p, cmd)
* it mapped read-only, so now we are going to have to call
* uvm_map_protect() to fix up the protection. ICK.
*/
- return(uvm_map_protect(&p->p_vmspace->vm_map,
+ return uvm_map_protect(&p->p_vmspace->vm_map,
trunc_page(cmd->ev_addr),
round_page(cmd->ev_addr + cmd->ev_len),
- cmd->ev_prot, FALSE));
+ cmd->ev_prot, FALSE);
} else {
- return(KERN_SUCCESS);
+ return 0;
}
}
diff --git a/sys/dev/ic/rrunner.c b/sys/dev/ic/rrunner.c
index a9a9d5a31f0..dcecb57f8f1 100644
--- a/sys/dev/ic/rrunner.c
+++ b/sys/dev/ic/rrunner.c
@@ -1,4 +1,4 @@
-/* $NetBSD: rrunner.c,v 1.21 2000/12/14 06:27:25 thorpej Exp $ */
+/* $NetBSD: rrunner.c,v 1.22 2001/03/15 06:10:55 chs Exp $ */
/*
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
@@ -1005,7 +1005,6 @@ esh_fpread(dev, uio, ioflag)
struct esh_fp_ring_ctl *ring;
struct esh_dmainfo *di;
int ulp = ESHULP(dev);
- int flags = B_READ;
int error;
int i;
int s;
@@ -1028,17 +1027,8 @@ esh_fpread(dev, uio, ioflag)
}
/* Check for validity */
-
for (i = 0; i < uio->uio_iovcnt; i++) {
- /* XXXCDC: map not locked, rethink */
- if (!uvm_useracc(uio->uio_iov[i].iov_base,
- uio->uio_iov[i].iov_len,
- (flags == B_READ) ? B_WRITE : B_READ)) {
- error = EFAULT;
- goto fpread_done;
- }
/* Check for valid offsets and sizes */
-
if (((u_long) uio->uio_iov[i].iov_base & 3) != 0 ||
(i < uio->uio_iovcnt - 1 &&
(uio->uio_iov[i].iov_len & 3) != 0)) {
@@ -1050,18 +1040,17 @@ esh_fpread(dev, uio, ioflag)
PHOLD(p); /* Lock process info into memory */
/* Lock down the pages */
-
for (i = 0; i < uio->uio_iovcnt; i++) {
iovp = &uio->uio_iov[i];
- if (uvm_vslock(p, iovp->iov_base, iovp->iov_len,
- VM_PROT_READ | VM_PROT_WRITE) != KERN_SUCCESS) {
+ error = uvm_vslock(p, iovp->iov_base, iovp->iov_len,
+ VM_PROT_READ | VM_PROT_WRITE);
+ if (error) {
/* Unlock what we've locked so far. */
for (--i; i >= 0; i--) {
iovp = &uio->uio_iov[i];
uvm_vsunlock(p, iovp->iov_base,
iovp->iov_len);
}
- error = EFAULT;
goto fpread_done;
}
}
@@ -1176,7 +1165,6 @@ esh_fpwrite(dev, uio, ioflag)
struct esh_send_ring_ctl *ring;
struct esh_dmainfo *di;
int ulp = ESHULP(dev);
- int flags = B_WRITE;
int error;
int len;
int i;
@@ -1200,16 +1188,7 @@ esh_fpwrite(dev, uio, ioflag)
}
/* Check for validity */
-
for (i = 0; i < uio->uio_iovcnt; i++) {
- /* XXXCDC: map not locked, rethink */
- if (!uvm_useracc(uio->uio_iov[i].iov_base,
- uio->uio_iov[i].iov_len,
- (flags == B_READ) ? B_WRITE : B_READ)) {
- error = EFAULT;
- goto fpwrite_done;
- }
-
if (((u_long) uio->uio_iov[i].iov_base & 3) != 0 ||
(i < uio->uio_iovcnt - 1 &&
(uio->uio_iov[i].iov_len & 3) != 0)) {
@@ -1221,18 +1200,17 @@ esh_fpwrite(dev, uio, ioflag)
PHOLD(p); /* Lock process info into memory */
/* Lock down the pages */
-
for (i = 0; i < uio->uio_iovcnt; i++) {
iovp = &uio->uio_iov[i];
- if (uvm_vslock(p, iovp->iov_base, iovp->iov_len,
- VM_PROT_READ) != KERN_SUCCESS) {
+ error = uvm_vslock(p, iovp->iov_base, iovp->iov_len,
+ VM_PROT_READ);
+ if (error) {
/* Unlock what we've locked so far. */
for (--i; i >= 0; i--) {
iovp = &uio->uio_iov[i];
uvm_vsunlock(p, iovp->iov_base,
iovp->iov_len);
}
- error = EFAULT;
goto fpwrite_done;
}
}
diff --git a/sys/kern/exec_subr.c b/sys/kern/exec_subr.c
index bbc97152cc3..600c1c45591 100644
--- a/sys/kern/exec_subr.c
+++ b/sys/kern/exec_subr.c
@@ -1,4 +1,4 @@
-/* $NetBSD: exec_subr.c,v 1.26 2000/11/27 08:39:42 chs Exp $ */
+/* $NetBSD: exec_subr.c,v 1.27 2001/03/15 06:10:55 chs Exp $ */
/*
* Copyright (c) 1993, 1994, 1996 Christopher G. Demetriou
@@ -133,20 +133,18 @@ kill_vmcmds(struct exec_vmcmd_set *evsp)
int
vmcmd_map_pagedvn(struct proc *p, struct exec_vmcmd *cmd)
{
- /*
- * note that if you're going to map part of an process as being
- * paged from a vnode, that vnode had damn well better be marked as
- * VTEXT. that's handled in the routine which sets up the vmcmd to
- * call this routine.
- */
- struct uvm_object *uobj;
- int retval;
+ struct uvm_object *uobj;
+ int error;
+
+#if 0
+ /* XXX not true for eg. ld.elf_so */
+ KASSERT(cmd->ev_vp->v_flag & VTEXT);
+#endif
/*
* map the vnode in using uvm_map.
*/
- /* checks imported from uvm_mmap, needed? */
if (cmd->ev_len == 0)
return(0);
if (cmd->ev_offset & PAGE_MASK)
@@ -160,7 +158,7 @@ vmcmd_map_pagedvn(struct proc *p, struct exec_vmcmd *cmd)
* first, attach to the object
*/
- uobj = uvn_attach((void *) cmd->ev_vp, VM_PROT_READ|VM_PROT_EXECUTE);
+ uobj = uvn_attach(cmd->ev_vp, VM_PROT_READ|VM_PROT_EXECUTE);
if (uobj == NULL)
return(ENOMEM);
VREF(cmd->ev_vp);
@@ -169,24 +167,14 @@ vmcmd_map_pagedvn(struct proc *p, struct exec_vmcmd *cmd)
* do the map
*/
- retval = uvm_map(&p->p_vmspace->vm_map, &cmd->ev_addr, cmd->ev_len,
+ error = uvm_map(&p->p_vmspace->vm_map, &cmd->ev_addr, cmd->ev_len,
uobj, cmd->ev_offset, 0,
UVM_MAPFLAG(cmd->ev_prot, VM_PROT_ALL, UVM_INH_COPY,
UVM_ADV_NORMAL, UVM_FLAG_COPYONW|UVM_FLAG_FIXED));
-
- /*
- * check for error
- */
-
- if (retval == KERN_SUCCESS)
- return(0);
-
- /*
- * error: detach from object
- */
-
- uobj->pgops->pgo_detach(uobj);
- return (EINVAL);
+ if (error) {
+ uobj->pgops->pgo_detach(uobj);
+ }
+ return error;
}
/*
@@ -202,8 +190,8 @@ vmcmd_map_readvn(struct proc *p, struct exec_vmcmd *cmd)
long diff;
if (cmd->ev_len == 0)
- return(KERN_SUCCESS); /* XXXCDC: should it happen? */
-
+ return 0;
+
diff = cmd->ev_addr - trunc_page(cmd->ev_addr);
cmd->ev_addr -= diff; /* required by uvm_map */
cmd->ev_offset -= diff;
@@ -233,19 +221,20 @@ vmcmd_readvn(struct proc *p, struct exec_vmcmd *cmd)
return error;
if (cmd->ev_prot != (VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE)) {
+
/*
* we had to map in the area at PROT_ALL so that vn_rdwr()
* could write to it. however, the caller seems to want
* it mapped read-only, so now we are going to have to call
* uvm_map_protect() to fix up the protection. ICK.
*/
- return(uvm_map_protect(&p->p_vmspace->vm_map,
+
+ return uvm_map_protect(&p->p_vmspace->vm_map,
trunc_page(cmd->ev_addr),
round_page(cmd->ev_addr + cmd->ev_len),
- cmd->ev_prot, FALSE));
- } else {
- return (KERN_SUCCESS);
+ cmd->ev_prot, FALSE);
}
+ return 0;
}
/*
@@ -260,9 +249,6 @@ vmcmd_map_zero(struct proc *p, struct exec_vmcmd *cmd)
int error;
long diff;
- if (cmd->ev_len == 0)
- return(KERN_SUCCESS); /* XXXCDC: should it happen? */
-
diff = cmd->ev_addr - trunc_page(cmd->ev_addr);
cmd->ev_addr -= diff; /* required by uvm_map */
cmd->ev_len += diff;
@@ -272,8 +258,5 @@ vmcmd_map_zero(struct proc *p, struct exec_vmcmd *cmd)
UVM_MAPFLAG(cmd->ev_prot, UVM_PROT_ALL, UVM_INH_COPY,
UVM_ADV_NORMAL,
UVM_FLAG_FIXED|UVM_FLAG_COPYONW));
-
- if (error)
- return error;
- return (KERN_SUCCESS);
+ return error;
}
diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c
index c992593cf10..621b071430c 100644
--- a/sys/kern/init_main.c
+++ b/sys/kern/init_main.c
@@ -1,4 +1,4 @@
-/* $NetBSD: init_main.c,v 1.188 2001/01/01 20:18:34 thorpej Exp $ */
+/* $NetBSD: init_main.c,v 1.189 2001/03/15 06:10:55 chs Exp $ */
/*
* Copyright (c) 1995 Christopher G. Demetriou. All rights reserved.
@@ -585,8 +585,7 @@ start_init(void *arg)
NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL, UVM_INH_COPY,
UVM_ADV_NORMAL,
- UVM_FLAG_FIXED|UVM_FLAG_OVERLAY|UVM_FLAG_COPYONW))
- != KERN_SUCCESS)
+ UVM_FLAG_FIXED|UVM_FLAG_OVERLAY|UVM_FLAG_COPYONW)) != 0)
panic("init: couldn't allocate argument space");
p->p_vmspace->vm_maxsaddr = (caddr_t)addr;
diff --git a/sys/kern/kern_physio.c b/sys/kern/kern_physio.c
index 63557dda8fd..5e851eb4365 100644
--- a/sys/kern/kern_physio.c
+++ b/sys/kern/kern_physio.c
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_physio.c,v 1.46 2000/12/08 02:25:50 augustss Exp $ */
+/* $NetBSD: kern_physio.c,v 1.47 2001/03/15 06:10:55 chs Exp $ */
/*-
* Copyright (c) 1994 Christopher G. Demetriou
@@ -86,23 +86,6 @@ physio(strategy, bp, dev, flags, minphys, uio)
error = 0;
flags &= B_READ | B_WRITE | B_ORDERED;
- /*
- * [check user read/write access to the data buffer]
- *
- * Check each iov one by one. Note that we know if we're reading or
- * writing, so we ignore the uio's rw parameter. Also note that if
- * we're doing a read, that's a *write* to user-space.
- */
- if (uio->uio_segflg == UIO_USERSPACE) {
- for (i = 0; i < uio->uio_iovcnt; i++) {
- /* XXXCDC: map not locked, rethink */
- if (__predict_false(!uvm_useracc(uio->uio_iov[i].iov_base,
- uio->uio_iov[i].iov_len,
- (flags == B_READ) ? B_WRITE : B_READ)))
- return (EFAULT);
- }
- }
-
/* Make sure we have a buffer, creating one if necessary. */
if ((nobuf = (bp == NULL)) != 0) {
@@ -128,7 +111,6 @@ physio(strategy, bp, dev, flags, minphys, uio)
/* [lower the priority level] */
splx(s);
-
}
/* [set up the fixed part of the buffer for a transfer] */
@@ -145,6 +127,7 @@ physio(strategy, bp, dev, flags, minphys, uio)
for (i = 0; i < uio->uio_iovcnt; i++) {
iovp = &uio->uio_iov[i];
while (iovp->iov_len > 0) {
+
/*
* [mark the buffer busy for physical I/O]
* (i.e. set B_PHYS (because it's an I/O to user
@@ -182,12 +165,13 @@ physio(strategy, bp, dev, flags, minphys, uio)
* restores it.
*/
PHOLD(p);
- if (__predict_false(uvm_vslock(p, bp->b_data, todo,
- (flags & B_READ) ?
- VM_PROT_READ | VM_PROT_WRITE : VM_PROT_READ)
- != KERN_SUCCESS)) {
+ error = uvm_vslock(p, bp->b_data, todo,
+ (flags & B_READ) ?
+ VM_PROT_READ | VM_PROT_WRITE :
+ VM_PROT_READ);
+ if (error) {
bp->b_flags |= B_ERROR;
- bp->b_error = EFAULT;
+ bp->b_error = error;
goto after_vsunlock;
}
vmapbuf(bp, todo);
@@ -233,12 +217,9 @@ physio(strategy, bp, dev, flags, minphys, uio)
* of data to transfer]
*/
done = bp->b_bcount - bp->b_resid;
-#ifdef DIAGNOSTIC
- if (__predict_false(done < 0))
- panic("done < 0; strategy broken");
- if (__predict_false(done > todo))
- panic("done > todo; strategy broken");
-#endif
+ KASSERT(done >= 0);
+ KASSERT(done <= todo);
+
iovp->iov_len -= done;
iovp->iov_base = (caddr_t)iovp->iov_base + done;
uio->uio_offset += done;
diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c
index c61fe663e9f..838e137324f 100644
--- a/sys/kern/kern_sysctl.c
+++ b/sys/kern/kern_sysctl.c
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_sysctl.c,v 1.86 2000/12/22 22:59:00 jdolecek Exp $ */
+/* $NetBSD: kern_sysctl.c,v 1.87 2001/03/15 06:10:55 chs Exp $ */
/*-
* Copyright (c) 1982, 1986, 1989, 1993
@@ -214,10 +214,11 @@ sys___sysctl(p, v, retval)
error = lockmgr(&sysctl_memlock, LK_EXCLUSIVE, NULL);
if (error)
return (error);
- if (uvm_vslock(p, SCARG(uap, old), oldlen,
- VM_PROT_READ|VM_PROT_WRITE) != KERN_SUCCESS) {
+ error = uvm_vslock(p, SCARG(uap, old), oldlen,
+ VM_PROT_READ|VM_PROT_WRITE);
+ if (error) {
(void) lockmgr(&sysctl_memlock, LK_RELEASE, NULL);
- return (EFAULT);
+ return error;
}
savelen = oldlen;
}
diff --git a/sys/kern/sysv_shm.c b/sys/kern/sysv_shm.c
index 5996e11dee9..ea7c80b7232 100644
--- a/sys/kern/sysv_shm.c
+++ b/sys/kern/sysv_shm.c
@@ -1,4 +1,4 @@
-/* $NetBSD: sysv_shm.c,v 1.60 2000/11/14 22:16:38 thorpej Exp $ */
+/* $NetBSD: sysv_shm.c,v 1.61 2001/03/15 06:10:56 chs Exp $ */
/*-
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -115,7 +115,7 @@ struct shmmap_state {
static int shm_find_segment_by_key __P((key_t));
static void shm_deallocate_segment __P((struct shmid_ds *));
-static int shm_delete_mapping __P((struct vmspace *, struct shmmap_state *));
+static void shm_delete_mapping __P((struct vmspace *, struct shmmap_state *));
static int shmget_existing __P((struct proc *, struct sys_shmget_args *,
int, int, register_t *));
static int shmget_allocate_segment __P((struct proc *, struct sys_shmget_args *,
@@ -169,21 +169,19 @@ shm_deallocate_segment(shmseg)
shm_nused--;
}
-static int
+static void
shm_delete_mapping(vm, shmmap_s)
struct vmspace *vm;
struct shmmap_state *shmmap_s;
{
struct shmid_ds *shmseg;
- int segnum, result;
+ int segnum;
size_t size;
segnum = IPCID_TO_IX(shmmap_s->shmid);
shmseg = &shmsegs[segnum];
size = (shmseg->shm_segsz + PGOFSET) & ~PGOFSET;
- result = uvm_deallocate(&vm->vm_map, shmmap_s->va, size);
- if (result != KERN_SUCCESS)
- return EINVAL;
+ uvm_deallocate(&vm->vm_map, shmmap_s->va, size);
shmmap_s->shmid = -1;
shmseg->shm_dtime = time.tv_sec;
if ((--shmseg->shm_nattch <= 0) &&
@@ -191,7 +189,6 @@ shm_delete_mapping(vm, shmmap_s)
shm_deallocate_segment(shmseg);
shm_last_free = segnum;
}
- return 0;
}
int
@@ -216,7 +213,8 @@ sys_shmdt(p, v, retval)
break;
if (i == shminfo.shmseg)
return EINVAL;
- return shm_delete_mapping(p->p_vmspace, shmmap_s);
+ shm_delete_mapping(p->p_vmspace, shmmap_s);
+ return 0;
}
int
@@ -238,7 +236,6 @@ sys_shmat(p, v, retval)
vaddr_t attach_va;
vm_prot_t prot;
vsize_t size;
- int rv;
shmmap_s = (struct shmmap_state *)p->p_vmspace->vm_shm;
if (shmmap_s == NULL) {
@@ -284,14 +281,12 @@ sys_shmat(p, v, retval)
}
shm_handle = shmseg->_shm_internal;
uao_reference(shm_handle->shm_object);
- rv = uvm_map(&p->p_vmspace->vm_map, &attach_va, size,
- shm_handle->shm_object, 0, 0,
- UVM_MAPFLAG(prot, prot, UVM_INH_SHARE,
- UVM_ADV_RANDOM, 0));
- if (rv != KERN_SUCCESS) {
- return ENOMEM;
+ error = uvm_map(&p->p_vmspace->vm_map, &attach_va, size,
+ shm_handle->shm_object, 0, 0,
+ UVM_MAPFLAG(prot, prot, UVM_INH_SHARE, UVM_ADV_RANDOM, 0));
+ if (error) {
+ return error;
}
-
shmmap_s->va = attach_va;
shmmap_s->shmid = SCARG(uap, shmid);
shmseg->shm_lpid = p->p_pid;
diff --git a/sys/uvm/uvm_bio.c b/sys/uvm/uvm_bio.c
index fdaac290be3..55ab2be6fb4 100644
--- a/sys/uvm/uvm_bio.c
+++ b/sys/uvm/uvm_bio.c
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_bio.c,v 1.8 2001/03/10 22:46:48 chs Exp $ */
+/* $NetBSD: uvm_bio.c,v 1.9 2001/03/15 06:10:56 chs Exp $ */
/*
* Copyright (c) 1998 Chuck Silvers.
@@ -183,8 +183,7 @@ ubc_init(void)
if (uvm_map(kernel_map, (vaddr_t *)&ubc_object.kva,
ubc_nwins * ubc_winsize, &ubc_object.uobj, 0, (vsize_t)va,
UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL, UVM_INH_NONE,
- UVM_ADV_RANDOM, UVM_FLAG_NOMERGE))
- != KERN_SUCCESS) {
+ UVM_ADV_RANDOM, UVM_FLAG_NOMERGE)) != 0) {
panic("ubc_init: failed to map ubc_object\n");
}
UVMHIST_INIT(ubchist, 300);
diff --git a/sys/uvm/uvm_device.c b/sys/uvm/uvm_device.c
index 06916488e38..7fbbff3bdaf 100644
--- a/sys/uvm/uvm_device.c
+++ b/sys/uvm/uvm_device.c
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_device.c,v 1.31 2001/03/10 22:46:48 chs Exp $ */
+/* $NetBSD: uvm_device.c,v 1.32 2001/03/15 06:10:56 chs Exp $ */
/*
*
@@ -448,7 +448,7 @@ udv_fault(ufi, vaddr, pps, npages, centeridx, fault_type, access_type, flags)
" MAPPING: device: pm=0x%x, va=0x%x, pa=0x%lx, at=%d",
ufi->orig_map->pmap, curr_va, paddr, mapprot);
if (pmap_enter(ufi->orig_map->pmap, curr_va, paddr,
- mapprot, PMAP_CANFAIL | mapprot) != KERN_SUCCESS) {
+ mapprot, PMAP_CANFAIL | mapprot) != 0) {
/*
* pmap_enter() didn't have the resource to
* enter this mapping. Unlock everything,
diff --git a/sys/uvm/uvm_extern.h b/sys/uvm/uvm_extern.h
index b88a5a260ea..09c51c799ca 100644
--- a/sys/uvm/uvm_extern.h
+++ b/sys/uvm/uvm_extern.h
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_extern.h,v 1.57 2001/03/09 01:02:12 chs Exp $ */
+/* $NetBSD: uvm_extern.h,v 1.58 2001/03/15 06:10:56 chs Exp $ */
/*
*
@@ -620,7 +620,7 @@ int uvm_sysctl __P((int *, u_int, void *, size_t *,
/* uvm_mmap.c */
int uvm_mmap __P((vm_map_t, vaddr_t *, vsize_t,
vm_prot_t, vm_prot_t, int,
- caddr_t, voff_t, vsize_t));
+ void *, voff_t, vsize_t));
/* uvm_page.c */
struct vm_page *uvm_pagealloc_strat __P((struct uvm_object *,
@@ -663,7 +663,7 @@ int uvm_coredump32 __P((struct proc *, struct vnode *,
struct ucred *, struct core32 *));
/* uvm_user.c */
-int uvm_deallocate __P((vm_map_t, vaddr_t, vsize_t));
+void uvm_deallocate __P((vm_map_t, vaddr_t, vsize_t));
/* uvm_vnode.c */
void uvm_vnp_setsize __P((struct vnode *, voff_t));
diff --git a/sys/uvm/uvm_fault.c b/sys/uvm/uvm_fault.c
index b2a1609c13b..cf71d2bcd8c 100644
--- a/sys/uvm/uvm_fault.c
+++ b/sys/uvm/uvm_fault.c
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_fault.c,v 1.57 2001/03/10 22:46:49 chs Exp $ */
+/* $NetBSD: uvm_fault.c,v 1.58 2001/03/15 06:10:56 chs Exp $ */
/*
*
@@ -297,12 +297,12 @@ uvmfault_anonget(ufi, amap, anon)
boolean_t we_own; /* we own anon's page? */
boolean_t locked; /* did we relock? */
struct vm_page *pg;
- int result;
+ int error;
UVMHIST_FUNC("uvmfault_anonget"); UVMHIST_CALLED(maphist);
LOCK_ASSERT(simple_lock_held(&anon->an_lock));
- result = 0; /* XXX shut up gcc */
+ error = 0;
uvmexp.fltanget++;
/* bump rusage counters */
if (anon->u.an_page)
@@ -399,7 +399,7 @@ uvmfault_anonget(ufi, amap, anon)
* we hold PG_BUSY on the page.
*/
uvmexp.pageins++;
- result = uvm_swap_get(pg, anon->an_swslot,
+ error = uvm_swap_get(pg, anon->an_swslot,
PGO_SYNCIO);
/*
@@ -459,7 +459,7 @@ uvmfault_anonget(ufi, amap, anon)
return (ERESTART); /* refault! */
}
- if (result != 0) {
+ if (error) {
/* remove page from anon */
anon->u.an_page = NULL;
@@ -487,7 +487,7 @@ uvmfault_anonget(ufi, amap, anon)
else
simple_unlock(&anon->an_lock);
UVMHIST_LOG(maphist, "<- ERROR", 0,0,0,0);
- return (EIO);
+ return error;
}
/*
@@ -564,7 +564,7 @@ uvm_fault(orig_map, vaddr, fault_type, access_type)
struct uvm_faultinfo ufi;
vm_prot_t enter_prot;
boolean_t wired, narrow, promote, locked, shadowed;
- int npages, nback, nforw, centeridx, result, lcv, gotpages;
+ int npages, nback, nforw, centeridx, error, lcv, gotpages;
vaddr_t startva, objaddr, currva, offset, uoff;
paddr_t pa;
struct vm_amap *amap;
@@ -601,11 +601,8 @@ uvm_fault(orig_map, vaddr, fault_type, access_type)
* maps are never pageable, and this approach avoids an evil
* locking mess.
*/
- if (orig_map == kernel_map && uvmfault_check_intrsafe(&ufi)) {
- UVMHIST_LOG(maphist, "<- VA 0x%lx in intrsafe map %p",
- ufi.orig_rvaddr, ufi.map, 0, 0);
- return (KERN_FAILURE);
- }
+
+ KASSERT(orig_map != kernel_map || !uvmfault_check_intrsafe(&ufi));
/*
* "goto ReFault" means restart the page fault from ground zero.
@@ -618,10 +615,12 @@ ReFault:
if (uvmfault_lookup(&ufi, FALSE) == FALSE) {
UVMHIST_LOG(maphist, "<- no mapping @ 0x%x", vaddr, 0,0,0);
- return (KERN_INVALID_ADDRESS);
+ return (EFAULT);
}
/* locked: maps(read) */
+ KASSERT(ufi.map->flags & VM_MAP_PAGEABLE);
+
/*
* check protection
*/
@@ -631,18 +630,7 @@ ReFault:
"<- protection failure (prot=0x%x, access=0x%x)",
ufi.entry->protection, access_type, 0, 0);
uvmfault_unlockmaps(&ufi, FALSE);
- return (KERN_PROTECTION_FAILURE);
- }
-
- /*
- * if the map is not a pageable map, a page fault always fails.
- */
-
- if ((ufi.map->flags & VM_MAP_PAGEABLE) == 0) {
- UVMHIST_LOG(maphist,
- "<- map %p not pageable", ufi.map, 0, 0, 0);
- uvmfault_unlockmaps(&ufi, FALSE);
- return (KERN_FAILURE);
+ return EACCES;
}
/*
@@ -701,7 +689,7 @@ ReFault:
if (amap == NULL && uobj == NULL) {
uvmfault_unlockmaps(&ufi, FALSE);
UVMHIST_LOG(maphist,"<- no backing store, no overlay",0,0,0,0);
- return (KERN_INVALID_ADDRESS);
+ return (EFAULT);
}
/*
@@ -886,18 +874,17 @@ ReFault:
simple_lock(&uobj->vmobjlock);
/* locked: maps(read), amap (if there), uobj */
- result = uobj->pgops->pgo_fault(&ufi, startva, pages, npages,
- centeridx, fault_type, access_type,
- PGO_LOCKED|PGO_SYNCIO);
+ error = uobj->pgops->pgo_fault(&ufi, startva, pages, npages,
+ centeridx, fault_type, access_type, PGO_LOCKED|PGO_SYNCIO);
/* locked: nothing, pgo_fault has unlocked everything */
- if (result == 0)
- return (KERN_SUCCESS); /* pgo_fault did pmap enter */
- else if (result == ERESTART)
+ if (error == 0)
+ return (0);
+ else if (error == ERESTART)
goto ReFault; /* try again! */
else
- return (KERN_PROTECTION_FAILURE);
+ return EACCES;
}
/*
@@ -1057,8 +1044,8 @@ ReFault:
* lock that object for us if it does not fail.
*/
- result = uvmfault_anonget(&ufi, amap, anon);
- switch (result) {
+ error = uvmfault_anonget(&ufi, amap, anon);
+ switch (error) {
case 0:
break;
@@ -1070,11 +1057,7 @@ ReFault:
goto ReFault;
default:
-#ifdef DIAGNOSTIC
- panic("uvm_fault: uvmfault_anonget -> %d", result);
-#else
- return (KERN_PROTECTION_FAILURE);
-#endif
+ return error;
}
/*
@@ -1198,7 +1181,7 @@ ReFault:
UVMHIST_LOG(maphist,
"<- failed. out of VM",0,0,0,0);
uvmexp.fltnoanon++;
- return (KERN_RESOURCE_SHORTAGE);
+ return ENOMEM;
}
uvmexp.fltnoram++;
@@ -1246,7 +1229,7 @@ ReFault:
ufi.orig_map->pmap, ufi.orig_rvaddr, pg, 0);
if (pmap_enter(ufi.orig_map->pmap, ufi.orig_rvaddr, VM_PAGE_TO_PHYS(pg),
enter_prot, access_type | PMAP_CANFAIL | (wired ? PMAP_WIRED : 0))
- != KERN_SUCCESS) {
+ != 0) {
/*
* No need to undo what we did; we can simply think of
* this as the pmap throwing away the mapping information.
@@ -1262,7 +1245,7 @@ ReFault:
UVMHIST_LOG(maphist,
"<- failed. out of VM",0,0,0,0);
/* XXX instrumentation */
- return (KERN_RESOURCE_SHORTAGE);
+ return ENOMEM;
}
/* XXX instrumentation */
uvm_wait("flt_pmfail1");
@@ -1301,7 +1284,7 @@ ReFault:
if (anon != oanon)
simple_unlock(&anon->an_lock);
uvmfault_unlockall(&ufi, amap, uobj, oanon);
- return (KERN_SUCCESS);
+ return 0;
Case2:
@@ -1355,18 +1338,18 @@ Case2:
uvmexp.fltget++;
gotpages = 1;
uoff = (ufi.orig_rvaddr - ufi.entry->start) + ufi.entry->offset;
- result = uobj->pgops->pgo_get(uobj, uoff, &uobjpage, &gotpages,
+ error = uobj->pgops->pgo_get(uobj, uoff, &uobjpage, &gotpages,
0, access_type & MASK(ufi.entry), ufi.entry->advice,
PGO_SYNCIO);
- /* locked: uobjpage(if result OK) */
+ /* locked: uobjpage(if no error) */
/*
* recover from I/O
*/
- if (result != 0) {
- if (result == EAGAIN) {
+ if (error) {
+ if (error == EAGAIN) {
UVMHIST_LOG(maphist,
" pgo_get says TRY AGAIN!",0,0,0,0);
tsleep(&lbolt, PVM, "fltagain2", 0);
@@ -1374,8 +1357,8 @@ Case2:
}
UVMHIST_LOG(maphist, "<- pgo_get failed (code %d)",
- result, 0,0,0);
- return (KERN_PROTECTION_FAILURE); /* XXX i/o error */
+ error, 0,0,0);
+ return error;
}
/* locked: uobjpage */
@@ -1626,7 +1609,7 @@ Case2:
UVMHIST_LOG(maphist, " promote: out of VM",
0,0,0,0);
uvmexp.fltnoanon++;
- return (KERN_RESOURCE_SHORTAGE);
+ return ENOMEM;
}
UVMHIST_LOG(maphist, " out of RAM, waiting for more",
@@ -1707,8 +1690,7 @@ Case2:
KASSERT(access_type == VM_PROT_READ || (pg->flags & PG_RDONLY) == 0);
if (pmap_enter(ufi.orig_map->pmap, ufi.orig_rvaddr, VM_PAGE_TO_PHYS(pg),
pg->flags & PG_RDONLY ? VM_PROT_READ : enter_prot,
- access_type | PMAP_CANFAIL | (wired ? PMAP_WIRED : 0))
- != KERN_SUCCESS) {
+ access_type | PMAP_CANFAIL | (wired ? PMAP_WIRED : 0)) != 0) {
/*
* No need to undo what we did; we can simply think of
@@ -1734,7 +1716,7 @@ Case2:
UVMHIST_LOG(maphist,
"<- failed. out of VM",0,0,0,0);
/* XXX instrumentation */
- return (KERN_RESOURCE_SHORTAGE);
+ return ENOMEM;
}
/* XXX instrumentation */
uvm_wait("flt_pmfail2");
@@ -1776,7 +1758,7 @@ Case2:
uvmfault_unlockall(&ufi, amap, uobj, anon);
UVMHIST_LOG(maphist, "<- done (SUCCESS!)",0,0,0,0);
- return (KERN_SUCCESS);
+ return 0;
}
@@ -1797,7 +1779,7 @@ uvm_fault_wire(map, start, end, access_type)
{
vaddr_t va;
pmap_t pmap;
- int rv;
+ int error;
pmap = vm_map_pmap(map);
@@ -1808,16 +1790,16 @@ uvm_fault_wire(map, start, end, access_type)
*/
for (va = start ; va < end ; va += PAGE_SIZE) {
- rv = uvm_fault(map, va, VM_FAULT_WIRE, access_type);
- if (rv) {
+ error = uvm_fault(map, va, VM_FAULT_WIRE, access_type);
+ if (error) {
if (va != start) {
uvm_fault_unwire(map, start, va);
}
- return (rv);
+ return error;
}
}
- return (KERN_SUCCESS);
+ return 0;
}
/*
diff --git a/sys/uvm/uvm_glue.c b/sys/uvm/uvm_glue.c
index 6ecc2d9744a..3a254e116ca 100644
--- a/sys/uvm/uvm_glue.c
+++ b/sys/uvm/uvm_glue.c
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_glue.c,v 1.44 2001/02/06 19:54:44 eeh Exp $ */
+/* $NetBSD: uvm_glue.c,v 1.45 2001/03/15 06:10:57 chs Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -220,15 +220,13 @@ uvm_vslock(p, addr, len, access_type)
{
vm_map_t map;
vaddr_t start, end;
- int rv;
+ int error;
map = &p->p_vmspace->vm_map;
start = trunc_page((vaddr_t)addr);
end = round_page((vaddr_t)addr + len);
-
- rv = uvm_fault_wire(map, start, end, access_type);
-
- return (rv);
+ error = uvm_fault_wire(map, start, end, access_type);
+ return error;
}
/*
@@ -273,7 +271,7 @@ uvm_fork(p1, p2, shared, stack, stacksize, func, arg)
void *arg;
{
struct user *up = p2->p_addr;
- int rv;
+ int error;
if (shared == TRUE) {
p2->p_vmspace = NULL;
@@ -290,10 +288,10 @@ uvm_fork(p1, p2, shared, stack, stacksize, func, arg)
* Note the kernel stack gets read/write accesses right off
* the bat.
*/
- rv = uvm_fault_wire(kernel_map, (vaddr_t)up,
+ error = uvm_fault_wire(kernel_map, (vaddr_t)up,
(vaddr_t)up + USPACE, VM_PROT_READ | VM_PROT_WRITE);
- if (rv != KERN_SUCCESS)
- panic("uvm_fork: uvm_fault_wire failed: %d", rv);
+ if (error)
+ panic("uvm_fork: uvm_fault_wire failed: %d", error);
/*
* p_stats currently points at a field in the user struct. Copy
diff --git a/sys/uvm/uvm_io.c b/sys/uvm/uvm_io.c
index 70ba0ce479b..1e77196beeb 100644
--- a/sys/uvm/uvm_io.c
+++ b/sys/uvm/uvm_io.c
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_io.c,v 1.12 2000/06/27 17:29:23 mrg Exp $ */
+/* $NetBSD: uvm_io.c,v 1.13 2001/03/15 06:10:57 chs Exp $ */
/*
*
@@ -139,17 +139,10 @@ uvm_io(map, uio)
*/
vm_map_lock(kernel_map);
- (void)uvm_unmap_remove(kernel_map, kva, kva+chunksz,
- &dead_entries);
+ uvm_unmap_remove(kernel_map, kva, kva + chunksz, &dead_entries);
vm_map_unlock(kernel_map);
-
if (dead_entries != NULL)
uvm_unmap_detach(dead_entries, AMAP_REFALL);
}
-
- /*
- * done
- */
-
return (error);
}
diff --git a/sys/uvm/uvm_km.c b/sys/uvm/uvm_km.c
index be9bc4bb873..688e6b3c6a2 100644
--- a/sys/uvm/uvm_km.c
+++ b/sys/uvm/uvm_km.c
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_km.c,v 1.42 2001/01/14 02:10:01 thorpej Exp $ */
+/* $NetBSD: uvm_km.c,v 1.43 2001/03/15 06:10:57 chs Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -237,7 +237,7 @@ uvm_km_init(start, end)
kernel_map_store.pmap = pmap_kernel();
if (uvm_map(&kernel_map_store, &base, start - base, NULL,
UVM_UNKNOWN_OFFSET, 0, UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL,
- UVM_INH_NONE, UVM_ADV_RANDOM,UVM_FLAG_FIXED)) != KERN_SUCCESS)
+ UVM_INH_NONE, UVM_ADV_RANDOM,UVM_FLAG_FIXED)) != 0)
panic("uvm_km_init: could not reserve space for kernel");
/*
@@ -276,7 +276,7 @@ uvm_km_suballoc(map, min, max, size, flags, fixed, submap)
if (uvm_map(map, min, size, NULL, UVM_UNKNOWN_OFFSET, 0,
UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL, UVM_INH_NONE,
- UVM_ADV_RANDOM, mapflags)) != KERN_SUCCESS) {
+ UVM_ADV_RANDOM, mapflags)) != 0) {
panic("uvm_km_suballoc: unable to allocate space in parent map");
}
@@ -304,7 +304,7 @@ uvm_km_suballoc(map, min, max, size, flags, fixed, submap)
* now let uvm_map_submap plug in it...
*/
- if (uvm_map_submap(map, *min, *max, submap) != KERN_SUCCESS)
+ if (uvm_map_submap(map, *min, *max, submap) != 0)
panic("uvm_km_suballoc: submap allocation failed");
return(submap);
@@ -510,7 +510,7 @@ uvm_km_kmemalloc(map, obj, size, flags)
if (__predict_false(uvm_map(map, &kva, size, obj, UVM_UNKNOWN_OFFSET,
0, UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL, UVM_INH_NONE,
UVM_ADV_RANDOM, (flags & UVM_KMF_TRYLOCK)))
- != KERN_SUCCESS)) {
+ != 0)) {
UVMHIST_LOG(maphist, "<- done (no VM)",0,0,0,0);
return(0);
}
@@ -613,11 +613,10 @@ uvm_km_free_wakeup(map, addr, size)
vm_map_entry_t dead_entries;
vm_map_lock(map);
- (void)uvm_unmap_remove(map, trunc_page(addr), round_page(addr+size),
- &dead_entries);
+ uvm_unmap_remove(map, trunc_page(addr), round_page(addr + size),
+ &dead_entries);
wakeup(map);
vm_map_unlock(map);
-
if (dead_entries != NULL)
uvm_unmap_detach(dead_entries, 0);
}
@@ -651,7 +650,7 @@ uvm_km_alloc1(map, size, zeroit)
if (__predict_false(uvm_map(map, &kva, size, uvm.kernel_object,
UVM_UNKNOWN_OFFSET, 0, UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL,
UVM_INH_NONE, UVM_ADV_RANDOM,
- 0)) != KERN_SUCCESS)) {
+ 0)) != 0)) {
UVMHIST_LOG(maphist,"<- done (no VM)",0,0,0,0);
return(0);
}
@@ -757,7 +756,7 @@ uvm_km_valloc_align(map, size, align)
if (__predict_false(uvm_map(map, &kva, size, uvm.kernel_object,
UVM_UNKNOWN_OFFSET, align, UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL,
UVM_INH_NONE, UVM_ADV_RANDOM,
- 0)) != KERN_SUCCESS)) {
+ 0)) != 0)) {
UVMHIST_LOG(maphist, "<- done (no VM)", 0,0,0,0);
return(0);
}
@@ -801,7 +800,7 @@ uvm_km_valloc_prefer_wait(map, size, prefer)
if (__predict_true(uvm_map(map, &kva, size, uvm.kernel_object,
prefer, 0, UVM_MAPFLAG(UVM_PROT_ALL,
UVM_PROT_ALL, UVM_INH_NONE, UVM_ADV_RANDOM, 0))
- == KERN_SUCCESS)) {
+ == 0)) {
UVMHIST_LOG(maphist,"<- done (kva=0x%x)", kva,0,0,0);
return(kva);
}
diff --git a/sys/uvm/uvm_loan.c b/sys/uvm/uvm_loan.c
index 75ae2cf27ce..46fdcb85d52 100644
--- a/sys/uvm/uvm_loan.c
+++ b/sys/uvm/uvm_loan.c
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_loan.c,v 1.24 2001/03/10 22:46:49 chs Exp $ */
+/* $NetBSD: uvm_loan.c,v 1.25 2001/03/15 06:10:57 chs Exp $ */
/*
*
@@ -219,21 +219,15 @@ uvm_loan(map, start, len, result, flags)
{
struct uvm_faultinfo ufi;
void **output;
- int rv;
-
-#ifdef DIAGNOSTIC
- if (map->flags & VM_MAP_INTRSAFE)
- panic("uvm_loan: intrsafe map");
-#endif
+ int rv, error;
/*
* ensure that one and only one of the flags is set
*/
- if ((flags & (UVM_LOAN_TOANON|UVM_LOAN_TOPAGE)) ==
- (UVM_LOAN_TOANON|UVM_LOAN_TOPAGE) ||
- (flags & (UVM_LOAN_TOANON|UVM_LOAN_TOPAGE)) == 0)
- return(KERN_FAILURE);
+ KASSERT(((flags & UVM_LOAN_TOANON) == 0) ^
+ ((flags & UVM_LOAN_TOPAGE) == 0));
+ KASSERT((map->flags & VM_MAP_INTRSAFE) == 0);
/*
* "output" is a pointer to the current place to put the loaned
@@ -261,15 +255,19 @@ uvm_loan(map, start, len, result, flags)
* an unmapped region (an error)
*/
- if (!uvmfault_lookup(&ufi, FALSE))
+ if (!uvmfault_lookup(&ufi, FALSE)) {
+ error = ENOENT;
goto fail;
+ }
/*
* now do the loanout
*/
rv = uvm_loanentry(&ufi, &output, flags);
- if (rv < 0)
+ if (rv < 0) {
+ error = EINVAL;
goto fail;
+ }
/*
* done! advance pointers and unlock.
@@ -284,7 +282,7 @@ uvm_loan(map, start, len, result, flags)
* got it! return success.
*/
- return(KERN_SUCCESS);
+ return 0;
fail:
/*
@@ -298,7 +296,7 @@ fail:
uvm_unloanpage((struct vm_page **)result,
output - result);
}
- return(KERN_FAILURE);
+ return error;
}
/*
diff --git a/sys/uvm/uvm_map.c b/sys/uvm/uvm_map.c
index 5df17d45a4b..64f97e96eda 100644
--- a/sys/uvm/uvm_map.c
+++ b/sys/uvm/uvm_map.c
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_map.c,v 1.93 2001/02/11 01:34:23 eeh Exp $ */
+/* $NetBSD: uvm_map.c,v 1.94 2001/03/15 06:10:57 chs Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -528,7 +528,7 @@ uvm_map(map, startp, size, uobj, uoffset, align, flags)
if ((prot & maxprot) != prot) {
UVMHIST_LOG(maphist, "<- prot. failure: prot=0x%x, max=0x%x",
prot, maxprot,0,0);
- return(KERN_PROTECTION_FAILURE);
+ return EACCES;
}
/*
@@ -537,14 +537,14 @@ uvm_map(map, startp, size, uobj, uoffset, align, flags)
if (vm_map_lock_try(map) == FALSE) {
if (flags & UVM_FLAG_TRYLOCK)
- return(KERN_FAILURE);
+ return EAGAIN;
vm_map_lock(map); /* could sleep here */
}
if ((prev_entry = uvm_map_findspace(map, *startp, size, startp,
uobj, uoffset, align, flags)) == NULL) {
UVMHIST_LOG(maphist,"<- uvm_map_findspace failed!",0,0,0,0);
vm_map_unlock(map);
- return (KERN_NO_SPACE);
+ return ENOMEM;
}
#ifdef PMAP_GROWKERNEL
@@ -647,7 +647,7 @@ uvm_map(map, startp, size, uobj, uoffset, align, flags)
UVMHIST_LOG(maphist,"<- done (via backmerge)!", 0, 0, 0, 0);
vm_map_unlock(map);
- return (KERN_SUCCESS);
+ return 0;
}
step3:
@@ -718,7 +718,7 @@ step3:
UVMHIST_LOG(maphist,"<- done!", 0, 0, 0, 0);
vm_map_unlock(map);
- return(KERN_SUCCESS);
+ return 0;
}
/*
@@ -957,7 +957,7 @@ uvm_map_findspace(map, hint, length, result, uobj, uoffset, align, flags)
* in "entry_list"
*/
-int
+void
uvm_unmap_remove(map, start, end, entry_list)
vm_map_t map;
vaddr_t start,end;
@@ -1125,7 +1125,6 @@ uvm_unmap_remove(map, start, end, entry_list)
*entry_list = first_entry;
UVMHIST_LOG(maphist,"<- done!", 0, 0, 0, 0);
- return(KERN_SUCCESS);
}
/*
@@ -1215,7 +1214,7 @@ uvm_map_reserve(map, size, offset, align, raddr)
if (uvm_map(map, raddr, size, NULL, offset, 0,
UVM_MAPFLAG(UVM_PROT_NONE, UVM_PROT_NONE, UVM_INH_NONE,
- UVM_ADV_RANDOM, UVM_FLAG_NOMERGE)) != KERN_SUCCESS) {
+ UVM_ADV_RANDOM, UVM_FLAG_NOMERGE)) != 0) {
UVMHIST_LOG(maphist, "<- done (no VM)", 0,0,0,0);
return (FALSE);
}
@@ -1688,7 +1687,7 @@ uvm_map_submap(map, start, end, submap)
vaddr_t start, end;
{
vm_map_entry_t entry;
- int result;
+ int error;
vm_map_lock(map);
VM_MAP_RANGE_CHECK(map, start, end);
@@ -1696,8 +1695,7 @@ uvm_map_submap(map, start, end, submap)
if (uvm_map_lookup_entry(map, start, &entry)) {
UVM_MAP_CLIP_START(map, entry, start);
UVM_MAP_CLIP_END(map, entry, end); /* to be safe */
- }
- else {
+ } else {
entry = NULL;
}
@@ -1709,12 +1707,12 @@ uvm_map_submap(map, start, end, submap)
entry->object.sub_map = submap;
entry->offset = 0;
uvm_map_reference(submap);
- result = KERN_SUCCESS;
+ error = 0;
} else {
- result = KERN_INVALID_ARGUMENT;
+ error = EINVAL;
}
vm_map_unlock(map);
- return(result);
+ return error;
}
@@ -1727,7 +1725,6 @@ uvm_map_submap(map, start, end, submap)
#define MASK(entry) (UVM_ET_ISCOPYONWRITE(entry) ? \
~VM_PROT_WRITE : VM_PROT_ALL)
-#define max(a,b) ((a) > (b) ? (a) : (b))
int
uvm_map_protect(map, start, end, new_prot, set_max)
@@ -1737,15 +1734,13 @@ uvm_map_protect(map, start, end, new_prot, set_max)
boolean_t set_max;
{
vm_map_entry_t current, entry;
- int rv = KERN_SUCCESS;
+ int error = 0;
UVMHIST_FUNC("uvm_map_protect"); UVMHIST_CALLED(maphist);
UVMHIST_LOG(maphist,"(map=0x%x,start=0x%x,end=0x%x,new_prot=0x%x)",
map, start, end, new_prot);
vm_map_lock(map);
-
VM_MAP_RANGE_CHECK(map, start, end);
-
if (uvm_map_lookup_entry(map, start, &entry)) {
UVM_MAP_CLIP_START(map, entry, start);
} else {
@@ -1759,11 +1754,11 @@ uvm_map_protect(map, start, end, new_prot, set_max)
current = entry;
while ((current != &map->header) && (current->start < end)) {
if (UVM_ET_ISSUBMAP(current)) {
- rv = KERN_INVALID_ARGUMENT;
+ error = EINVAL;
goto out;
}
if ((new_prot & current->max_protection) != new_prot) {
- rv = KERN_PROTECTION_FAILURE;
+ error = EACCES;
goto out;
}
current = current->next;
@@ -1772,12 +1767,10 @@ uvm_map_protect(map, start, end, new_prot, set_max)
/* go back and fix up protections (no need to clip this time). */
current = entry;
-
while ((current != &map->header) && (current->start < end)) {
vm_prot_t old_prot;
UVM_MAP_CLIP_END(map, current, end);
-
old_prot = current->protection;
if (set_max)
current->protection =
@@ -1808,13 +1801,13 @@ uvm_map_protect(map, start, end, new_prot, set_max)
new_prot != VM_PROT_NONE) {
if (uvm_map_pageable(map, entry->start,
entry->end, FALSE,
- UVM_LK_ENTER|UVM_LK_EXIT) != KERN_SUCCESS) {
+ UVM_LK_ENTER|UVM_LK_EXIT) != 0) {
/*
* If locking the entry fails, remember the
* error if it's the first one. Note we
* still continue setting the protection in
- * the map, but will return the resource
- * shortage condition regardless.
+ * the map, but will return the error
+ * condition regardless.
*
* XXX Ignore what the actual error is,
* XXX just call it a resource shortage
@@ -1822,7 +1815,7 @@ uvm_map_protect(map, start, end, new_prot, set_max)
* XXX what uvm_map_protect() itself would
* XXX normally return.
*/
- rv = KERN_RESOURCE_SHORTAGE;
+ error = ENOMEM;
}
}
@@ -1831,11 +1824,10 @@ uvm_map_protect(map, start, end, new_prot, set_max)
out:
vm_map_unlock(map);
- UVMHIST_LOG(maphist, "<- done, rv=%d",rv,0,0,0);
- return (rv);
+ UVMHIST_LOG(maphist, "<- done, error=%d",error,0,0,0);
+ return error;
}
-#undef max
#undef MASK
/*
@@ -1865,7 +1857,7 @@ uvm_map_inherit(map, start, end, new_inheritance)
break;
default:
UVMHIST_LOG(maphist,"<- done (INVALID ARG)",0,0,0,0);
- return (KERN_INVALID_ARGUMENT);
+ return EINVAL;
}
vm_map_lock(map);
@@ -1886,7 +1878,7 @@ uvm_map_inherit(map, start, end, new_inheritance)
vm_map_unlock(map);
UVMHIST_LOG(maphist,"<- done (OK)",0,0,0,0);
- return(KERN_SUCCESS);
+ return 0;
}
/*
@@ -1933,7 +1925,7 @@ uvm_map_advice(map, start, end, new_advice)
default:
vm_map_unlock(map);
UVMHIST_LOG(maphist,"<- done (INVALID ARG)",0,0,0,0);
- return (KERN_INVALID_ARGUMENT);
+ return EINVAL;
}
entry->advice = new_advice;
entry = entry->next;
@@ -1941,7 +1933,7 @@ uvm_map_advice(map, start, end, new_advice)
vm_map_unlock(map);
UVMHIST_LOG(maphist,"<- done (OK)",0,0,0,0);
- return (KERN_SUCCESS);
+ return 0;
}
/*
@@ -1977,7 +1969,6 @@ uvm_map_pageable(map, start, end, new_pageable, lockflags)
if ((lockflags & UVM_LK_ENTER) == 0)
vm_map_lock(map);
-
VM_MAP_RANGE_CHECK(map, start, end);
/*
@@ -1992,8 +1983,8 @@ uvm_map_pageable(map, start, end, new_pageable, lockflags)
if ((lockflags & UVM_LK_EXIT) == 0)
vm_map_unlock(map);
- UVMHIST_LOG(maphist,"<- done (INVALID ARG)",0,0,0,0);
- return (KERN_INVALID_ADDRESS);
+ UVMHIST_LOG(maphist,"<- done (fault)",0,0,0,0);
+ return EFAULT;
}
entry = start_entry;
@@ -2016,9 +2007,8 @@ uvm_map_pageable(map, start, end, new_pageable, lockflags)
entry->next->start > entry->end))) {
if ((lockflags & UVM_LK_EXIT) == 0)
vm_map_unlock(map);
- UVMHIST_LOG(maphist,
- "<- done (INVALID UNWIRE ARG)",0,0,0,0);
- return (KERN_INVALID_ARGUMENT);
+ UVMHIST_LOG(maphist, "<- done (INVAL)",0,0,0,0);
+ return EINVAL;
}
entry = entry->next;
}
@@ -2039,7 +2029,7 @@ uvm_map_pageable(map, start, end, new_pageable, lockflags)
if ((lockflags & UVM_LK_EXIT) == 0)
vm_map_unlock(map);
UVMHIST_LOG(maphist,"<- done (OK UNWIRE)",0,0,0,0);
- return(KERN_SUCCESS);
+ return 0;
}
/*
@@ -2109,7 +2099,7 @@ uvm_map_pageable(map, start, end, new_pageable, lockflags)
if ((lockflags & UVM_LK_EXIT) == 0)
vm_map_unlock(map);
UVMHIST_LOG(maphist,"<- done (INVALID WIRE)",0,0,0,0);
- return (KERN_INVALID_ARGUMENT);
+ return EINVAL;
}
entry = entry->next;
}
@@ -2131,11 +2121,13 @@ uvm_map_pageable(map, start, end, new_pageable, lockflags)
rv = uvm_fault_wire(map, entry->start, entry->end,
entry->protection);
if (rv) {
+
/*
* wiring failed. break out of the loop.
* we'll clean up the map below, once we
* have a write lock again.
*/
+
break;
}
}
@@ -2200,7 +2192,7 @@ uvm_map_pageable(map, start, end, new_pageable, lockflags)
}
UVMHIST_LOG(maphist,"<- done (OK WIRE)",0,0,0,0);
- return(KERN_SUCCESS);
+ return 0;
}
/*
@@ -2248,7 +2240,7 @@ uvm_map_pageable_all(map, flags, limit)
vm_map_modflags(map, 0, VM_MAP_WIREFUTURE);
vm_map_unlock(map);
UVMHIST_LOG(maphist,"<- done (OK UNWIRE)",0,0,0,0);
- return (KERN_SUCCESS);
+ return 0;
/*
* end of unwire case!
@@ -2268,7 +2260,7 @@ uvm_map_pageable_all(map, flags, limit)
*/
UVMHIST_LOG(maphist,"<- done (OK no wire)",0,0,0,0);
vm_map_unlock(map);
- return (KERN_SUCCESS);
+ return 0;
}
/*
@@ -2304,7 +2296,7 @@ uvm_map_pageable_all(map, flags, limit)
if (atop(size) + uvmexp.wired > uvmexp.wiredmax) {
vm_map_unlock(map);
- return (KERN_NO_SPACE); /* XXX overloaded */
+ return ENOMEM;
}
/* XXX non-pmap_wired_count case must be handled by caller */
@@ -2312,7 +2304,7 @@ uvm_map_pageable_all(map, flags, limit)
if (limit != 0 &&
(size + ptoa(pmap_wired_count(vm_map_pmap(map))) > limit)) {
vm_map_unlock(map);
- return (KERN_NO_SPACE); /* XXX overloaded */
+ return ENOMEM;
}
#endif
@@ -2355,7 +2347,7 @@ uvm_map_pageable_all(map, flags, limit)
vm_map_busy(map);
vm_map_downgrade(map);
- rv = KERN_SUCCESS;
+ rv = 0;
for (entry = map->header.next; entry != &map->header;
entry = entry->next) {
if (entry->wired_count == 1) {
@@ -2422,7 +2414,7 @@ uvm_map_pageable_all(map, flags, limit)
vm_map_unlock_read(map);
UVMHIST_LOG(maphist,"<- done (OK WIRE)",0,0,0,0);
- return (KERN_SUCCESS);
+ return 0;
}
/*
@@ -2466,7 +2458,7 @@ uvm_map_clean(map, start, end, flags)
VM_MAP_RANGE_CHECK(map, start, end);
if (uvm_map_lookup_entry(map, start, &entry) == FALSE) {
vm_map_unlock_read(map);
- return(KERN_INVALID_ADDRESS);
+ return EFAULT;
}
/*
@@ -2476,19 +2468,18 @@ uvm_map_clean(map, start, end, flags)
for (current = entry; current->start < end; current = current->next) {
if (UVM_ET_ISSUBMAP(current)) {
vm_map_unlock_read(map);
- return (KERN_INVALID_ARGUMENT);
+ return EINVAL;
}
if (end <= current->end) {
break;
}
if (current->end != current->next->start) {
vm_map_unlock_read(map);
- return (KERN_INVALID_ADDRESS);
+ return EFAULT;
}
}
- error = KERN_SUCCESS;
-
+ error = 0;
for (current = entry; start < end; current = current->next) {
amap = current->aref.ar_amap; /* top layer */
uobj = current->object.uvm_obj; /* bottom layer */
@@ -2607,7 +2598,7 @@ uvm_map_clean(map, start, end, flags)
simple_unlock(&uobj->vmobjlock);
if (rv == FALSE)
- error = KERN_FAILURE;
+ error = EIO;
}
start += size;
}
@@ -2629,40 +2620,40 @@ uvm_map_checkprot(map, start, end, protection)
vaddr_t start, end;
vm_prot_t protection;
{
- vm_map_entry_t entry;
- vm_map_entry_t tmp_entry;
-
- if (!uvm_map_lookup_entry(map, start, &tmp_entry)) {
- return(FALSE);
- }
- entry = tmp_entry;
- while (start < end) {
- if (entry == &map->header) {
- return(FALSE);
- }
+ vm_map_entry_t entry;
+ vm_map_entry_t tmp_entry;
+
+ if (!uvm_map_lookup_entry(map, start, &tmp_entry)) {
+ return(FALSE);
+ }
+ entry = tmp_entry;
+ while (start < end) {
+ if (entry == &map->header) {
+ return(FALSE);
+ }
/*
* no holes allowed
*/
- if (start < entry->start) {
- return(FALSE);
- }
+ if (start < entry->start) {
+ return(FALSE);
+ }
/*
* check protection associated with entry
*/
- if ((entry->protection & protection) != protection) {
- return(FALSE);
- }
+ if ((entry->protection & protection) != protection) {
+ return(FALSE);
+ }
- /* go to next entry */
+ /* go to next entry */
- start = entry->end;
- entry = entry->next;
- }
- return(TRUE);
+ start = entry->end;
+ entry = entry->next;
+ }
+ return(TRUE);
}
/*
@@ -2702,15 +2693,12 @@ uvmspace_init(vm, pmap, min, max, pageable)
UVMHIST_FUNC("uvmspace_init"); UVMHIST_CALLED(maphist);
memset(vm, 0, sizeof(*vm));
-
uvm_map_setup(&vm->vm_map, min, max, pageable ? VM_MAP_PAGEABLE : 0);
-
if (pmap)
pmap_reference(pmap);
else
pmap = pmap_create();
vm->vm_map.pmap = pmap;
-
vm->vm_refcnt = 1;
UVMHIST_LOG(maphist,"<- done",0,0,0,0);
}
@@ -2814,8 +2802,6 @@ uvmspace_exec(p, start, end)
map->min_offset = start;
map->max_offset = end;
vm_map_unlock(map);
-
-
} else {
/*
@@ -2865,7 +2851,7 @@ uvmspace_free(vm)
#endif
vm_map_lock(&vm->vm_map);
if (vm->vm_map.nentries) {
- (void)uvm_unmap_remove(&vm->vm_map,
+ uvm_unmap_remove(&vm->vm_map,
vm->vm_map.min_offset, vm->vm_map.max_offset,
&dead_entries);
if (dead_entries != NULL)
@@ -2921,13 +2907,9 @@ uvmspace_fork(vm1)
/*
* first, some sanity checks on the old entry
*/
- if (UVM_ET_ISSUBMAP(old_entry))
- panic("fork: encountered a submap during fork (illegal)");
-
- if (!UVM_ET_ISCOPYONWRITE(old_entry) &&
- UVM_ET_ISNEEDSCOPY(old_entry))
- panic("fork: non-copy_on_write map entry marked needs_copy (illegal)");
-
+ KASSERT(!UVM_ET_ISSUBMAP(old_entry));
+ KASSERT(UVM_ET_ISCOPYONWRITE(old_entry) ||
+ !UVM_ET_ISNEEDSCOPY(old_entry));
switch (old_entry->inheritance) {
case MAP_INHERIT_NONE:
diff --git a/sys/uvm/uvm_map.h b/sys/uvm/uvm_map.h
index 0ed92dc9010..696e75461da 100644
--- a/sys/uvm/uvm_map.h
+++ b/sys/uvm/uvm_map.h
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_map.h,v 1.24 2001/02/18 21:19:08 chs Exp $ */
+/* $NetBSD: uvm_map.h,v 1.25 2001/03/15 06:10:57 chs Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -342,9 +342,9 @@ int uvm_map_reserve __P((vm_map_t, vsize_t, vaddr_t, vsize_t,
void uvm_map_setup __P((vm_map_t, vaddr_t, vaddr_t, int));
int uvm_map_submap __P((vm_map_t, vaddr_t, vaddr_t, vm_map_t));
MAP_INLINE
-int uvm_unmap __P((vm_map_t, vaddr_t, vaddr_t));
+void uvm_unmap __P((vm_map_t, vaddr_t, vaddr_t));
void uvm_unmap_detach __P((vm_map_entry_t,int));
-int uvm_unmap_remove __P((vm_map_t, vaddr_t, vaddr_t,
+void uvm_unmap_remove __P((vm_map_t, vaddr_t, vaddr_t,
vm_map_entry_t *));
#endif /* _KERNEL */
diff --git a/sys/uvm/uvm_map_i.h b/sys/uvm/uvm_map_i.h
index 7c8671715c3..a2bd4c7f7d2 100644
--- a/sys/uvm/uvm_map_i.h
+++ b/sys/uvm/uvm_map_i.h
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_map_i.h,v 1.18 2000/11/27 08:40:04 chs Exp $ */
+/* $NetBSD: uvm_map_i.h,v 1.19 2001/03/15 06:10:57 chs Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -158,12 +158,11 @@ uvm_map_setup(map, min, max, flags)
* => map must be unlocked (we will lock it)
*/
-MAP_INLINE int
+MAP_INLINE void
uvm_unmap(map, start, end)
vm_map_t map;
vaddr_t start,end;
{
- int result;
vm_map_entry_t dead_entries;
UVMHIST_FUNC("uvm_unmap"); UVMHIST_CALLED(maphist);
@@ -174,14 +173,13 @@ uvm_unmap(map, start, end)
* detach from the dead entries...
*/
vm_map_lock(map);
- result = uvm_unmap_remove(map, start, end, &dead_entries);
+ uvm_unmap_remove(map, start, end, &dead_entries);
vm_map_unlock(map);
if (dead_entries != NULL)
uvm_unmap_detach(dead_entries, 0);
UVMHIST_LOG(maphist, "<- done", 0,0,0,0);
- return(result);
}
diff --git a/sys/uvm/uvm_mmap.c b/sys/uvm/uvm_mmap.c
index 085059014e6..b848d893ea8 100644
--- a/sys/uvm/uvm_mmap.c
+++ b/sys/uvm/uvm_mmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_mmap.c,v 1.49 2001/02/18 21:19:08 chs Exp $ */
+/* $NetBSD: uvm_mmap.c,v 1.50 2001/03/15 06:10:57 chs Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -164,8 +164,8 @@ sys_mincore(p, v, retval)
* Lock down vec, so our returned status isn't outdated by
* storing the status byte for a page.
*/
- uvm_vslock(p, vec, npgs, VM_PROT_WRITE);
+ uvm_vslock(p, vec, npgs, VM_PROT_WRITE);
vm_map_lock_read(map);
if (uvm_map_lookup_entry(map, start, &entry) == FALSE) {
@@ -193,6 +193,7 @@ sys_mincore(p, v, retval)
* Special case for objects with no "real" pages. Those
* are always considered resident (mapped devices).
*/
+
if (UVM_ET_ISOBJ(entry)) {
KASSERT(!UVM_OBJ_IS_KERN_OBJECT(entry->object.uvm_obj));
if (entry->object.uvm_obj->pgops->pgo_releasepg
@@ -220,30 +221,31 @@ sys_mincore(p, v, retval)
start - entry->start);
/* Don't need to lock anon here. */
if (anon != NULL && anon->u.an_page != NULL) {
+
/*
* Anon has the page for this entry
* offset.
*/
+
pgi = 1;
}
}
-
if (uobj != NULL && pgi == 0) {
/* Check the bottom layer. */
m = uvm_pagelookup(uobj,
entry->offset + (start - entry->start));
if (m != NULL) {
+
/*
* Object has the page for this entry
* offset.
*/
+
pgi = 1;
}
}
-
(void) subyte(vec, pgi);
}
-
if (uobj != NULL)
simple_unlock(&uobj->vmobjlock);
if (amap != NULL)
@@ -290,15 +292,15 @@ sys_mmap(p, v, retval)
struct filedesc *fdp = p->p_fd;
struct file *fp;
struct vnode *vp;
- caddr_t handle;
+ void *handle;
int error;
/*
* first, extract syscall args from the uap.
*/
- addr = (vaddr_t) SCARG(uap, addr);
- size = (vsize_t) SCARG(uap, len);
+ addr = (vaddr_t)SCARG(uap, addr);
+ size = (vsize_t)SCARG(uap, len);
prot = SCARG(uap, prot) & VM_PROT_ALL;
flags = SCARG(uap, flags);
fd = SCARG(uap, fd);
@@ -320,7 +322,7 @@ sys_mmap(p, v, retval)
pageoff = (pos & PAGE_MASK);
pos -= pageoff;
size += pageoff; /* add offset */
- size = (vsize_t) round_page(size); /* round up */
+ size = (vsize_t)round_page(size); /* round up */
if ((ssize_t) size < 0)
return (EINVAL); /* don't allow wrap */
@@ -350,10 +352,8 @@ sys_mmap(p, v, retval)
* we will refine our guess later (e.g. to account for VAC, etc)
*/
- if (addr < round_page((vaddr_t)p->p_vmspace->vm_daddr +
- MAXDSIZ))
- addr = round_page((vaddr_t)p->p_vmspace->vm_daddr +
- MAXDSIZ);
+ addr = MAX(addr, round_page((vaddr_t)p->p_vmspace->vm_daddr +
+ MAXDSIZ));
}
/*
@@ -448,12 +448,7 @@ sys_mmap(p, v, retval)
/* MAP_PRIVATE mappings can always write to */
maxprot |= VM_PROT_WRITE;
}
-
- /*
- * set handle to vnode
- */
-
- handle = (caddr_t)vp;
+ handle = vp;
} else { /* MAP_ANON case */
/*
@@ -478,7 +473,8 @@ sys_mmap(p, v, retval)
if ((flags & MAP_ANON) != 0 ||
((flags & MAP_PRIVATE) != 0 && (prot & PROT_WRITE) != 0)) {
if (size >
- (p->p_rlimit[RLIMIT_DATA].rlim_cur - ctob(p->p_vmspace->vm_dsize))) {
+ (p->p_rlimit[RLIMIT_DATA].rlim_cur -
+ ctob(p->p_vmspace->vm_dsize))) {
return (ENOMEM);
}
}
@@ -515,7 +511,7 @@ sys___msync13(p, v, retval)
vaddr_t addr;
vsize_t size, pageoff;
vm_map_t map;
- int rv, flags, uvmflags;
+ int error, rv, flags, uvmflags;
/*
* extract syscall args from the uap
@@ -534,13 +530,13 @@ sys___msync13(p, v, retval)
flags |= MS_SYNC;
/*
- * align the address to a page boundary, and adjust the size accordingly
+ * align the address to a page boundary and adjust the size accordingly.
*/
pageoff = (addr & PAGE_MASK);
addr -= pageoff;
size += pageoff;
- size = (vsize_t) round_page(size);
+ size = (vsize_t)round_page(size);
/* disallow wrap-around. */
if (addr + size < addr)
@@ -562,6 +558,7 @@ sys___msync13(p, v, retval)
* This can be incorrect if the region splits or is coalesced
* with a neighbor.
*/
+
if (size == 0) {
vm_map_entry_t entry;
@@ -579,6 +576,7 @@ sys___msync13(p, v, retval)
/*
* translate MS_ flags into PGO_ flags
*/
+
uvmflags = PGO_CLEANIT;
if (flags & MS_INVALIDATE)
uvmflags |= PGO_FREE;
@@ -587,27 +585,8 @@ sys___msync13(p, v, retval)
else
uvmflags |= PGO_SYNCIO; /* XXXCDC: force sync for now! */
- /*
- * doit!
- */
- rv = uvm_map_clean(map, addr, addr+size, uvmflags);
-
- /*
- * and return...
- */
- switch (rv) {
- case KERN_SUCCESS:
- return(0);
- case KERN_INVALID_ADDRESS:
- return (ENOMEM);
- case KERN_FAILURE:
- return (EIO);
- case KERN_PAGES_LOCKED: /* XXXCDC: uvm doesn't return this */
- return (EBUSY);
- default:
- return (EINVAL);
- }
- /*NOTREACHED*/
+ error = uvm_map_clean(map, addr, addr+size, uvmflags);
+ return error;
}
/*
@@ -631,20 +610,20 @@ sys_munmap(p, v, retval)
struct vm_map_entry *dead_entries;
/*
- * get syscall args...
+ * get syscall args.
*/
- addr = (vaddr_t) SCARG(uap, addr);
- size = (vsize_t) SCARG(uap, len);
+ addr = (vaddr_t)SCARG(uap, addr);
+ size = (vsize_t)SCARG(uap, len);
/*
- * align the address to a page boundary, and adjust the size accordingly
+ * align the address to a page boundary and adjust the size accordingly.
*/
pageoff = (addr & PAGE_MASK);
addr -= pageoff;
size += pageoff;
- size = (vsize_t) round_page(size);
+ size = (vsize_t)round_page(size);
if ((int)size < 0)
return (EINVAL);
@@ -663,29 +642,20 @@ sys_munmap(p, v, retval)
return (EINVAL);
map = &p->p_vmspace->vm_map;
-
- vm_map_lock(map); /* lock map so we can checkprot */
-
/*
* interesting system call semantic: make sure entire range is
* allocated before allowing an unmap.
*/
+ vm_map_lock(map);
if (!uvm_map_checkprot(map, addr, addr + size, VM_PROT_NONE)) {
vm_map_unlock(map);
return (EINVAL);
}
-
- /*
- * doit!
- */
- (void) uvm_unmap_remove(map, addr, addr + size, &dead_entries);
-
- vm_map_unlock(map); /* and unlock */
-
+ uvm_unmap_remove(map, addr, addr + size, &dead_entries);
+ vm_map_unlock(map);
if (dead_entries != NULL)
uvm_unmap_detach(dead_entries, 0);
-
return (0);
}
@@ -707,7 +677,7 @@ sys_mprotect(p, v, retval)
vaddr_t addr;
vsize_t size, pageoff;
vm_prot_t prot;
- int rv;
+ int error;
/*
* extract syscall args from uap
@@ -718,27 +688,19 @@ sys_mprotect(p, v, retval)
prot = SCARG(uap, prot) & VM_PROT_ALL;
/*
- * align the address to a page boundary, and adjust the size accordingly
+ * align the address to a page boundary and adjust the size accordingly.
*/
+
pageoff = (addr & PAGE_MASK);
addr -= pageoff;
size += pageoff;
- size = (vsize_t) round_page(size);
+ size = (vsize_t)round_page(size);
+
if ((int)size < 0)
return (EINVAL);
-
- /*
- * doit
- */
-
- rv = uvm_map_protect(&p->p_vmspace->vm_map,
- addr, addr+size, prot, FALSE);
-
- if (rv == KERN_SUCCESS)
- return (0);
- if (rv == KERN_PROTECTION_FAILURE)
- return (EACCES);
- return (EINVAL);
+ error = uvm_map_protect(&p->p_vmspace->vm_map, addr, addr + size, prot,
+ FALSE);
+ return error;
}
/*
@@ -759,30 +721,26 @@ sys_minherit(p, v, retval)
vaddr_t addr;
vsize_t size, pageoff;
vm_inherit_t inherit;
+ int error;
addr = (vaddr_t)SCARG(uap, addr);
size = (vsize_t)SCARG(uap, len);
inherit = SCARG(uap, inherit);
+
/*
- * align the address to a page boundary, and adjust the size accordingly
+ * align the address to a page boundary and adjust the size accordingly.
*/
pageoff = (addr & PAGE_MASK);
addr -= pageoff;
size += pageoff;
- size = (vsize_t) round_page(size);
+ size = (vsize_t)round_page(size);
if ((int)size < 0)
return (EINVAL);
-
- switch (uvm_map_inherit(&p->p_vmspace->vm_map, addr, addr+size,
- inherit)) {
- case KERN_SUCCESS:
- return (0);
- case KERN_PROTECTION_FAILURE:
- return (EACCES);
- }
- return (EINVAL);
+ error = uvm_map_inherit(&p->p_vmspace->vm_map, addr, addr + size,
+ inherit);
+ return error;
}
/*
@@ -803,7 +761,7 @@ sys_madvise(p, v, retval)
} */ *uap = v;
vaddr_t addr;
vsize_t size, pageoff;
- int advice, rv;;
+ int advice, error;
addr = (vaddr_t)SCARG(uap, addr);
size = (vsize_t)SCARG(uap, len);
@@ -812,10 +770,11 @@ sys_madvise(p, v, retval)
/*
* align the address to a page boundary, and adjust the size accordingly
*/
+
pageoff = (addr & PAGE_MASK);
addr -= pageoff;
size += pageoff;
- size = (vsize_t) round_page(size);
+ size = (vsize_t)round_page(size);
if ((ssize_t)size <= 0)
return (EINVAL);
@@ -824,11 +783,12 @@ sys_madvise(p, v, retval)
case MADV_NORMAL:
case MADV_RANDOM:
case MADV_SEQUENTIAL:
- rv = uvm_map_advice(&p->p_vmspace->vm_map, addr, addr + size,
+ error = uvm_map_advice(&p->p_vmspace->vm_map, addr, addr + size,
advice);
break;
case MADV_WILLNEED:
+
/*
* Activate all these pages, pre-faulting them in if
* necessary.
@@ -838,29 +798,35 @@ sys_madvise(p, v, retval)
* Should invent a "weak" mode for uvm_fault()
* which would only do the PGO_LOCKED pgo_get().
*/
+
return (0);
case MADV_DONTNEED:
+
/*
* Deactivate all these pages. We don't need them
* any more. We don't, however, toss the data in
* the pages.
*/
- rv = uvm_map_clean(&p->p_vmspace->vm_map, addr, addr + size,
+
+ error = uvm_map_clean(&p->p_vmspace->vm_map, addr, addr + size,
PGO_DEACTIVATE);
break;
case MADV_FREE:
+
/*
* These pages contain no valid data, and may be
* garbage-collected. Toss all resources, including
* any swap space in use.
*/
- rv = uvm_map_clean(&p->p_vmspace->vm_map, addr, addr + size,
+
+ error = uvm_map_clean(&p->p_vmspace->vm_map, addr, addr + size,
PGO_FREE);
break;
case MADV_SPACEAVAIL:
+
/*
* XXXMRG What is this? I think it's:
*
@@ -871,24 +837,14 @@ sys_madvise(p, v, retval)
* as it will free swap space allocated to pages in core.
* There's also what to do for device/file/anonymous memory.
*/
+
return (EINVAL);
default:
return (EINVAL);
}
- switch (rv) {
- case KERN_SUCCESS:
- return (0);
- case KERN_NO_SPACE:
- return (EAGAIN);
- case KERN_INVALID_ADDRESS:
- return (ENOMEM);
- case KERN_FAILURE:
- return (EIO);
- }
-
- return (EINVAL);
+ return error;
}
/*
@@ -912,19 +868,21 @@ sys_mlock(p, v, retval)
/*
* extract syscall args from uap
*/
+
addr = (vaddr_t)SCARG(uap, addr);
size = (vsize_t)SCARG(uap, len);
/*
* align the address to a page boundary and adjust the size accordingly
*/
+
pageoff = (addr & PAGE_MASK);
addr -= pageoff;
size += pageoff;
- size = (vsize_t) round_page(size);
+ size = (vsize_t)round_page(size);
/* disallow wrap-around. */
- if (addr + (int)size < addr)
+ if (addr + size < addr)
return (EINVAL);
if (atop(size) + uvmexp.wired > uvmexp.wiredmax)
@@ -941,7 +899,7 @@ sys_mlock(p, v, retval)
error = uvm_map_pageable(&p->p_vmspace->vm_map, addr, addr+size, FALSE,
0);
- return (error == KERN_SUCCESS ? 0 : ENOMEM);
+ return error;
}
/*
@@ -972,13 +930,14 @@ sys_munlock(p, v, retval)
/*
* align the address to a page boundary, and adjust the size accordingly
*/
+
pageoff = (addr & PAGE_MASK);
addr -= pageoff;
size += pageoff;
- size = (vsize_t) round_page(size);
+ size = (vsize_t)round_page(size);
/* disallow wrap-around. */
- if (addr + (int)size < addr)
+ if (addr + size < addr)
return (EINVAL);
#ifndef pmap_wired_count
@@ -988,7 +947,7 @@ sys_munlock(p, v, retval)
error = uvm_map_pageable(&p->p_vmspace->vm_map, addr, addr+size, TRUE,
0);
- return (error == KERN_SUCCESS ? 0 : ENOMEM);
+ return error;
}
/*
@@ -1019,23 +978,6 @@ sys_mlockall(p, v, retval)
error = uvm_map_pageable_all(&p->p_vmspace->vm_map, flags,
p->p_rlimit[RLIMIT_MEMLOCK].rlim_cur);
- switch (error) {
- case KERN_SUCCESS:
- error = 0;
- break;
-
- case KERN_NO_SPACE: /* XXX overloaded */
- error = ENOMEM;
- break;
-
- default:
- /*
- * "Some or all of the memory could not be locked when
- * the call was made."
- */
- error = EAGAIN;
- }
-
return (error);
}
@@ -1070,13 +1012,13 @@ uvm_mmap(map, addr, size, prot, maxprot, flags, handle, foff, locklimit)
vsize_t size;
vm_prot_t prot, maxprot;
int flags;
- caddr_t handle; /* XXX: VNODE? */
+ void *handle;
voff_t foff;
vsize_t locklimit;
{
struct uvm_object *uobj;
struct vnode *vp;
- int retval;
+ int error;
int advice = UVM_ADV_NORMAL;
uvm_flag_t uvmflag = 0;
@@ -1099,7 +1041,6 @@ uvm_mmap(map, addr, size, prot, maxprot, flags, handle, foff, locklimit)
if ((flags & MAP_FIXED) == 0) {
*addr = round_page(*addr); /* round */
} else {
-
if (*addr & PAGE_MASK)
return(EINVAL);
uvmflag |= UVM_FLAG_FIXED;
@@ -1122,10 +1063,9 @@ uvm_mmap(map, addr, size, prot, maxprot, flags, handle, foff, locklimit)
uvmflag |= UVM_FLAG_OVERLAY;
} else {
-
- vp = (struct vnode *) handle; /* get vnode */
+ vp = (struct vnode *)handle;
if (vp->v_type != VCHR) {
- uobj = uvn_attach((void *) vp, (flags & MAP_SHARED) ?
+ uobj = uvn_attach((void *)vp, (flags & MAP_SHARED) ?
maxprot : (maxprot & ~VM_PROT_WRITE));
/* XXX for now, attach doesn't gain a ref */
@@ -1141,97 +1081,67 @@ uvm_mmap(map, addr, size, prot, maxprot, flags, handle, foff, locklimit)
*/
if (uobj == NULL && (prot & PROT_EXEC) == 0) {
maxprot &= ~VM_PROT_EXECUTE;
- uobj = udv_attach((void *) &vp->v_rdev,
+ uobj = udv_attach((void *)&vp->v_rdev,
(flags & MAP_SHARED) ? maxprot :
(maxprot & ~VM_PROT_WRITE), foff, size);
}
advice = UVM_ADV_RANDOM;
}
-
if (uobj == NULL)
return((vp->v_type == VREG) ? ENOMEM : EINVAL);
-
if ((flags & MAP_SHARED) == 0)
uvmflag |= UVM_FLAG_COPYONW;
}
- /*
- * set up mapping flags
- */
-
uvmflag = UVM_MAPFLAG(prot, maxprot,
(flags & MAP_SHARED) ? UVM_INH_SHARE : UVM_INH_COPY,
advice, uvmflag);
+ error = uvm_map(map, addr, size, uobj, foff, 0, uvmflag);
+ if (error) {
+ if (uobj)
+ uobj->pgops->pgo_detach(uobj);
+ return error;
+ }
/*
- * do it!
+ * POSIX 1003.1b -- if our address space was configured
+ * to lock all future mappings, wire the one we just made.
*/
- retval = uvm_map(map, addr, size, uobj, foff, 0, uvmflag);
+ if (prot == VM_PROT_NONE) {
- if (retval == KERN_SUCCESS) {
/*
- * POSIX 1003.1b -- if our address space was configured
- * to lock all future mappings, wire the one we just made.
+ * No more work to do in this case.
*/
- if (prot == VM_PROT_NONE) {
- /*
- * No more work to do in this case.
- */
- return (0);
- }
-
- vm_map_lock(map);
- if (map->flags & VM_MAP_WIREFUTURE) {
- if ((atop(size) + uvmexp.wired) > uvmexp.wiredmax
+ return (0);
+ }
+ vm_map_lock(map);
+ if (map->flags & VM_MAP_WIREFUTURE) {
+ if ((atop(size) + uvmexp.wired) > uvmexp.wiredmax
#ifdef pmap_wired_count
- || (locklimit != 0 && (size +
- ptoa(pmap_wired_count(vm_map_pmap(map)))) >
- locklimit)
+ || (locklimit != 0 && (size +
+ ptoa(pmap_wired_count(vm_map_pmap(map)))) >
+ locklimit)
#endif
- ) {
- retval = KERN_RESOURCE_SHORTAGE;
- vm_map_unlock(map);
- /* unmap the region! */
- (void) uvm_unmap(map, *addr, *addr + size);
- goto bad;
- }
- /*
- * uvm_map_pageable() always returns the map
- * unlocked.
- */
- retval = uvm_map_pageable(map, *addr, *addr + size,
- FALSE, UVM_LK_ENTER);
- if (retval != KERN_SUCCESS) {
- /* unmap the region! */
- (void) uvm_unmap(map, *addr, *addr + size);
- goto bad;
- }
- return (0);
+ ) {
+ vm_map_unlock(map);
+ uvm_unmap(map, *addr, *addr + size);
+ return ENOMEM;
}
- vm_map_unlock(map);
+ /*
+ * uvm_map_pageable() always returns the map unlocked.
+ */
+ error = uvm_map_pageable(map, *addr, *addr + size,
+ FALSE, UVM_LK_ENTER);
+ if (error) {
+ uvm_unmap(map, *addr, *addr + size);
+ return error;
+ }
return (0);
}
-
- /*
- * errors: first detach from the uobj, if any.
- */
-
- if (uobj)
- uobj->pgops->pgo_detach(uobj);
-
- bad:
- switch (retval) {
- case KERN_INVALID_ADDRESS:
- case KERN_NO_SPACE:
- return(ENOMEM);
- case KERN_RESOURCE_SHORTAGE:
- return (EAGAIN);
- case KERN_PROTECTION_FAILURE:
- return(EACCES);
- }
- return(EINVAL);
+ vm_map_unlock(map);
+ return 0;
}
diff --git a/sys/uvm/uvm_pager.c b/sys/uvm/uvm_pager.c
index 86500e663b0..3294ec565bc 100644
--- a/sys/uvm/uvm_pager.c
+++ b/sys/uvm/uvm_pager.c
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_pager.c,v 1.42 2001/03/10 22:46:49 chs Exp $ */
+/* $NetBSD: uvm_pager.c,v 1.43 2001/03/15 06:10:58 chs Exp $ */
/*
*
@@ -149,7 +149,7 @@ ReStart:
kva = 0; /* let system choose VA */
if (uvm_map(pager_map, &kva, size, NULL,
- UVM_UNKNOWN_OFFSET, 0, UVM_FLAG_NOMERGE) != KERN_SUCCESS) {
+ UVM_UNKNOWN_OFFSET, 0, UVM_FLAG_NOMERGE) != 0) {
if (curproc == uvm.pagedaemon_proc) {
simple_lock(&pager_map_wanted_lock);
if (emerginuse) {
@@ -223,7 +223,7 @@ uvm_pagermapout(kva, npages)
}
vm_map_lock(pager_map);
- (void) uvm_unmap_remove(pager_map, kva, kva + size, &entries);
+ uvm_unmap_remove(pager_map, kva, kva + size, &entries);
simple_lock(&pager_map_wanted_lock);
if (pager_map_wanted) {
pager_map_wanted = FALSE;
@@ -231,11 +231,11 @@ uvm_pagermapout(kva, npages)
}
simple_unlock(&pager_map_wanted_lock);
vm_map_unlock(pager_map);
+
remove:
pmap_remove(pmap_kernel(), kva, kva + (npages << PAGE_SHIFT));
if (entries)
uvm_unmap_detach(entries, 0);
-
UVMHIST_LOG(maphist,"<- done",0,0,0,0);
}
diff --git a/sys/uvm/uvm_param.h b/sys/uvm/uvm_param.h
index c87cb576f74..719129e917c 100644
--- a/sys/uvm/uvm_param.h
+++ b/sys/uvm/uvm_param.h
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_param.h,v 1.5 2001/03/09 01:02:12 chs Exp $ */
+/* $NetBSD: uvm_param.h,v 1.6 2001/03/15 06:10:58 chs Exp $ */
/*
* Copyright (c) 1991, 1993
@@ -127,20 +127,6 @@ typedef int boolean_t;
{ "vnodemin", CTLTYPE_INT }, \
}
-/*
- * Return values from the VM routines.
- */
-#define KERN_SUCCESS 0
-#define KERN_INVALID_ADDRESS 1
-#define KERN_PROTECTION_FAILURE 2
-#define KERN_NO_SPACE 3
-#define KERN_INVALID_ARGUMENT 4
-#define KERN_FAILURE 5
-#define KERN_RESOURCE_SHORTAGE 6
-#define KERN_NOT_RECEIVER 7
-#define KERN_NO_ACCESS 8
-#define KERN_PAGES_LOCKED 9
-
#ifndef ASSEMBLER
/*
* Convert addresses to pages and vice versa.
diff --git a/sys/uvm/uvm_unix.c b/sys/uvm/uvm_unix.c
index 643fe7508e1..36ca6d46a79 100644
--- a/sys/uvm/uvm_unix.c
+++ b/sys/uvm/uvm_unix.c
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_unix.c,v 1.18 2000/09/13 15:00:25 thorpej Exp $ */
+/* $NetBSD: uvm_unix.c,v 1.19 2001/03/15 06:10:58 chs Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -78,7 +78,7 @@ sys_obreak(p, v, retval)
struct vmspace *vm = p->p_vmspace;
vaddr_t new, old;
ssize_t diff;
- int rv;
+ int error;
old = (vaddr_t)vm->vm_daddr;
new = round_page((vaddr_t)SCARG(uap, nsize));
@@ -95,26 +95,21 @@ sys_obreak(p, v, retval)
* grow or shrink?
*/
if (diff > 0) {
- rv = uvm_map(&vm->vm_map, &old, diff, NULL, UVM_UNKNOWN_OFFSET,
- 0, UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL, UVM_INH_COPY,
+ error = uvm_map(&vm->vm_map, &old, diff, NULL,
+ UVM_UNKNOWN_OFFSET, 0,
+ UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL, UVM_INH_COPY,
UVM_ADV_NORMAL, UVM_FLAG_AMAPPAD|UVM_FLAG_FIXED|
UVM_FLAG_OVERLAY|UVM_FLAG_COPYONW));
- if (rv == KERN_SUCCESS) {
- vm->vm_dsize += atop(diff);
- return (0);
+ if (error) {
+ uprintf("sbrk: grow %ld failed, error = %d\n",
+ (long)diff, error);
+ return error;
}
} else {
- rv = uvm_deallocate(&vm->vm_map, new, -diff);
- if (rv == KERN_SUCCESS) {
- vm->vm_dsize -= atop(-diff);
- return (0);
- }
+ uvm_deallocate(&vm->vm_map, new, -diff);
}
-
- uprintf("sbrk: %s %ld failed, return = %d\n",
- diff > 0 ? "grow" : "shrink",
- (long)(diff > 0 ? diff : -diff), rv);
- return (ENOMEM);
+ vm->vm_dsize += atop(diff);
+ return 0;
}
/*
diff --git a/sys/uvm/uvm_user.c b/sys/uvm/uvm_user.c
index 420a40f19b6..6f6e00ca0da 100644
--- a/sys/uvm/uvm_user.c
+++ b/sys/uvm/uvm_user.c
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_user.c,v 1.8 2000/06/27 17:29:37 mrg Exp $ */
+/* $NetBSD: uvm_user.c,v 1.9 2001/03/15 06:10:58 chs Exp $ */
/*
*
@@ -49,19 +49,15 @@
* uvm_deallocate: deallocate memory (unmap)
*/
-int
+void
uvm_deallocate(map, start, size)
vm_map_t map;
vaddr_t start;
vsize_t size;
{
- if (map == NULL)
- panic("uvm_deallocate with null map");
-
- if (size == (vaddr_t) 0)
- return (KERN_SUCCESS);
-
- return(uvm_unmap(map, trunc_page(start), round_page(start+size)));
+ if (size == 0)
+ return;
+ uvm_unmap(map, trunc_page(start), round_page(start + size));
}