diff options
author | 1999-02-26 04:56:02 +0000 | |
---|---|---|
committer | 1999-02-26 04:56:02 +0000 | |
commit | a91606c11124ffc74b140131624c04906f6e194f (patch) | |
tree | b037fe0795a572810786030d9bd2786c9cddee75 | |
parent | adaptation to uvm vnode pager (diff) | |
download | wireguard-openbsd-a91606c11124ffc74b140131624c04906f6e194f.tar.xz wireguard-openbsd-a91606c11124ffc74b140131624c04906f6e194f.zip |
uvm uses kcopy when uiomoving from sysspace
-rw-r--r-- | sys/kern/kern_subr.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/kern/kern_subr.c b/sys/kern/kern_subr.c index 8b5e31397a7..6e9edbb950a 100644 --- a/sys/kern/kern_subr.c +++ b/sys/kern/kern_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_subr.c,v 1.7 1999/02/26 03:16:47 millert Exp $ */ +/* $OpenBSD: kern_subr.c,v 1.8 1999/02/26 04:56:02 art Exp $ */ /* $NetBSD: kern_subr.c,v 1.15 1996/04/09 17:21:56 ragge Exp $ */ /* @@ -85,11 +85,20 @@ uiomove(cp, n, uio) break; case UIO_SYSSPACE: +#if defined(UVM) + if (uio->uio_rw == UIO_READ) + error = kcopy(cp, iov->iov_base, cnt); + else + error = kcopy(iov->iov_base, cp, cnt); + if (error) + return(error); +#else if (uio->uio_rw == UIO_READ) bcopy((caddr_t)cp, iov->iov_base, cnt); else bcopy(iov->iov_base, (caddr_t)cp, cnt); break; +#endif } iov->iov_base += cnt; iov->iov_len -= cnt; |