CVS commit: src/sys/ufs/ufs

2015-03-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Mar 28 04:13:26 UTC 2015

Modified Files:
src/sys/ufs/ufs: ufs_readwrite.c

Log Message:
VOP_WRITE never has IO_JOURNALLOCKED.


To generate a diff of this commit:
cvs rdiff -u -r1.110 -r1.111 src/sys/ufs/ufs/ufs_readwrite.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/ufs/ufs/ufs_readwrite.c
diff -u src/sys/ufs/ufs/ufs_readwrite.c:1.110 src/sys/ufs/ufs/ufs_readwrite.c:1.111
--- src/sys/ufs/ufs/ufs_readwrite.c:1.110	Sat Mar 28 03:53:36 2015
+++ src/sys/ufs/ufs/ufs_readwrite.c	Sat Mar 28 04:13:25 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ufs_readwrite.c,v 1.110 2015/03/28 03:53:36 riastradh Exp $	*/
+/*	$NetBSD: ufs_readwrite.c,v 1.111 2015/03/28 04:13:25 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 1993
@@ -32,7 +32,7 @@
  */
 
 #include 
-__KERNEL_RCSID(1, "$NetBSD: ufs_readwrite.c,v 1.110 2015/03/28 03:53:36 riastradh Exp $");
+__KERNEL_RCSID(1, "$NetBSD: ufs_readwrite.c,v 1.111 2015/03/28 04:13:25 riastradh Exp $");
 
 #ifdef LFS_READWRITE
 #define	FS			struct lfs
@@ -292,6 +292,8 @@ WRITE(void *v)
 	KASSERT(vp->v_size == ip->i_size);
 	KASSERT(uio->uio_rw == UIO_WRITE);
 	KASSERT(vp->v_type == VREG);
+	KASSERT(!ISSET(ioflag, IO_JOURNALLOCKED));
+	UFS_WAPBL_JUNLOCK_ASSERT(vp->v_mount);
 
 	if (ioflag & IO_APPEND)
 		uio->uio_offset = ip->i_size;
@@ -322,12 +324,10 @@ WRITE(void *v)
 
 	KASSERT(vp->v_type == VREG);
 
-	if ((ioflag & IO_JOURNALLOCKED) == 0) {
-		error = UFS_WAPBL_BEGIN(vp->v_mount);
-		if (error) {
-			fstrans_done(vp->v_mount);
-			return error;
-		}
+	error = UFS_WAPBL_BEGIN(vp->v_mount);
+	if (error) {
+		fstrans_done(vp->v_mount);
+		return error;
 	}
 
 #ifdef LFS_READWRITE
@@ -504,8 +504,7 @@ out:
 	else
 		UFS_WAPBL_UPDATE(vp, NULL, NULL, 0);
 	KASSERT(vp->v_size == ip->i_size);
-	if ((ioflag & IO_JOURNALLOCKED) == 0)
-		UFS_WAPBL_END(vp->v_mount);
+	UFS_WAPBL_END(vp->v_mount);
 	fstrans_done(vp->v_mount);
 
 	return (error);



CVS commit: src/sys/ufs

2015-03-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Mar 28 03:53:36 UTC 2015

Modified Files:
src/sys/ufs/ext2fs: ext2fs_readwrite.c
src/sys/ufs/lfs: ulfs_readwrite.c
src/sys/ufs/ufs: ufs_readwrite.c

Log Message:
Turn some `#if DIAGNOSTIC' into KASSERT.


To generate a diff of this commit:
cvs rdiff -u -r1.69 -r1.70 src/sys/ufs/ext2fs/ext2fs_readwrite.c
cvs rdiff -u -r1.9 -r1.10 src/sys/ufs/lfs/ulfs_readwrite.c
cvs rdiff -u -r1.109 -r1.110 src/sys/ufs/ufs/ufs_readwrite.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/ufs/ext2fs/ext2fs_readwrite.c
diff -u src/sys/ufs/ext2fs/ext2fs_readwrite.c:1.69 src/sys/ufs/ext2fs/ext2fs_readwrite.c:1.70
--- src/sys/ufs/ext2fs/ext2fs_readwrite.c:1.69	Sat Mar 28 03:49:41 2015
+++ src/sys/ufs/ext2fs/ext2fs_readwrite.c	Sat Mar 28 03:53:36 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ext2fs_readwrite.c,v 1.69 2015/03/28 03:49:41 riastradh Exp $	*/
+/*	$NetBSD: ext2fs_readwrite.c,v 1.70 2015/03/28 03:53:36 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 1993
@@ -60,7 +60,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ext2fs_readwrite.c,v 1.69 2015/03/28 03:49:41 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ext2fs_readwrite.c,v 1.70 2015/03/28 03:53:36 riastradh Exp $");
 
 #include 
 #include 
@@ -108,13 +108,9 @@ ext2fs_read(void *v)
 	uio = ap->a_uio;
 	error = 0;
 
-#ifdef DIAGNOSTIC
-	if (uio->uio_rw != UIO_READ)
-		panic("%s: mode", "ext2fs_read");
-
-	if (vp->v_type != VREG && vp->v_type != VDIR)
-		panic("%s: type %d", "ext2fs_read", vp->v_type);
-#endif
+	KASSERT(uio->uio_rw == UIO_READ);
+	KASSERT(vp->v_type == VREG || vp->v_type == VDIR);
+
 	/* XXX Eliminate me by refusing directory reads from userland.  */
 	if (vp->v_type == VDIR)
 		return ext2fs_bufrd(vp, uio, ap->a_ioflag, ap->a_cred);
@@ -272,22 +268,14 @@ ext2fs_write(void *v)
 	ump = ip->i_ump;
 	error = 0;
 
-#ifdef DIAGNOSTIC
-	if (uio->uio_rw != UIO_WRITE)
-		panic("%s: mode", "ext2fs_write");
-#endif
-
-	switch (vp->v_type) {
-	case VREG:
-		if (ioflag & IO_APPEND)
-			uio->uio_offset = ext2fs_size(ip);
-		if ((ip->i_e2fs_flags & EXT2_APPEND) &&
-		uio->uio_offset != ext2fs_size(ip))
-			return (EPERM);
-		break;
-	default:
-		panic("%s: type", "ext2fs_write");
-	}
+	KASSERT(uio->uio_rw == UIO_WRITE);
+	KASSERT(vp->v_type == VREG);
+
+	if (ioflag & IO_APPEND)
+		uio->uio_offset = ext2fs_size(ip);
+	if ((ip->i_e2fs_flags & EXT2_APPEND) &&
+	uio->uio_offset != ext2fs_size(ip))
+		return (EPERM);
 
 	fs = ip->i_e2fs;
 	if (uio->uio_offset < 0 ||

Index: src/sys/ufs/lfs/ulfs_readwrite.c
diff -u src/sys/ufs/lfs/ulfs_readwrite.c:1.9 src/sys/ufs/lfs/ulfs_readwrite.c:1.10
--- src/sys/ufs/lfs/ulfs_readwrite.c:1.9	Fri Mar 27 19:47:14 2015
+++ src/sys/ufs/lfs/ulfs_readwrite.c	Sat Mar 28 03:53:36 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ulfs_readwrite.c,v 1.9 2015/03/27 19:47:14 riastradh Exp $	*/
+/*	$NetBSD: ulfs_readwrite.c,v 1.10 2015/03/28 03:53:36 riastradh Exp $	*/
 /*  from NetBSD: ufs_readwrite.c,v 1.105 2013/01/22 09:39:18 dholland Exp  */
 
 /*-
@@ -33,7 +33,7 @@
  */
 
 #include 
-__KERNEL_RCSID(1, "$NetBSD: ulfs_readwrite.c,v 1.9 2015/03/27 19:47:14 riastradh Exp $");
+__KERNEL_RCSID(1, "$NetBSD: ulfs_readwrite.c,v 1.10 2015/03/28 03:53:36 riastradh Exp $");
 
 #ifdef LFS_READWRITE
 #define	FS			struct lfs
@@ -84,13 +84,9 @@ READ(void *v)
 	ioflag = ap->a_ioflag;
 	error = 0;
 
-#ifdef DIAGNOSTIC
-	if (uio->uio_rw != UIO_READ)
-		panic("%s: mode", READ_S);
+	KASSERT(uio->uio_rw == UIO_READ);
+	KASSERT(vp->v_type == VREG || vp->v_type == VDIR);
 
-	if (vp->v_type != VREG && vp->v_type != VDIR)
-		panic("%s: type %d", READ_S, vp->v_type);
-#endif
 	/* XXX Eliminate me by refusing directory reads from userland.  */
 	if (vp->v_type == VDIR)
 		return BUFRD(vp, uio, ioflag, ap->a_cred);
@@ -269,21 +265,13 @@ WRITE(void *v)
 	ip = VTOI(vp);
 
 	KASSERT(vp->v_size == ip->i_size);
-#ifdef DIAGNOSTIC
-	if (uio->uio_rw != UIO_WRITE)
-		panic("%s: mode", WRITE_S);
-#endif
+	KASSERT(uio->uio_rw == UIO_WRITE);
+	KASSERT(vp->v_type == VREG);
 
-	switch (vp->v_type) {
-	case VREG:
-		if (ioflag & IO_APPEND)
-			uio->uio_offset = ip->i_size;
-		if ((ip->i_flags & APPEND) && uio->uio_offset != ip->i_size)
-			return (EPERM);
-		break;
-	default:
-		panic("%s: type", WRITE_S);
-	}
+	if (ioflag & IO_APPEND)
+		uio->uio_offset = ip->i_size;
+	if ((ip->i_flags & APPEND) && uio->uio_offset != ip->i_size)
+		return (EPERM);
 
 	fs = ip->I_FS;
 	if (uio->uio_offset < 0 ||

Index: src/sys/ufs/ufs/ufs_readwrite.c
diff -u src/sys/ufs/ufs/ufs_readwrite.c:1.109 src/sys/ufs/ufs/ufs_readwrite.c:1.110
--- src/sys/ufs/ufs/ufs_readwrite.c:1.109	Fri Mar 27 19:47:14 2015
+++ src/sys/ufs/ufs/ufs_readwrite.c	Sat Mar 28 03:53:36 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ufs_readwrite.c,v 1.109 2015/03/27 19:47:14 riastradh Exp $	*/
+/*	$NetBSD: ufs_readwrite.c,v 1.110 2015/03/28 03:53:36 riastradh Exp $	*/
 
 /*-
  * Co

CVS commit: src/sys/ufs/ext2fs

2015-03-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Mar 28 03:49:41 UTC 2015

Modified Files:
src/sys/ufs/ext2fs: ext2fs_readwrite.c

Log Message:
Missed another spot, in ext2fs_write.


To generate a diff of this commit:
cvs rdiff -u -r1.68 -r1.69 src/sys/ufs/ext2fs/ext2fs_readwrite.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/ufs/ext2fs/ext2fs_readwrite.c
diff -u src/sys/ufs/ext2fs/ext2fs_readwrite.c:1.68 src/sys/ufs/ext2fs/ext2fs_readwrite.c:1.69
--- src/sys/ufs/ext2fs/ext2fs_readwrite.c:1.68	Sat Mar 28 03:46:51 2015
+++ src/sys/ufs/ext2fs/ext2fs_readwrite.c	Sat Mar 28 03:49:41 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ext2fs_readwrite.c,v 1.68 2015/03/28 03:46:51 riastradh Exp $	*/
+/*	$NetBSD: ext2fs_readwrite.c,v 1.69 2015/03/28 03:49:41 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 1993
@@ -60,7 +60,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ext2fs_readwrite.c,v 1.68 2015/03/28 03:46:51 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ext2fs_readwrite.c,v 1.69 2015/03/28 03:49:41 riastradh Exp $");
 
 #include 
 #include 
@@ -284,12 +284,6 @@ ext2fs_write(void *v)
 		if ((ip->i_e2fs_flags & EXT2_APPEND) &&
 		uio->uio_offset != ext2fs_size(ip))
 			return (EPERM);
-		/* FALLTHROUGH */
-	case VLNK:
-		break;
-	case VDIR:
-		if ((ioflag & IO_SYNC) == 0)
-			panic("%s: nonsync dir write", "ext2fs_write");
 		break;
 	default:
 		panic("%s: type", "ext2fs_write");



CVS commit: src/sys/ufs/ext2fs

2015-03-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Mar 28 03:46:51 UTC 2015

Modified Files:
src/sys/ufs/ext2fs: ext2fs_readwrite.c

Log Message:
Missed a spot in ext2fs_read


To generate a diff of this commit:
cvs rdiff -u -r1.67 -r1.68 src/sys/ufs/ext2fs/ext2fs_readwrite.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/ufs/ext2fs/ext2fs_readwrite.c
diff -u src/sys/ufs/ext2fs/ext2fs_readwrite.c:1.67 src/sys/ufs/ext2fs/ext2fs_readwrite.c:1.68
--- src/sys/ufs/ext2fs/ext2fs_readwrite.c:1.67	Fri Mar 27 17:27:56 2015
+++ src/sys/ufs/ext2fs/ext2fs_readwrite.c	Sat Mar 28 03:46:51 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ext2fs_readwrite.c,v 1.67 2015/03/27 17:27:56 riastradh Exp $	*/
+/*	$NetBSD: ext2fs_readwrite.c,v 1.68 2015/03/28 03:46:51 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 1993
@@ -60,7 +60,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ext2fs_readwrite.c,v 1.67 2015/03/27 17:27:56 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ext2fs_readwrite.c,v 1.68 2015/03/28 03:46:51 riastradh Exp $");
 
 #include 
 #include 
@@ -112,11 +112,7 @@ ext2fs_read(void *v)
 	if (uio->uio_rw != UIO_READ)
 		panic("%s: mode", "ext2fs_read");
 
-	if (vp->v_type == VLNK) {
-		if (ext2fs_size(ip) < ump->um_maxsymlinklen ||
-		(ump->um_maxsymlinklen == 0 && ext2fs_nblock(ip) == 0))
-			panic("%s: short symlink", "ext2fs_read");
-	} else if (vp->v_type != VREG && vp->v_type != VDIR)
+	if (vp->v_type != VREG && vp->v_type != VDIR)
 		panic("%s: type %d", "ext2fs_read", vp->v_type);
 #endif
 	/* XXX Eliminate me by refusing directory reads from userland.  */



CVS commit: src/external/gpl3/gcc/dist/gcc

2015-03-27 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sat Mar 28 00:47:18 UTC 2015

Modified Files:
src/external/gpl3/gcc/dist/gcc/common/config/riscv: riscv-common.c
src/external/gpl3/gcc/dist/gcc/config/riscv: netbsd.h riscv.h

Log Message:
Make sure the RISCV compiler defaults to FDIV enabled.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/gpl3/gcc/dist/gcc/common/config/riscv/riscv-common.c
cvs rdiff -u -r1.1 -r1.2 src/external/gpl3/gcc/dist/gcc/config/riscv/netbsd.h
cvs rdiff -u -r1.2 -r1.3 src/external/gpl3/gcc/dist/gcc/config/riscv/riscv.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/gcc/dist/gcc/common/config/riscv/riscv-common.c
diff -u src/external/gpl3/gcc/dist/gcc/common/config/riscv/riscv-common.c:1.2 src/external/gpl3/gcc/dist/gcc/common/config/riscv/riscv-common.c:1.3
--- src/external/gpl3/gcc/dist/gcc/common/config/riscv/riscv-common.c:1.2	Fri Mar 27 01:51:34 2015
+++ src/external/gpl3/gcc/dist/gcc/common/config/riscv/riscv-common.c	Sat Mar 28 00:47:17 2015
@@ -119,7 +119,8 @@ static const struct default_options risc
 
 #undef TARGET_DEFAULT_TARGET_FLAGS
 #define TARGET_DEFAULT_TARGET_FLAGS\
-  (riscv_flags_from_arch_string (RISCV_ARCH_STRING_DEFAULT)	\
+  (TARGET_DEFAULT		\
+   | riscv_flags_from_arch_string (RISCV_ARCH_STRING_DEFAULT)	\
| (TARGET_64BIT_DEFAULT ? 0 : MASK_32BIT))
 
 #undef TARGET_HANDLE_OPTION

Index: src/external/gpl3/gcc/dist/gcc/config/riscv/netbsd.h
diff -u src/external/gpl3/gcc/dist/gcc/config/riscv/netbsd.h:1.1 src/external/gpl3/gcc/dist/gcc/config/riscv/netbsd.h:1.2
--- src/external/gpl3/gcc/dist/gcc/config/riscv/netbsd.h:1.1	Fri Sep 19 17:20:29 2014
+++ src/external/gpl3/gcc/dist/gcc/config/riscv/netbsd.h	Sat Mar 28 00:47:17 2015
@@ -27,7 +27,7 @@ Boston, MA 02111-1307, USA.  */
 #define DRIVER_SELF_SPECS ""
 
 #undef TARGET_DEFAULT
-#define TARGET_DEFAULT MASK_FDIV
+#define TARGET_DEFAULT (MASK_ATOMIC | MASK_FDIV)
 
 #define TARGET_OS_CPP_BUILTINS()\
   do {\

Index: src/external/gpl3/gcc/dist/gcc/config/riscv/riscv.h
diff -u src/external/gpl3/gcc/dist/gcc/config/riscv/riscv.h:1.2 src/external/gpl3/gcc/dist/gcc/config/riscv/riscv.h:1.3
--- src/external/gpl3/gcc/dist/gcc/config/riscv/riscv.h:1.2	Fri Mar 27 01:51:34 2015
+++ src/external/gpl3/gcc/dist/gcc/config/riscv/riscv.h	Sat Mar 28 00:47:17 2015
@@ -104,7 +104,7 @@ along with GCC; see the file COPYING3.  
 /* Default target_flags if no switches are specified  */
 
 #ifndef TARGET_DEFAULT
-#define TARGET_DEFAULT (TARGET_ATOMIC | 
+#define TARGET_DEFAULT (MASK_ATOMIC)
 #endif
 
 #ifndef RISCV_ARCH_STRING_DEFAULT



CVS commit: src/lib/libm/arch/riscv

2015-03-27 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Mar 27 23:35:40 UTC 2015

Modified Files:
src/lib/libm/arch/riscv: e_sqrt.S e_sqrtf.S lrint.S lrintf.S
s_copysign.S s_copysignf.S s_fabs.S s_fabsf.S s_fma.S s_fmaf.S
s_fmax.S s_fmaxf.S s_fmin.S s_fminf.S

Log Message:
Update to new RISCV ABI


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/libm/arch/riscv/e_sqrt.S \
src/lib/libm/arch/riscv/e_sqrtf.S src/lib/libm/arch/riscv/lrint.S \
src/lib/libm/arch/riscv/lrintf.S src/lib/libm/arch/riscv/s_copysignf.S \
src/lib/libm/arch/riscv/s_fabs.S src/lib/libm/arch/riscv/s_fabsf.S \
src/lib/libm/arch/riscv/s_fma.S src/lib/libm/arch/riscv/s_fmaf.S \
src/lib/libm/arch/riscv/s_fmax.S src/lib/libm/arch/riscv/s_fmaxf.S \
src/lib/libm/arch/riscv/s_fmin.S src/lib/libm/arch/riscv/s_fminf.S
cvs rdiff -u -r1.3 -r1.4 src/lib/libm/arch/riscv/s_copysign.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libm/arch/riscv/e_sqrt.S
diff -u src/lib/libm/arch/riscv/e_sqrt.S:1.1 src/lib/libm/arch/riscv/e_sqrt.S:1.2
--- src/lib/libm/arch/riscv/e_sqrt.S:1.1	Fri Sep 19 17:36:25 2014
+++ src/lib/libm/arch/riscv/e_sqrt.S	Fri Mar 27 23:35:40 2015
@@ -1,10 +1,10 @@
-/* $NetBSD: e_sqrt.S,v 1.1 2014/09/19 17:36:25 matt Exp $ */
+/* $NetBSD: e_sqrt.S,v 1.2 2015/03/27 23:35:40 matt Exp $ */
 
 /* The contents of this file are in the public domain. */
 
 #include 
 
 ENTRY(__ieee754_sqrt)
-	fsqrt.d	fv0, fa0
+	fsqrt.d	fa0, fa0
 	ret
 END(__ieee754_sqrt)
Index: src/lib/libm/arch/riscv/e_sqrtf.S
diff -u src/lib/libm/arch/riscv/e_sqrtf.S:1.1 src/lib/libm/arch/riscv/e_sqrtf.S:1.2
--- src/lib/libm/arch/riscv/e_sqrtf.S:1.1	Fri Sep 19 17:36:25 2014
+++ src/lib/libm/arch/riscv/e_sqrtf.S	Fri Mar 27 23:35:40 2015
@@ -1,10 +1,10 @@
-/* $NetBSD: e_sqrtf.S,v 1.1 2014/09/19 17:36:25 matt Exp $ */
+/* $NetBSD: e_sqrtf.S,v 1.2 2015/03/27 23:35:40 matt Exp $ */
 
 /* The contents of this file are in the public domain. */
 
 #include 
 
 ENTRY(__ieee754_sqrtf)
-	fsqrt.s	fv0, fa0
+	fsqrt.s	fa0, fa0
 	ret
 END(__ieee754_sqrtf)
Index: src/lib/libm/arch/riscv/lrint.S
diff -u src/lib/libm/arch/riscv/lrint.S:1.1 src/lib/libm/arch/riscv/lrint.S:1.2
--- src/lib/libm/arch/riscv/lrint.S:1.1	Fri Sep 19 17:36:25 2014
+++ src/lib/libm/arch/riscv/lrint.S	Fri Mar 27 23:35:40 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: lrint.S,v 1.1 2014/09/19 17:36:25 matt Exp $ */
+/* $NetBSD: lrint.S,v 1.2 2015/03/27 23:35:40 matt Exp $ */
 
 /* The contents of this file are in the public domain. */
 
@@ -10,9 +10,9 @@ STRONG_ALIAS(llrint,lrint)
 
 ENTRY(lrint)
 #ifdef _LP64
-	fcvt.l.d	v0, fa0
+	fcvt.l.d	a0, fa0
 #else
-	fcvt.w.d	v0, fa0
+	fcvt.w.d	a0, fa0
 #endif
 	ret
 END(lrint)
Index: src/lib/libm/arch/riscv/lrintf.S
diff -u src/lib/libm/arch/riscv/lrintf.S:1.1 src/lib/libm/arch/riscv/lrintf.S:1.2
--- src/lib/libm/arch/riscv/lrintf.S:1.1	Fri Sep 19 17:36:25 2014
+++ src/lib/libm/arch/riscv/lrintf.S	Fri Mar 27 23:35:40 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: lrintf.S,v 1.1 2014/09/19 17:36:25 matt Exp $ */
+/* $NetBSD: lrintf.S,v 1.2 2015/03/27 23:35:40 matt Exp $ */
 
 /* The contents of this file are in the public domain. */
 
@@ -10,9 +10,9 @@ STRONG_ALIAS(llrintf,lrintf)
 
 ENTRY(lrintf)
 #ifdef _LP64
-	fcvt.l.s	v0, fa0
+	fcvt.l.s	a0, fa0
 #else
-	fcvt.w.s	v0, fa0
+	fcvt.w.s	a0, fa0
 #endif
 	ret
 END(lrintf)
Index: src/lib/libm/arch/riscv/s_copysignf.S
diff -u src/lib/libm/arch/riscv/s_copysignf.S:1.1 src/lib/libm/arch/riscv/s_copysignf.S:1.2
--- src/lib/libm/arch/riscv/s_copysignf.S:1.1	Fri Sep 19 17:36:25 2014
+++ src/lib/libm/arch/riscv/s_copysignf.S	Fri Mar 27 23:35:40 2015
@@ -1,10 +1,10 @@
-/* $NetBSD: s_copysignf.S,v 1.1 2014/09/19 17:36:25 matt Exp $ */
+/* $NetBSD: s_copysignf.S,v 1.2 2015/03/27 23:35:40 matt Exp $ */
 
 /* The contents of this file are in the public domain. */
 
 #include 
 
 ENTRY(copysignf)
-	fsgnj.s	fv0, fa0, fa1
+	fsgnj.s	fa0, fa0, fa1
 	ret
 END(copysignf)
Index: src/lib/libm/arch/riscv/s_fabs.S
diff -u src/lib/libm/arch/riscv/s_fabs.S:1.1 src/lib/libm/arch/riscv/s_fabs.S:1.2
--- src/lib/libm/arch/riscv/s_fabs.S:1.1	Fri Sep 19 17:36:25 2014
+++ src/lib/libm/arch/riscv/s_fabs.S	Fri Mar 27 23:35:40 2015
@@ -1,10 +1,10 @@
-/* $NetBSD: s_fabs.S,v 1.1 2014/09/19 17:36:25 matt Exp $ */
+/* $NetBSD: s_fabs.S,v 1.2 2015/03/27 23:35:40 matt Exp $ */
 
 /* The contents of this file are in the public domain. */
 
 #include 
 
 ENTRY(fabs)
-	fabs.d	fv0, fa0
+	fabs.d	fa0, fa0
 	ret
 END(fabs)
Index: src/lib/libm/arch/riscv/s_fabsf.S
diff -u src/lib/libm/arch/riscv/s_fabsf.S:1.1 src/lib/libm/arch/riscv/s_fabsf.S:1.2
--- src/lib/libm/arch/riscv/s_fabsf.S:1.1	Fri Sep 19 17:36:25 2014
+++ src/lib/libm/arch/riscv/s_fabsf.S	Fri Mar 27 23:35:40 2015
@@ -1,10 +1,10 @@
-/* $NetBSD: s_fabsf.S,v 1.1 2014/09/19 17:36:25 matt Exp $ */
+/* $NetBSD: s_fabsf.S,v 1.2 2015/03/27 23:35:40 matt Exp $ */
 
 /* The contents of 

CVS commit: src/sys/arch/riscv/include

2015-03-27 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Mar 27 23:26:14 UTC 2015

Modified Files:
src/sys/arch/riscv/include: elf_machdep.h

Log Message:
Fix one error and make life for ld.elf_so a little easier.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/riscv/include/elf_machdep.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/riscv/include/elf_machdep.h
diff -u src/sys/arch/riscv/include/elf_machdep.h:1.2 src/sys/arch/riscv/include/elf_machdep.h:1.3
--- src/sys/arch/riscv/include/elf_machdep.h:1.2	Fri Mar 27 06:57:21 2015
+++ src/sys/arch/riscv/include/elf_machdep.h	Fri Mar 27 23:26:14 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: elf_machdep.h,v 1.2 2015/03/27 06:57:21 matt Exp $ */
+/* $NetBSD: elf_machdep.h,v 1.3 2015/03/27 23:26:14 matt Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -66,7 +66,7 @@
 #define R_RISCV_TLS_DTPMOD64	8
 #define R_RISCV_TLS_DTPREL64	9
 #define R_RISCV_TLS_TPREL32	10
-#define R_RISCV_TLS_DTPREL64	11
+#define R_RISCV_TLS_TPREL64	11
 
 /* The rest are not used by the dynamic linker */
 #define R_RISCV_BRANCH		16	// (A - P) & 0x
@@ -98,12 +98,15 @@
 #define R_RISCV_GNU_VTENTRY	42
 #define R_RISCV_ALIGN		43
 
+/* These are aliases we can use R_TYPESZ */
+#define R_RISCV_ADDR32		R_RISCV_32
+#define R_RISCV_ADDR64		R_RISCV_64
 
 #define R_TYPE(name)		R_RISCV_ ## name
 #if ELFSIZE == 32
-#define R_TLS_TYPE(name)	R_RISCV_ ## name ## 32
+#define R_TYPESZ(name)		R_RISCV_ ## name ## 32
 #else
-#define R_TLS_TYPE(name)	R_RISCV_ ## name ## 64
+#define R_TYPESZ(name)		R_RISCV_ ## name ## 64
 #endif
 
 #ifdef _KERNEL



CVS commit: src/usr.sbin/service

2015-03-27 Thread Adrian Steinmann
Module Name:src
Committed By:   ast
Date:   Fri Mar 27 23:25:42 UTC 2015

Modified Files:
src/usr.sbin/service: service

Log Message:
Integrate some feedback gleened from tech-userle...@netbsd.org:
Avoid ls -P so that script can also run pre-netbsd-7.
Make sure /etc/rc.conf.d configurations are supported.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/service/service

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/service/service
diff -u src/usr.sbin/service/service:1.4 src/usr.sbin/service/service:1.5
--- src/usr.sbin/service/service:1.4	Mon Mar 23 23:28:55 2015
+++ src/usr.sbin/service/service	Fri Mar 27 23:25:42 2015
@@ -1,5 +1,5 @@
 #!/bin/sh
-#$NetBSD: service,v 1.4 2015/03/23 23:28:55 ast Exp $
+#$NetBSD: service,v 1.5 2015/03/27 23:25:42 ast Exp $
 #service -- run or list system services
 #
 #  Taken from FreeBSD: releng/10.1/usr.sbin/service/service.sh 268098
@@ -44,11 +44,15 @@ usage ()
 exit 1
 }
 
-rc_files()
+# list all files in rc_directories with absolute pathnames
+# written to be compatible with ls(1) from pre netbsd-7
+_rc_files()
 {
-local dir
-for dir in ${rc_directories}; do
-[ -d ${dir} ] && ls -P1 ${dir} 2>/dev/null
+local _d _f
+for _d in ${rc_directories}; do
+if [ -d $_d ]; then
+for _f in $_d/*; do [ -f $_f -a -x $_f ] && echo $_f; done
+fi
 done | xargs rcorder -s nostart ${rc_rcorder_flags} 2>/dev/null
 return 0
 }
@@ -75,12 +79,15 @@ if [ -n "${ENABLED}" ]; then
 then
 flt=$( echo $* | sed -e 's; ;|;g' -e 's;^;egrep /(;' -e 's;$;)$;' )
 fi
-rc_files | $flt | while read file
+_rc_files | $flt | while read file
 do
 if grep -q ^rcvar $file; then
 eval $( grep ^name= $file )
 eval $( grep ^rcvar $file )
-checkyesno ${rcvar} 2>/dev/null && echo ${file}
+if [ -n "${rcvar}" ]; then
+load_rc_config ${rcvar}
+checkyesno ${rcvar} 2>/dev/null && echo ${file}
+fi
 fi
 done
 exit 0
@@ -88,7 +95,7 @@ fi
 
 if [ -n "${LIST}" ]; then
 [ -n "${VERBOSE}" ] && echo "rc_directories is ${rc_directories}" >&2
-rc_files
+_rc_files
 exit 0
 fi
 



CVS commit: src/lib/libc/arch/riscv

2015-03-27 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Mar 27 23:23:14 UTC 2015

Modified Files:
src/lib/libc/arch/riscv/gen: __sigsetjmp14.S swapcontext.S
src/lib/libc/arch/riscv/sys: __clone.S brk.S cerror.S sbrk.S

Log Message:
Adapt to new assembler.  jump->tail[call]  auipc/lo12 changes.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/libc/arch/riscv/gen/__sigsetjmp14.S
cvs rdiff -u -r1.2 -r1.3 src/lib/libc/arch/riscv/gen/swapcontext.S
cvs rdiff -u -r1.2 -r1.3 src/lib/libc/arch/riscv/sys/__clone.S \
src/lib/libc/arch/riscv/sys/brk.S src/lib/libc/arch/riscv/sys/cerror.S \
src/lib/libc/arch/riscv/sys/sbrk.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/riscv/gen/__sigsetjmp14.S
diff -u src/lib/libc/arch/riscv/gen/__sigsetjmp14.S:1.1 src/lib/libc/arch/riscv/gen/__sigsetjmp14.S:1.2
--- src/lib/libc/arch/riscv/gen/__sigsetjmp14.S:1.1	Fri Sep 19 17:36:25 2014
+++ src/lib/libc/arch/riscv/gen/__sigsetjmp14.S	Fri Mar 27 23:23:14 2015
@@ -1,21 +1,21 @@
-/*	$NetBSD: __sigsetjmp14.S,v 1.1 2014/09/19 17:36:25 matt Exp $	*/
+/*	$NetBSD: __sigsetjmp14.S,v 1.2 2015/03/27 23:23:14 matt Exp $	*/
 
 #include "SYS.h"
 #include "assym.h"
 
 #if defined(LIBC_SCCS)
-__RCSID("$NetBSD: __sigsetjmp14.S,v 1.1 2014/09/19 17:36:25 matt Exp $")
+__RCSID("$NetBSD: __sigsetjmp14.S,v 1.2 2015/03/27 23:23:14 matt Exp $")
 #endif
 
 ENTRY(__sigsetjmp14)
 	bnez	a1, 1f
-	jump	PLT(_C_LABEL(_setjmp))
-1:	jump	PLT(_C_LABEL(__setjmp14))
+	tail	PLT(_C_LABEL(_setjmp))
+1:	tail	PLT(_C_LABEL(__setjmp14))
 END(__sigsetjmp14)
 
 ENTRY(__siglongjmp14)
 	REG_L	a2, JB_MAGIC(a0)
 	bnez	a2, 1f
-	jump	PLT(_C_LABEL(_longjmp))
-1:	jump	PLT(_C_LABEL(__longjmp14))
+	tail	PLT(_C_LABEL(_longjmp))
+1:	tail	PLT(_C_LABEL(__longjmp14))
 END(__siglongjmp14)

Index: src/lib/libc/arch/riscv/gen/swapcontext.S
diff -u src/lib/libc/arch/riscv/gen/swapcontext.S:1.2 src/lib/libc/arch/riscv/gen/swapcontext.S:1.3
--- src/lib/libc/arch/riscv/gen/swapcontext.S:1.2	Fri Mar 27 06:44:28 2015
+++ src/lib/libc/arch/riscv/gen/swapcontext.S	Fri Mar 27 23:23:14 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: swapcontext.S,v 1.2 2015/03/27 06:44:28 matt Exp $	*/
+/*	$NetBSD: swapcontext.S,v 1.3 2015/03/27 23:23:14 matt Exp $	*/
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 #include "SYS.h"
 #include "assym.h"
 
-__RCSID("$NetBSD: swapcontext.S,v 1.2 2015/03/27 06:44:28 matt Exp $")
+__RCSID("$NetBSD: swapcontext.S,v 1.3 2015/03/27 23:23:14 matt Exp $")
 
 #define	CALLFRAME_UCP	CALLFRAME_S1
 #define	CALLFRAME_OUCP	CALLFRAME_S0
@@ -56,7 +56,7 @@ ENTRY(swapcontext)
 	REG_S	ra, UC_GREGS_PC(a1)		# pc <- ra
 	REG_S	sp, UC_GREGS_SP(a1)		# adjust sp
 
-	jump	PLT(_C_LABEL(setcontext))	# setcontext(ucp)
+	tail	PLT(_C_LABEL(setcontext))	# setcontext(ucp)
 
 1:	ret	# simply return
 END(swapcontext)

Index: src/lib/libc/arch/riscv/sys/__clone.S
diff -u src/lib/libc/arch/riscv/sys/__clone.S:1.2 src/lib/libc/arch/riscv/sys/__clone.S:1.3
--- src/lib/libc/arch/riscv/sys/__clone.S:1.2	Fri Mar 27 06:44:28 2015
+++ src/lib/libc/arch/riscv/sys/__clone.S	Fri Mar 27 23:23:14 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: __clone.S,v 1.2 2015/03/27 06:44:28 matt Exp $	*/
+/*	$NetBSD: __clone.S,v 1.3 2015/03/27 23:23:14 matt Exp $	*/
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
 #include "SYS.h"
 
 #if defined(SYSLIBC_SCCS) && !defined(lint)
-	RCSID("$NetBSD: __clone.S,v 1.2 2015/03/27 06:44:28 matt Exp $");
+	RCSID("$NetBSD: __clone.S,v 1.3 2015/03/27 23:23:14 matt Exp $");
 #endif /* SYSLIBC_SCCS and not lint */
 
 #ifdef WEAK_ALIAS
@@ -92,7 +92,7 @@ ENTRY(__clone)
 	jalr		t0
 
 	/* Pass the return value to _exit. */
-	jump		_C_LABEL(_exit)
+	tail		_C_LABEL(_exit)
 
 	/* NOTREACHED */
 END(__clone)
Index: src/lib/libc/arch/riscv/sys/brk.S
diff -u src/lib/libc/arch/riscv/sys/brk.S:1.2 src/lib/libc/arch/riscv/sys/brk.S:1.3
--- src/lib/libc/arch/riscv/sys/brk.S:1.2	Fri Mar 27 06:44:28 2015
+++ src/lib/libc/arch/riscv/sys/brk.S	Fri Mar 27 23:23:14 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: brk.S,v 1.2 2015/03/27 06:44:28 matt Exp $	*/
+/*	$NetBSD: brk.S,v 1.3 2015/03/27 23:23:14 matt Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 #include "SYS.h"
 
 #if defined(LIBC_SCCS) && !defined(lint)
-	RCSID("$NetBSD: brk.S,v 1.2 2015/03/27 06:44:28 matt Exp $")
+	RCSID("$NetBSD: brk.S,v 1.3 2015/03/27 23:23:14 matt Exp $")
 #endif /* LIBC_SCCS and not lint */
 
 	.hidden	_C_LABEL(__minbrk)
@@ -55,8 +55,8 @@ _C_LABEL(__curbrk):
 	.text
 
 ENTRY(_brk)
-	auipc	t1, %pcrel_hi(_C_LABEL(__minbrk))
-	addi	t1, t1, %pcrel_lo(_C_LABEL(__minbrk))
+.L0:	auipc	t1, %pcrel_hi(_C_LABEL(__minbrk))
+	addi	t1, t1, %pcrel_lo(.L0)
 	PTR_L	t5, 0(t1)
 	bgeu	a0, t5, 1f
 	move	a0, t5		# dont allow break < minbrk
Index: src/lib/libc/arch/riscv/sys/cerror.S
diff -u src/lib/libc/arch/riscv/sys/cerror.S:1.2 src/lib/libc/arc

CVS commit: src/lib/libc/arch/riscv

2015-03-27 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Mar 27 23:22:20 UTC 2015

Modified Files:
src/lib/libc/arch/riscv: genassym.cf

Log Message:
Adapt to the jmpbuf changes.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/libc/arch/riscv/genassym.cf

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/riscv/genassym.cf
diff -u src/lib/libc/arch/riscv/genassym.cf:1.1 src/lib/libc/arch/riscv/genassym.cf:1.2
--- src/lib/libc/arch/riscv/genassym.cf:1.1	Fri Sep 19 17:36:25 2014
+++ src/lib/libc/arch/riscv/genassym.cf	Fri Mar 27 23:22:20 2015
@@ -1,4 +1,4 @@
-#	$NetBSD: genassym.cf,v 1.1 2014/09/19 17:36:25 matt Exp $
+#	$NetBSD: genassym.cf,v 1.2 2015/03/27 23:22:20 matt Exp $
 
 #
 # Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -65,21 +65,17 @@ define JB_TP		_JB_TP * sizeof(_BSD_JBSLO
 define JB_GP		_JB_GP * sizeof(_BSD_JBSLOT_T_)
 define JB_FCSR		_JB_FCSR * sizeof(_BSD_JBSLOT_T_)
 
-define JB_F0		_JB_F0 * sizeof(_BSD_JBSLOT_T_)
-define JB_F1		_JB_F1 * sizeof(_BSD_JBSLOT_T_)
-define JB_F2		_JB_F2 * sizeof(_BSD_JBSLOT_T_)
-define JB_F3		_JB_F3 * sizeof(_BSD_JBSLOT_T_)
-define JB_F4		_JB_F4 * sizeof(_BSD_JBSLOT_T_)
-define JB_F5		_JB_F5 * sizeof(_BSD_JBSLOT_T_)
-define JB_F6		_JB_F6 * sizeof(_BSD_JBSLOT_T_)
-define JB_F7		_JB_F7 * sizeof(_BSD_JBSLOT_T_)
-define JB_F8		_JB_F8 * sizeof(_BSD_JBSLOT_T_)
-define JB_F9		_JB_F9 * sizeof(_BSD_JBSLOT_T_)
-define JB_F10		_JB_F10 * sizeof(_BSD_JBSLOT_T_)
-define JB_F11		_JB_F11 * sizeof(_BSD_JBSLOT_T_)
-define JB_F12		_JB_F12 * sizeof(_BSD_JBSLOT_T_)
-define JB_F13		_JB_F13 * sizeof(_BSD_JBSLOT_T_)
-define JB_F14		_JB_F14 * sizeof(_BSD_JBSLOT_T_)
-define JB_F15		_JB_F15 * sizeof(_BSD_JBSLOT_T_)
+define JB_FS0		_JB_FS0 * sizeof(_BSD_JBSLOT_T_)
+define JB_FS1		_JB_FS1 * sizeof(_BSD_JBSLOT_T_)
+define JB_FS2		_JB_FS2 * sizeof(_BSD_JBSLOT_T_)
+define JB_FS3		_JB_FS3 * sizeof(_BSD_JBSLOT_T_)
+define JB_FS4		_JB_FS4 * sizeof(_BSD_JBSLOT_T_)
+define JB_FS5		_JB_FS5 * sizeof(_BSD_JBSLOT_T_)
+define JB_FS6		_JB_FS6 * sizeof(_BSD_JBSLOT_T_)
+define JB_FS7		_JB_FS7 * sizeof(_BSD_JBSLOT_T_)
+define JB_FS8		_JB_FS8 * sizeof(_BSD_JBSLOT_T_)
+define JB_FS9		_JB_FS9 * sizeof(_BSD_JBSLOT_T_)
+define JB_FS10		_JB_FS10 * sizeof(_BSD_JBSLOT_T_)
+define JB_FS11		_JB_FS11 * sizeof(_BSD_JBSLOT_T_)
 
 define JB_SIGMASK	_JB_SIGMASK * sizeof(_BSD_JBSLOT_T_)



CVS commit: src/libexec/ld.elf_so/arch/riscv

2015-03-27 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Mar 27 23:14:53 UTC 2015

Modified Files:
src/libexec/ld.elf_so/arch/riscv: mdreloc.c rtld_start.S

Log Message:
Update RISCV to use the ELF relocations and new ABI.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/libexec/ld.elf_so/arch/riscv/mdreloc.c \
src/libexec/ld.elf_so/arch/riscv/rtld_start.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/libexec/ld.elf_so/arch/riscv/mdreloc.c
diff -u src/libexec/ld.elf_so/arch/riscv/mdreloc.c:1.1 src/libexec/ld.elf_so/arch/riscv/mdreloc.c:1.2
--- src/libexec/ld.elf_so/arch/riscv/mdreloc.c:1.1	Fri Sep 19 17:36:25 2014
+++ src/libexec/ld.elf_so/arch/riscv/mdreloc.c	Fri Mar 27 23:14:53 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: mdreloc.c,v 1.1 2014/09/19 17:36:25 matt Exp $	*/
+/*	$NetBSD: mdreloc.c,v 1.2 2015/03/27 23:14:53 matt Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include 
 #ifndef lint
-__RCSID("$NetBSD: mdreloc.c,v 1.1 2014/09/19 17:36:25 matt Exp $");
+__RCSID("$NetBSD: mdreloc.c,v 1.2 2015/03/27 23:14:53 matt Exp $");
 #endif /* not lint */
 
 #include 
@@ -48,12 +48,6 @@ void _rtld_bind_start(void);
 void _rtld_relocate_nonplt_self(Elf_Dyn *, Elf_Addr);
 void *_rtld_bind(const Obj_Entry *, Elf_Word);
 
-#if ELFSIZE == 64
-#define	Elf_Sxword			Elf64_Sxword
-#else
-#define	Elf_Sxword			Elf32_Sword
-#endif
-
 void
 _rtld_setup_pltgot(const Obj_Entry *obj)
 {
@@ -64,77 +58,31 @@ _rtld_setup_pltgot(const Obj_Entry *obj)
 void
 _rtld_relocate_nonplt_self(Elf_Dyn *dynp, Elf_Addr relocbase)
 {
-	const Elf_Rel *rel = 0, *rellim;
-	Elf_Addr relsz = 0;
-	Elf_Sxword *where;
-	const Elf_Sym *symtab = NULL, *sym;
-	Elf_Addr *got = NULL;
-	Elf_Word local_gotno = 0, symtabno = 0, gotsym = 0;
-	size_t i;
+	const Elf_Rela *rela = NULL, *relalim;
+	Elf_Addr relasz = 0;
 
 	for (; dynp->d_tag != DT_NULL; dynp++) {
 		switch (dynp->d_tag) {
-		case DT_REL:
-			rel = (const Elf_Rel *)(relocbase + dynp->d_un.d_ptr);
-			break;
-		case DT_RELSZ:
-			relsz = dynp->d_un.d_val;
-			break;
-		case DT_SYMTAB:
-			symtab = (const Elf_Sym *)(relocbase + dynp->d_un.d_ptr);
-			break;
-		case DT_PLTGOT:
-			got = (Elf_Addr *)(relocbase + dynp->d_un.d_ptr);
+		case DT_RELA:
+			rela = (const Elf_Rela *)(relocbase + dynp->d_un.d_ptr);
 			break;
-		case DT_RISCV_LOCAL_GOTNO:
-			local_gotno = dynp->d_un.d_val;
-			break;
-		case DT_RISCV_SYMTABNO:
-			symtabno = dynp->d_un.d_val;
-			break;
-		case DT_RISCV_GOTSYM:
-			gotsym = dynp->d_un.d_val;
+		case DT_RELASZ:
+			relasz = dynp->d_un.d_val;
 			break;
 		}
 	}
 
-	i = (got[1] & 0x8000) ? 2 : 1;
-	/* Relocate the local GOT entries */
-	got += i;
-	for (; i < local_gotno; i++)
-		*got++ += relocbase;
-	sym = symtab + gotsym;
-	/* Now do the global GOT entries */
-	for (i = gotsym; i < symtabno; i++) {
-		*got = sym->st_value + relocbase;
-		++sym;
-		++got;
-	}
+	relalim = (const Elf_Rela *)((uintptr_t)rela + relasz);
+	for (; rela < relalim; rela++) {
+		Elf_Word r_type = ELF_R_TYPE(rela->r_info);
+		Elf_Addr *where = (Elf_Addr *)(relocbase + rela->r_offset);
 
-	rellim = (const Elf_Rel *)((uintptr_t)rel + relsz);
-	for (; rel < rellim; rel++) {
-		Elf_Word r_symndx, r_type;
-
-		where = (Elf_Sxword *)(relocbase + rel->r_offset);
-
-		r_symndx = ELF_R_SYM(rel->r_info);
-		r_type = ELF_R_TYPE(rel->r_info);
-
-		switch (r_type & 0xff) {
-		case R_TYPE(REL32): {
-			Elf_Sxword old = *where;
-			Elf_Sxword val = old;
-#if ELFSIZE == 64
-			assert(r_type == R_TYPE(REL32)
-			|| r_type == (R_TYPE(REL32)|(R_TYPE(64) << 8)));
-#endif
-			assert(r_symndx < gotsym);
-			sym = symtab + r_symndx;
-			assert(ELF_ST_BIND(sym->st_info) == STB_LOCAL);
-			val += relocbase;
-			*(Elf_Sword *)where = val;
-			rdbg(("REL32/L(%p) %p -> %p in ",
-			where, (void *)old, (void *)val));
+		switch (r_type) {
+		case R_TYPE(RELATIVE): {
+			Elf_Addr val = relocbase + rela->r_addend;
+			*where = val;
+			rdbg(("RELATIVE/L(%p) -> %p in ",
+			where, (void *)val));
 			break;
 		}
 
@@ -150,122 +98,62 @@ _rtld_relocate_nonplt_self(Elf_Dyn *dynp
 int
 _rtld_relocate_nonplt_objects(Obj_Entry *obj)
 {
-	const Elf_Rel *rel;
-	Elf_Addr *got = obj->pltgot;
-	const Elf_Sym *sym, *def;
+	const Elf_Rela *rela;
+	const Elf_Sym *def;
 	const Obj_Entry *defobj;
-	Elf_Word i;
-
-	i = 2;
-	/* Relocate the local GOT entries */
-	got += i;
-	for (; i < obj->local_gotno; i++)
-		*got++ += (Elf_Addr)obj->relocbase;
-
-	sym = obj->symtab + obj->gotsym;
-	/* Now do the global GOT entries */
-	for (i = obj->gotsym; i < obj->symtabno; i++) {
-		rdbg((" doing got %d sym %p (%s, %lx)", i - obj->gotsym, sym,
-		sym->st_name + obj->strtab, (u_long) *got));
-
-		if (ELF_ST_TYPE(sym->st_info) == STT_FUNC &&
-		sym->st_value != 0 && sym->st_shndx == SHN_UNDEF) {
-			/*
-			 * If there are non-PLT references to the function,
-			 * st_value should be 0

CVS commit: src/share/man/man9

2015-03-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri Mar 27 21:53:51 UTC 2015

Modified Files:
src/share/man/man9: wapbl.9

Log Message:
Whatever the original intent was, it works only for buffer cache../wapbl.9


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/share/man/man9/wapbl.9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man9/wapbl.9
diff -u src/share/man/man9/wapbl.9:1.7 src/share/man/man9/wapbl.9:1.8
--- src/share/man/man9/wapbl.9:1.7	Fri Mar 27 21:50:39 2015
+++ src/share/man/man9/wapbl.9	Fri Mar 27 21:53:50 2015
@@ -1,4 +1,4 @@
-.\"	$NetBSD: wapbl.9,v 1.7 2015/03/27 21:50:39 riastradh Exp $
+.\"	$NetBSD: wapbl.9,v 1.8 2015/03/27 21:53:50 riastradh Exp $
 .\"
 .\" Copyright (c) 2015 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -415,7 +415,7 @@ with hooks in
 .Xr wapbl_replay 9
 .Sh BUGS
 .Nm
-is intended only for file system metadata managed via the
+works only for file system metadata managed via the
 .Xr buffercache 9 ,
 and provides no way to log writes via the page cache, as in
 .Xr VOP_GETPAGES 9 ,



CVS commit: src/share/man/man9

2015-03-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri Mar 27 21:50:39 UTC 2015

Modified Files:
src/share/man/man9: wapbl.9

Log Message:
Explain resource estimation bug in wapbl(9).


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/share/man/man9/wapbl.9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man9/wapbl.9
diff -u src/share/man/man9/wapbl.9:1.6 src/share/man/man9/wapbl.9:1.7
--- src/share/man/man9/wapbl.9:1.6	Fri Mar 27 21:41:32 2015
+++ src/share/man/man9/wapbl.9	Fri Mar 27 21:50:39 2015
@@ -1,4 +1,4 @@
-.\"	$NetBSD: wapbl.9,v 1.6 2015/03/27 21:41:32 riastradh Exp $
+.\"	$NetBSD: wapbl.9,v 1.7 2015/03/27 21:50:39 riastradh Exp $
 .\"
 .\" Copyright (c) 2015 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -444,6 +444,15 @@ would need to issue synchronously in ord
 .Xr fsck 8
 to work.
 .Pp
+The criteria for when the transaction must be flushed to disk before
+.Fn wapbl_begin
+returns are heuristic, i.e. wrong.
+There is no way for a file system to communicate to
+.Fn wapbl_begin
+how many buffers, inodes, and deallocations it will issue via
+.Nm
+in the transaction.
+.Pp
 There is only one
 .Nm
 transaction for each file system at any given time, and only one



CVS commit: src/share/man/man9

2015-03-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri Mar 27 21:41:32 UTC 2015

Modified Files:
src/share/man/man9: wapbl.9

Log Message:
Make wording about who calls wapbl_*_buf consistent.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/share/man/man9/wapbl.9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man9/wapbl.9
diff -u src/share/man/man9/wapbl.9:1.5 src/share/man/man9/wapbl.9:1.6
--- src/share/man/man9/wapbl.9:1.5	Fri Mar 27 19:58:58 2015
+++ src/share/man/man9/wapbl.9	Fri Mar 27 21:41:32 2015
@@ -1,4 +1,4 @@
-.\"	$NetBSD: wapbl.9,v 1.5 2015/03/27 19:58:58 riastradh Exp $
+.\"	$NetBSD: wapbl.9,v 1.6 2015/03/27 21:41:32 riastradh Exp $
 .\"
 .\" Copyright (c) 2015 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -345,10 +345,8 @@ Add the buffer
 to the current transaction, which must be locked, because someone has
 asked to write it.
 .Pp
-This is meant to be called by
-.Xr bwrite 9
-or
-.Xr bdwrite 9 ,
+This is meant to be called from within
+.Xr buffercache 9 ,
 not by file systems directly.
 .It Fn wapbl_remove_buf wl bp
 Remove the buffer



CVS commit: src/share/man/man9

2015-03-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri Mar 27 19:58:58 UTC 2015

Modified Files:
src/share/man/man9: wapbl.9

Log Message:
Explain wapbl's relation to the garbage-appendage bug.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/share/man/man9/wapbl.9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man9/wapbl.9
diff -u src/share/man/man9/wapbl.9:1.4 src/share/man/man9/wapbl.9:1.5
--- src/share/man/man9/wapbl.9:1.4	Fri Mar 27 19:48:37 2015
+++ src/share/man/man9/wapbl.9	Fri Mar 27 19:58:58 2015
@@ -1,4 +1,4 @@
-.\"	$NetBSD: wapbl.9,v 1.4 2015/03/27 19:48:37 riastradh Exp $
+.\"	$NetBSD: wapbl.9,v 1.5 2015/03/27 19:58:58 riastradh Exp $
 .\"
 .\" Copyright (c) 2015 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -426,6 +426,26 @@ and
 .Xr ubc_uiomove 9 ,
 which is normally used for file data.
 .Pp
+Not only is
+.Nm
+unable to log writes via the page cache, it is also unable to defer
+.Xr buffercache 9
+writes until cached pages have been written.
+This manifests as the well-known garbage-data-appended-after-crash bug
+in FFS: when appending to a file, the pages containing new data may not
+reach the disk before the inode update reporting its new size.
+After a crash, the inode update will be on disk, but the new data will
+not be -- instead, whatever garbage data in the free space will appear
+to have been appended to the file.
+.Nm
+exacerbates the problem by increasing the throughput of metadata
+writes, because it can issue many metadata writes asynchronously that
+FFS without
+.Nm
+would need to issue synchronously in order for
+.Xr fsck 8
+to work.
+.Pp
 There is only one
 .Nm
 transaction for each file system at any given time, and only one



CVS commit: src/share/man/man9

2015-03-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri Mar 27 19:48:37 UTC 2015

Modified Files:
src/share/man/man9: wapbl.9

Log Message:
Note that the wapbl transaction lock is nonrecursive.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/share/man/man9/wapbl.9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man9/wapbl.9
diff -u src/share/man/man9/wapbl.9:1.3 src/share/man/man9/wapbl.9:1.4
--- src/share/man/man9/wapbl.9:1.3	Fri Mar 27 17:56:16 2015
+++ src/share/man/man9/wapbl.9	Fri Mar 27 19:48:37 2015
@@ -1,4 +1,4 @@
-.\"	$NetBSD: wapbl.9,v 1.3 2015/03/27 17:56:16 riastradh Exp $
+.\"	$NetBSD: wapbl.9,v 1.4 2015/03/27 19:48:37 riastradh Exp $
 .\"
 .\" Copyright (c) 2015 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -317,6 +317,11 @@ The lock is not exclusive: other threads
 However, if there is not enough space, another thread will obtain an
 exclusive lock in order to flush the transaction.
 .Pp
+The lock is not recursive: a thread may not acquire it again without
+calling
+.Fa wapbl_end
+first.
+.Pp
 May sleep.
 .Pp
 .Fa file



CVS commit: src/sys/ufs

2015-03-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri Mar 27 19:47:14 UTC 2015

Modified Files:
src/sys/ufs/lfs: ulfs_readwrite.c ulfs_vnops.c
src/sys/ufs/ufs: ufs_readwrite.c ufs_vnops.c

Log Message:
Tighten some kasserts in ufs_bufio code paths.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/ufs/lfs/ulfs_readwrite.c
cvs rdiff -u -r1.22 -r1.23 src/sys/ufs/lfs/ulfs_vnops.c
cvs rdiff -u -r1.108 -r1.109 src/sys/ufs/ufs/ufs_readwrite.c
cvs rdiff -u -r1.226 -r1.227 src/sys/ufs/ufs/ufs_vnops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/ufs/lfs/ulfs_readwrite.c
diff -u src/sys/ufs/lfs/ulfs_readwrite.c:1.8 src/sys/ufs/lfs/ulfs_readwrite.c:1.9
--- src/sys/ufs/lfs/ulfs_readwrite.c:1.8	Fri Mar 27 17:27:56 2015
+++ src/sys/ufs/lfs/ulfs_readwrite.c	Fri Mar 27 19:47:14 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ulfs_readwrite.c,v 1.8 2015/03/27 17:27:56 riastradh Exp $	*/
+/*	$NetBSD: ulfs_readwrite.c,v 1.9 2015/03/27 19:47:14 riastradh Exp $	*/
 /*  from NetBSD: ufs_readwrite.c,v 1.105 2013/01/22 09:39:18 dholland Exp  */
 
 /*-
@@ -33,7 +33,7 @@
  */
 
 #include 
-__KERNEL_RCSID(1, "$NetBSD: ulfs_readwrite.c,v 1.8 2015/03/27 17:27:56 riastradh Exp $");
+__KERNEL_RCSID(1, "$NetBSD: ulfs_readwrite.c,v 1.9 2015/03/27 19:47:14 riastradh Exp $");
 
 #ifdef LFS_READWRITE
 #define	FS			struct lfs
@@ -510,6 +510,7 @@ BUFWR(struct vnode *vp, struct uio *uio,
 	bool need_unreserve = false;
 #endif
 
+	KASSERT(ISSET(ioflag, IO_NODELOCKED));
 	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
 	KASSERT(vp->v_type == VDIR || vp->v_type == VLNK);
 	KASSERT(vp->v_type != VDIR || ISSET(ioflag, IO_SYNC));

Index: src/sys/ufs/lfs/ulfs_vnops.c
diff -u src/sys/ufs/lfs/ulfs_vnops.c:1.22 src/sys/ufs/lfs/ulfs_vnops.c:1.23
--- src/sys/ufs/lfs/ulfs_vnops.c:1.22	Fri Mar 27 17:27:56 2015
+++ src/sys/ufs/lfs/ulfs_vnops.c	Fri Mar 27 19:47:14 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ulfs_vnops.c,v 1.22 2015/03/27 17:27:56 riastradh Exp $	*/
+/*	$NetBSD: ulfs_vnops.c,v 1.23 2015/03/27 19:47:14 riastradh Exp $	*/
 /*  from NetBSD: ufs_vnops.c,v 1.213 2013/06/08 05:47:02 kardel Exp  */
 
 /*-
@@ -67,7 +67,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ulfs_vnops.c,v 1.22 2015/03/27 17:27:56 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ulfs_vnops.c,v 1.23 2015/03/27 19:47:14 riastradh Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_lfs.h"
@@ -1329,13 +1329,9 @@ ulfs_bufio(enum uio_rw rw, struct vnode 
 	struct uio uio;
 	int error;
 
-	/* XXX Remove me -- all callers should be locked.  */
-	if (!ISSET(ioflg, IO_NODELOCKED)) {
-		if (rw == UIO_READ)
-			vn_lock(vp, LK_SHARED | LK_RETRY);
-		else /* UIO_WRITE */
-			vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
-	}
+	KASSERT(ISSET(ioflg, IO_NODELOCKED));
+	KASSERT(VOP_ISLOCKED(vp));
+	KASSERT(rw != UIO_WRITE || VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
 
 	iov.iov_base = buf;
 	iov.iov_len = len;
@@ -1362,7 +1358,7 @@ ulfs_bufio(enum uio_rw rw, struct vnode 
 	else if (uio.uio_resid && error == 0)
 		error = EIO;
 
-	if (!ISSET(ioflg, IO_NODELOCKED))
-		VOP_UNLOCK(vp);
+	KASSERT(VOP_ISLOCKED(vp));
+	KASSERT(rw != UIO_WRITE || VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
 	return error;
 }

Index: src/sys/ufs/ufs/ufs_readwrite.c
diff -u src/sys/ufs/ufs/ufs_readwrite.c:1.108 src/sys/ufs/ufs/ufs_readwrite.c:1.109
--- src/sys/ufs/ufs/ufs_readwrite.c:1.108	Fri Mar 27 17:27:56 2015
+++ src/sys/ufs/ufs/ufs_readwrite.c	Fri Mar 27 19:47:14 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ufs_readwrite.c,v 1.108 2015/03/27 17:27:56 riastradh Exp $	*/
+/*	$NetBSD: ufs_readwrite.c,v 1.109 2015/03/27 19:47:14 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 1993
@@ -32,7 +32,7 @@
  */
 
 #include 
-__KERNEL_RCSID(1, "$NetBSD: ufs_readwrite.c,v 1.108 2015/03/27 17:27:56 riastradh Exp $");
+__KERNEL_RCSID(1, "$NetBSD: ufs_readwrite.c,v 1.109 2015/03/27 19:47:14 riastradh Exp $");
 
 #ifdef LFS_READWRITE
 #define	FS			struct lfs
@@ -543,10 +543,13 @@ BUFWR(struct vnode *vp, struct uio *uio,
 	bool need_unreserve = false;
 #endif
 
+	KASSERT(ISSET(ioflag, IO_NODELOCKED));
 	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
 	KASSERT(vp->v_type == VDIR || vp->v_type == VLNK);
 	KASSERT(vp->v_type != VDIR || ISSET(ioflag, IO_SYNC));
 	KASSERT(uio->uio_rw == UIO_WRITE);
+	KASSERT(ISSET(ioflag, IO_JOURNALLOCKED));
+	UFS_WAPBL_JLOCK_ASSERT(vp->v_mount);
 
 	ip = VTOI(vp);
 	ump = ip->i_ump;
@@ -573,8 +576,6 @@ BUFWR(struct vnode *vp, struct uio *uio,
 	error = 0;
 
 	KASSERT(vp->v_type != VREG);
-	KASSERT(ISSET(ioflag, IO_JOURNALLOCKED));
-	UFS_WAPBL_JLOCK_ASSERT(vp->v_mount);
 
 #ifdef LFS_READWRITE
 	lfs_availwait(fs, btofsb(fs, uio->uio_resid));

Index: src/sys/ufs/ufs/ufs_vnops.c
diff -u src/sys/ufs/ufs/ufs_vnops.c:1.226 src/sys/ufs/ufs/ufs_vnops.c:1.227
--- src/sys/ufs/ufs/ufs_vnops.c:1.226	Fri Mar 27 17:27:56 2015
+++ src/sys/ufs/ufs/ufs_vnops.c	Fri Mar 27 19:47:14 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ufs_vnops.c,v 1.226 2015/03/27

CVS commit: src/external/bsd/dhcpcd/dist

2015-03-27 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Mar 27 18:53:15 UTC 2015

Modified Files:
src/external/bsd/dhcpcd/dist: arp.c

Log Message:
cast htons


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/external/bsd/dhcpcd/dist/arp.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/dhcpcd/dist/arp.c
diff -u src/external/bsd/dhcpcd/dist/arp.c:1.10 src/external/bsd/dhcpcd/dist/arp.c:1.11
--- src/external/bsd/dhcpcd/dist/arp.c:1.10	Thu Mar 26 06:26:37 2015
+++ src/external/bsd/dhcpcd/dist/arp.c	Fri Mar 27 14:53:15 2015
@@ -1,5 +1,5 @@
 #include 
- __RCSID("$NetBSD: arp.c,v 1.10 2015/03/26 10:26:37 roy Exp $");
+ __RCSID("$NetBSD: arp.c,v 1.11 2015/03/27 18:53:15 christos Exp $");
 
 /*
  * dhcpcd - DHCP client daemon
@@ -68,7 +68,7 @@ arp_send(const struct interface *ifp, in
 	ar.ar_pro = htons(ETHERTYPE_IP);
 	ar.ar_hln = ifp->hwlen;
 	ar.ar_pln = sizeof(sip);
-	ar.ar_op = htons(op);
+	ar.ar_op = htons((uint16_t)op);
 
 	p = arp_buffer;
 	len = 0;



CVS commit: src/external/bsd/dhcpcd/dist

2015-03-27 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Mar 27 18:51:08 UTC 2015

Modified Files:
src/external/bsd/dhcpcd/dist: if-bsd.c

Log Message:
cast htons() args.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/external/bsd/dhcpcd/dist/if-bsd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/dhcpcd/dist/if-bsd.c
diff -u src/external/bsd/dhcpcd/dist/if-bsd.c:1.18 src/external/bsd/dhcpcd/dist/if-bsd.c:1.19
--- src/external/bsd/dhcpcd/dist/if-bsd.c:1.18	Thu Mar 26 06:26:37 2015
+++ src/external/bsd/dhcpcd/dist/if-bsd.c	Fri Mar 27 14:51:08 2015
@@ -1,5 +1,5 @@
 #include 
- __RCSID("$NetBSD: if-bsd.c,v 1.18 2015/03/26 10:26:37 roy Exp $");
+ __RCSID("$NetBSD: if-bsd.c,v 1.19 2015/03/27 18:51:08 christos Exp $");
 
 /*
  * dhcpcd - DHCP client daemon
@@ -388,7 +388,7 @@ if_sendrawpacket(const struct interface 
 
 	memset(&hw, 0, ETHER_HDR_LEN);
 	memset(&hw.ether_dhost, 0xff, ETHER_ADDR_LEN);
-	hw.ether_type = htons(protocol);
+	hw.ether_type = htons((uint16_t)protocol);
 	iov[0].iov_base = &hw;
 	iov[0].iov_len = ETHER_HDR_LEN;
 	iov[1].iov_base = UNCONST(data);
@@ -728,7 +728,7 @@ ifa_scope(struct sockaddr_in6 *sin, unsi
 	/* KAME based systems want to store the scope inside the sin6_addr
 	 * for link local addreses */
 	if (IN6_IS_ADDR_LINKLOCAL(&sin->sin6_addr)) {
-		uint16_t scope = htons(ifindex);
+		uint16_t scope = htons((uint16_t)ifindex);
 		memcpy(&sin->sin6_addr.s6_addr[2], &scope,
 		sizeof(scope));
 	}



CVS commit: src/share/man/man9

2015-03-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri Mar 27 17:56:16 UTC 2015

Modified Files:
src/share/man/man9: wapbl.9

Log Message:
Fix typo: VFS_UNMOUNT, not VFS_MOUNT, should call wapbl_stop.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/share/man/man9/wapbl.9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man9/wapbl.9
diff -u src/share/man/man9/wapbl.9:1.2 src/share/man/man9/wapbl.9:1.3
--- src/share/man/man9/wapbl.9:1.2	Thu Mar 26 22:04:38 2015
+++ src/share/man/man9/wapbl.9	Fri Mar 27 17:56:16 2015
@@ -1,4 +1,4 @@
-.\"	$NetBSD: wapbl.9,v 1.2 2015/03/26 22:04:38 wiz Exp $
+.\"	$NetBSD: wapbl.9,v 1.3 2015/03/27 17:56:16 riastradh Exp $
 .\"
 .\" Copyright (c) 2015 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -149,7 +149,7 @@ and then, if the mount is read/write, in
 for the mount by calling
 .Fn wapbl_start .
 The
-.Xr VFS_MOUNT 9
+.Xr VFS_UNMOUNT 9
 method should call
 .Fn wapbl_stop .
 .Pp



CVS commit: src/sys/ufs

2015-03-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Fri Mar 27 17:27:56 UTC 2015

Modified Files:
src/sys/ufs/chfs: chfs_vnops.c
src/sys/ufs/ext2fs: ext2fs_extern.h ext2fs_lookup.c ext2fs_readwrite.c
ext2fs_rename.c ext2fs_vfsops.c ext2fs_vnops.c
src/sys/ufs/ffs: ffs_extern.h ffs_vfsops.c
src/sys/ufs/lfs: lfs_extern.h lfs_rename.c lfs_vnops.c ulfs_extern.h
ulfs_lookup.c ulfs_readwrite.c ulfs_vnops.c
src/sys/ufs/ufs: ufs_extern.h ufs_lookup.c ufs_readwrite.c ufs_rename.c
ufs_vnops.c ufsmount.h

Log Message:
Disentangle buffer-cached I/O from page-cached I/O in UFS.

Page-cached I/O is used for regular files, and is initiated by VFS
users such as userland and NFS.

Buffer-cached I/O is used for directories and symlinks, and is issued
only internally by UFS.

New UFS routine ufs_bufio replaces vn_rdwr for internal use.
ufs_bufio is implemented by new UFS operations uo_bufrd/uo_bufwr,
which sit in ufs_readwrite.c alongside the VOP_READ/VOP_WRITE
implementations.

I preserved the code as much as possible and will leave further
simplification for future commits.  I kept the ulfs_readwrite.c
copypasta close to ufs_readwrite.c in case we ever want to merge them
back; likewise ext2fs_readwrite.c.

No externally visible semantic change.  All atf fs tests still pass.


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/sys/ufs/chfs/chfs_vnops.c
cvs rdiff -u -r1.47 -r1.48 src/sys/ufs/ext2fs/ext2fs_extern.h
cvs rdiff -u -r1.77 -r1.78 src/sys/ufs/ext2fs/ext2fs_lookup.c
cvs rdiff -u -r1.66 -r1.67 src/sys/ufs/ext2fs/ext2fs_readwrite.c
cvs rdiff -u -r1.7 -r1.8 src/sys/ufs/ext2fs/ext2fs_rename.c
cvs rdiff -u -r1.191 -r1.192 src/sys/ufs/ext2fs/ext2fs_vfsops.c
cvs rdiff -u -r1.115 -r1.116 src/sys/ufs/ext2fs/ext2fs_vnops.c
cvs rdiff -u -r1.81 -r1.82 src/sys/ufs/ffs/ffs_extern.h
cvs rdiff -u -r1.325 -r1.326 src/sys/ufs/ffs/ffs_vfsops.c
cvs rdiff -u -r1.101 -r1.102 src/sys/ufs/lfs/lfs_extern.h
cvs rdiff -u -r1.7 -r1.8 src/sys/ufs/lfs/lfs_rename.c \
src/sys/ufs/lfs/ulfs_readwrite.c
cvs rdiff -u -r1.269 -r1.270 src/sys/ufs/lfs/lfs_vnops.c
cvs rdiff -u -r1.13 -r1.14 src/sys/ufs/lfs/ulfs_extern.h
cvs rdiff -u -r1.21 -r1.22 src/sys/ufs/lfs/ulfs_lookup.c \
src/sys/ufs/lfs/ulfs_vnops.c
cvs rdiff -u -r1.78 -r1.79 src/sys/ufs/ufs/ufs_extern.h
cvs rdiff -u -r1.132 -r1.133 src/sys/ufs/ufs/ufs_lookup.c
cvs rdiff -u -r1.107 -r1.108 src/sys/ufs/ufs/ufs_readwrite.c
cvs rdiff -u -r1.11 -r1.12 src/sys/ufs/ufs/ufs_rename.c
cvs rdiff -u -r1.225 -r1.226 src/sys/ufs/ufs/ufs_vnops.c
cvs rdiff -u -r1.42 -r1.43 src/sys/ufs/ufs/ufsmount.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/ufs/chfs/chfs_vnops.c
diff -u src/sys/ufs/chfs/chfs_vnops.c:1.24 src/sys/ufs/chfs/chfs_vnops.c:1.25
--- src/sys/ufs/chfs/chfs_vnops.c:1.24	Sun Jan 11 17:29:57 2015
+++ src/sys/ufs/chfs/chfs_vnops.c	Fri Mar 27 17:27:55 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: chfs_vnops.c,v 1.24 2015/01/11 17:29:57 hannken Exp $	*/
+/*	$NetBSD: chfs_vnops.c,v 1.25 2015/03/27 17:27:55 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2010 Department of Software Engineering,
@@ -1310,9 +1310,8 @@ chfs_symlink(void *v)
 
 		uvm_vnp_setsize(vp, len);
 	} else {
-		err = vn_rdwr(UIO_WRITE, vp, target, len, (off_t)0,
-		UIO_SYSSPACE, IO_NODELOCKED, cnp->cn_cred,
-		(size_t *)0, NULL);
+		err = ufs_bufio(UIO_WRITE, vp, target, len, (off_t)0,
+		IO_NODELOCKED, cnp->cn_cred, (size_t *)0, NULL);
 	}
 
 out:
@@ -1454,7 +1453,7 @@ chfs_readlink(void *v)
 		return (0);
 	}
 
-	return (VOP_READ(vp, uio, 0, cred));
+	return (UFS_BUFRD(vp, uio, 0, cred));
 }
 
 /* - */

Index: src/sys/ufs/ext2fs/ext2fs_extern.h
diff -u src/sys/ufs/ext2fs/ext2fs_extern.h:1.47 src/sys/ufs/ext2fs/ext2fs_extern.h:1.48
--- src/sys/ufs/ext2fs/ext2fs_extern.h:1.47	Sun May 25 14:07:19 2014
+++ src/sys/ufs/ext2fs/ext2fs_extern.h	Fri Mar 27 17:27:56 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ext2fs_extern.h,v 1.47 2014/05/25 14:07:19 hannken Exp $	*/
+/*	$NetBSD: ext2fs_extern.h,v 1.48 2015/03/27 17:27:56 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993, 1994
@@ -147,6 +147,8 @@ void ext2fs_set_inode_guid(struct inode 
 /* ext2fs_readwrite.c */
 int ext2fs_read(void *);
 int ext2fs_write(void *);
+int ext2fs_bufrd(struct vnode *, struct uio *, int, kauth_cred_t);
+int ext2fs_bufwr(struct vnode *, struct uio *, int, kauth_cred_t);
 
 /* ext2fs_vnops.c */
 int ext2fs_create(void *);

Index: src/sys/ufs/ext2fs/ext2fs_lookup.c
diff -u src/sys/ufs/ext2fs/ext2fs_lookup.c:1.77 src/sys/ufs/ext2fs/ext2fs_lookup.c:1.78
--- src/sys/ufs/ext2fs/ext2fs_lookup.c:1.77	Tue Jun  3 19:30:29 2014
+++ src/sys/ufs/ext2fs/ext2fs_lookup.c	Fri Mar 27 17:27:56 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ext2fs_lookup.c,v 1.77 2014/06/03 19:30:29 joerg Exp $	*/
+/*	$NetBSD: ext2fs_lookup.c,v 1.78 2015/0

CVS commit: src/sys/dev/usb

2015-03-27 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Fri Mar 27 12:46:51 UTC 2015

Modified Files:
src/sys/dev/usb: usbdi_util.c usbdi_util.h

Log Message:
Add usbd_get_bos_desc{,_full} from Takahiro HAYASHI


To generate a diff of this commit:
cvs rdiff -u -r1.63 -r1.64 src/sys/dev/usb/usbdi_util.c
cvs rdiff -u -r1.45 -r1.46 src/sys/dev/usb/usbdi_util.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/usb/usbdi_util.c
diff -u src/sys/dev/usb/usbdi_util.c:1.63 src/sys/dev/usb/usbdi_util.c:1.64
--- src/sys/dev/usb/usbdi_util.c:1.63	Fri Sep 12 16:40:38 2014
+++ src/sys/dev/usb/usbdi_util.c	Fri Mar 27 12:46:51 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: usbdi_util.c,v 1.63 2014/09/12 16:40:38 skrll Exp $	*/
+/*	$NetBSD: usbdi_util.c,v 1.64 2015/03/27 12:46:51 skrll Exp $	*/
 
 /*
  * Copyright (c) 1998, 2012 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: usbdi_util.c,v 1.63 2014/09/12 16:40:38 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usbdi_util.c,v 1.64 2015/03/27 12:46:51 skrll Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -105,6 +105,33 @@ usbd_get_config_desc_full(usbd_device_ha
 }
 
 usbd_status
+usbd_get_bos_desc(usbd_device_handle dev, int confidx,
+		 usb_bos_descriptor_t *d)
+{
+	usbd_status err;
+
+	DPRINTFN(3,("usbd_get_bos_desc: confidx=%d\n", confidx));
+	err = usbd_get_desc(dev, UDESC_BOS, confidx,
+			USB_BOS_DESCRIPTOR_SIZE, d);
+	if (err)
+		return (err);
+	if (d->bDescriptorType != UDESC_BOS) {
+		DPRINTFN(-1,("usbd_get_bos_desc: confidx=%d, bad desc "
+			 "len=%d type=%d\n",
+			 confidx, d->bLength, d->bDescriptorType));
+		return (USBD_INVAL);
+	}
+	return (USBD_NORMAL_COMPLETION);
+}
+
+usbd_status
+usbd_get_bos_desc_full(usbd_device_handle dev, int conf, void *d, int size)
+{
+	DPRINTFN(3,("usbd_get_bos_desc_full: conf=%d\n", conf));
+	return (usbd_get_desc(dev, UDESC_BOS, conf, size, d));
+}
+
+usbd_status
 usbd_get_device_desc(usbd_device_handle dev, usb_device_descriptor_t *d)
 {
 	DPRINTFN(3,("usbd_get_device_desc:\n"));

Index: src/sys/dev/usb/usbdi_util.h
diff -u src/sys/dev/usb/usbdi_util.h:1.45 src/sys/dev/usb/usbdi_util.h:1.46
--- src/sys/dev/usb/usbdi_util.h:1.45	Thu Sep 26 07:25:31 2013
+++ src/sys/dev/usb/usbdi_util.h	Fri Mar 27 12:46:51 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: usbdi_util.h,v 1.45 2013/09/26 07:25:31 skrll Exp $	*/
+/*	$NetBSD: usbdi_util.h,v 1.46 2015/03/27 12:46:51 skrll Exp $	*/
 
 /*
  * Copyright (c) 1998, 2004 The NetBSD Foundation, Inc.
@@ -40,6 +40,9 @@ usbd_status	usbd_get_desc(usbd_device_ha
 usbd_status	usbd_get_config_desc(usbd_device_handle, int,
  usb_config_descriptor_t *);
 usbd_status	usbd_get_config_desc_full(usbd_device_handle, int, void *, int);
+usbd_status	usbd_get_bos_desc(usbd_device_handle, int,
+ usb_bos_descriptor_t *);
+usbd_status	usbd_get_bos_desc_full(usbd_device_handle, int, void *, int);
 usbd_status	usbd_get_device_desc(usbd_device_handle dev,
  usb_device_descriptor_t *d);
 usbd_status	usbd_set_address(usbd_device_handle dev, int addr);



CVS commit: src/doc

2015-03-27 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Fri Mar 27 12:45:00 UTC 2015

Modified Files:
src/doc: CHANGES

Log Message:
wm(4): Add X540 support.


To generate a diff of this commit:
cvs rdiff -u -r1.2060 -r1.2061 src/doc/CHANGES

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/CHANGES
diff -u src/doc/CHANGES:1.2060 src/doc/CHANGES:1.2061
--- src/doc/CHANGES:1.2060	Fri Mar 27 11:35:43 2015
+++ src/doc/CHANGES	Fri Mar 27 12:45:00 2015
@@ -1,4 +1,4 @@
-# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2060 $>
+# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2061 $>
 #
 #
 # [Note: This file does not mention every change made to the NetBSD source tree.
@@ -144,3 +144,4 @@ Changes from NetBSD 7.0 to NetBSD 8.0:
 	openssl: Import openssl 1.0.1m [spz 20150323]
 	libc: Update to tzcode2015b. [christos 20150324]
 	dhcpcd(8): Import dhcpcd-6.8.1. [roy 20150327]
+	wm(4): Add X540 support [msaitoh 20150327]



CVS commit: src/sys/arch/evbarm/rpi

2015-03-27 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Fri Mar 27 11:42:28 UTC 2015

Modified Files:
src/sys/arch/evbarm/rpi: rpi_start.S

Log Message:
Trailing whitespace.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/evbarm/rpi/rpi_start.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/evbarm/rpi/rpi_start.S
diff -u src/sys/arch/evbarm/rpi/rpi_start.S:1.13 src/sys/arch/evbarm/rpi/rpi_start.S:1.14
--- src/sys/arch/evbarm/rpi/rpi_start.S:1.13	Sat Feb 28 09:34:34 2015
+++ src/sys/arch/evbarm/rpi/rpi_start.S	Fri Mar 27 11:42:28 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: rpi_start.S,v 1.13 2015/02/28 09:34:34 skrll Exp $	*/
+/*	$NetBSD: rpi_start.S,v 1.14 2015/03/27 11:42:28 skrll Exp $	*/
 
 /*
  * Copyright (c) 2002, 2003  Genetec Corporation.  All rights reserved.
@@ -94,7 +94,7 @@
 #include 
 #include "assym.h"
 
-RCSID("$NetBSD: rpi_start.S,v 1.13 2015/02/28 09:34:34 skrll Exp $")
+RCSID("$NetBSD: rpi_start.S,v 1.14 2015/03/27 11:42:28 skrll Exp $")
 
 /*
  * Workaround Erratum 411920
@@ -223,15 +223,15 @@ _C_LABEL(rpi_start):
 	// When using split TTBRs, we need to set both since the physical
 	// addresses we were/are using might be in either.
 	mcr	p15, 0, r0, c2, c0, 1	/* TTBR1 write */
-#endif  
+#endif
 
 #if defined(ARM_MMU_EXTENDED)
 	mov	r1, #TTBCR_S_N_1/* make sure TTBCR_S_N is 1 */
-#else   
+#else
 	mov	r1, #0			/* make sure TTBCR is 0 */
 #endif
 	mcr	p15, 0, r1, c2, c0, 2	/* TTBCR write */
-  
+
 	mov r0, #0
 	mcr	p15, 0, r0, c8, c7, 0	/* Invalidate TLBs */
 



CVS commit: src/doc

2015-03-27 Thread Roy Marples
Module Name:src
Committed By:   roy
Date:   Fri Mar 27 11:35:43 UTC 2015

Modified Files:
src/doc: 3RDPARTY CHANGES

Log Message:
Note import of dhcpcd-6.8.1


To generate a diff of this commit:
cvs rdiff -u -r1.1213 -r1.1214 src/doc/3RDPARTY
cvs rdiff -u -r1.2059 -r1.2060 src/doc/CHANGES

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/3RDPARTY
diff -u src/doc/3RDPARTY:1.1213 src/doc/3RDPARTY:1.1214
--- src/doc/3RDPARTY:1.1213	Thu Mar 26 10:37:06 2015
+++ src/doc/3RDPARTY	Fri Mar 27 11:35:43 2015
@@ -1,4 +1,4 @@
-#	$NetBSD: 3RDPARTY,v 1.1213 2015/03/26 10:37:06 roy Exp $
+#	$NetBSD: 3RDPARTY,v 1.1214 2015/03/27 11:35:43 roy Exp $
 #
 # This file contains a list of the software that has been integrated into
 # NetBSD where we are not the primary maintainer.
@@ -305,8 +305,8 @@ Notes:
 Use the dhcp2netbsd script.
 
 Package:	dhcpcd
-Version:	6.8.0
-Current Vers:	6.8.0
+Version:	6.8.1
+Current Vers:	6.8.1
 Maintainer:	roy
 Archive Site:	ftp://roy.marples.name/pub/dhcpcd/
 Home Page:	http://roy.marples.name/projects/dhcpcd/

Index: src/doc/CHANGES
diff -u src/doc/CHANGES:1.2059 src/doc/CHANGES:1.2060
--- src/doc/CHANGES:1.2059	Thu Mar 26 10:37:06 2015
+++ src/doc/CHANGES	Fri Mar 27 11:35:43 2015
@@ -1,4 +1,4 @@
-# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2059 $>
+# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2060 $>
 #
 #
 # [Note: This file does not mention every change made to the NetBSD source tree.
@@ -143,4 +143,4 @@ Changes from NetBSD 7.0 to NetBSD 8.0:
 	service(8): Import adapted script from FreeBSD [ast 20150322]
 	openssl: Import openssl 1.0.1m [spz 20150323]
 	libc: Update to tzcode2015b. [christos 20150324]
-	dhcpcd(8): Import dhcpcd-6.8.0. [roy 20150326]
+	dhcpcd(8): Import dhcpcd-6.8.1. [roy 20150327]



CVS commit: src/external/bsd/dhcpcd/sbin/dhcpcd

2015-03-27 Thread Roy Marples
Module Name:src
Committed By:   roy
Date:   Fri Mar 27 11:35:02 UTC 2015

Modified Files:
src/external/bsd/dhcpcd/sbin/dhcpcd: Makefile

Log Message:
Crank up the warnings.


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/external/bsd/dhcpcd/sbin/dhcpcd/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/dhcpcd/sbin/dhcpcd/Makefile
diff -u src/external/bsd/dhcpcd/sbin/dhcpcd/Makefile:1.23 src/external/bsd/dhcpcd/sbin/dhcpcd/Makefile:1.24
--- src/external/bsd/dhcpcd/sbin/dhcpcd/Makefile:1.23	Fri Dec 19 10:59:06 2014
+++ src/external/bsd/dhcpcd/sbin/dhcpcd/Makefile	Fri Mar 27 11:35:02 2015
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.23 2014/12/19 10:59:06 roy Exp $
+# $NetBSD: Makefile,v 1.24 2015/03/27 11:35:02 roy Exp $
 #
 
 PROG=		dhcpcd
@@ -7,7 +7,7 @@ SRCS+=		if.c if-options.c script.c
 SRCS+=		dhcp-common.c dhcpcd-embedded.c
 SRCS+=		if-bsd.c
 
-WARNS?=		5
+WARNS?=		6
 USE_FORT?=	yes	# network client (local server)
 
 .include 



CVS commit: src/external/bsd/dhcpcd/dist

2015-03-27 Thread Roy Marples
Module Name:src
Committed By:   roy
Date:   Fri Mar 27 11:33:47 UTC 2015

Modified Files:
src/external/bsd/dhcpcd/dist: common.c defs.h if-options.c ipv4.c
ipv6.c
src/external/bsd/dhcpcd/dist/crypt: hmac_md5.c

Log Message:
Sync


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/external/bsd/dhcpcd/dist/common.c \
src/external/bsd/dhcpcd/dist/ipv6.c
cvs rdiff -u -r1.15 -r1.16 src/external/bsd/dhcpcd/dist/defs.h
cvs rdiff -u -r1.21 -r1.22 src/external/bsd/dhcpcd/dist/if-options.c
cvs rdiff -u -r1.12 -r1.13 src/external/bsd/dhcpcd/dist/ipv4.c
cvs rdiff -u -r1.6 -r1.7 src/external/bsd/dhcpcd/dist/crypt/hmac_md5.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/dhcpcd/dist/common.c
diff -u src/external/bsd/dhcpcd/dist/common.c:1.9 src/external/bsd/dhcpcd/dist/common.c:1.10
--- src/external/bsd/dhcpcd/dist/common.c:1.9	Thu Mar 26 10:26:37 2015
+++ src/external/bsd/dhcpcd/dist/common.c	Fri Mar 27 11:33:46 2015
@@ -1,5 +1,5 @@
 #include 
- __RCSID("$NetBSD: common.c,v 1.9 2015/03/26 10:26:37 roy Exp $");
+ __RCSID("$NetBSD: common.c,v 1.10 2015/03/27 11:33:46 roy Exp $");
 
 /*
  * dhcpcd - DHCP client daemon
@@ -231,9 +231,9 @@ logger(struct dhcpcd_ctx *ctx, int pri, 
 break;
 		}
 		*fp++ = '\0';
+		fmt = fmt_cpy;
 	}
 
-	fmt = fmt_cpy;
 #endif
 
 	if (ctx == NULL || !(ctx->options & DHCPCD_QUIET)) {
Index: src/external/bsd/dhcpcd/dist/ipv6.c
diff -u src/external/bsd/dhcpcd/dist/ipv6.c:1.9 src/external/bsd/dhcpcd/dist/ipv6.c:1.10
--- src/external/bsd/dhcpcd/dist/ipv6.c:1.9	Thu Mar 26 10:26:37 2015
+++ src/external/bsd/dhcpcd/dist/ipv6.c	Fri Mar 27 11:33:46 2015
@@ -1,5 +1,5 @@
 #include 
- __RCSID("$NetBSD: ipv6.c,v 1.9 2015/03/26 10:26:37 roy Exp $");
+ __RCSID("$NetBSD: ipv6.c,v 1.10 2015/03/27 11:33:46 roy Exp $");
 
 /*
  * dhcpcd - DHCP client daemon
@@ -1822,9 +1822,6 @@ ipv6_handlert(struct dhcpcd_ctx *ctx, in
 static int
 nc_route(struct rt6 *ort, struct rt6 *nrt)
 {
-#ifdef HAVE_ROUTE_METRIC
-	int retval;
-#endif
 
 	/* Don't set default routes if not asked to */
 	if (IN6_IS_ADDR_UNSPECIFIED(&nrt->dest) &&
@@ -1849,22 +1846,30 @@ nc_route(struct rt6 *ort, struct rt6 *nr
 #ifdef HAVE_ROUTE_METRIC
 	/* With route metrics, we can safely add the new route before
 	 * deleting the old route. */
-	if ((retval = if_route6(RTM_ADD, nrt)) == -1)
-		logger(nrt->iface->ctx, LOG_ERR, "if_route6 (ADD): %m");
-	if (ort && if_route6(RTM_DELETE, ort) == -1 &&
-	errno != ESRCH)
-		logger(nrt->iface->ctx, LOG_ERR, "if_route6 (DEL): %m");
-	return retval;
-#else
+	if (if_route6(RTM_ADD, nrt) == 0) {
+		if (ort && if_route6(RTM_DELETE, ort) == -1 &&
+		errno != ESRCH)
+			logger(nrt->iface->ctx, LOG_ERR, "if_route6 (DEL): %m");
+		return 0;
+	}
+
+	/* If the kernel claims the route exists we need to rip out the
+	 * old one first. */
+	if (errno != EEXIST || ort == NULL)
+		goto logerr;
+#endif
+
 	/* No route metrics, we need to delete the old route before
 	 * adding the new one. */
 	if (ort && if_route6(RTM_DELETE, ort) == -1 && errno != ESRCH)
 		logger(nrt->iface->ctx, LOG_ERR, "if_route6: %m");
 	if (if_route6(RTM_ADD, nrt) == 0)
 		return 0;
+#ifdef HAVE_ROUTE_METRIC
+logerr:
+#endif
 	logger(nrt->iface->ctx, LOG_ERR, "if_route6 (ADD): %m");
 	return -1;
-#endif
 }
 
 static int

Index: src/external/bsd/dhcpcd/dist/defs.h
diff -u src/external/bsd/dhcpcd/dist/defs.h:1.15 src/external/bsd/dhcpcd/dist/defs.h:1.16
--- src/external/bsd/dhcpcd/dist/defs.h:1.15	Thu Mar 26 10:26:37 2015
+++ src/external/bsd/dhcpcd/dist/defs.h	Fri Mar 27 11:33:46 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: defs.h,v 1.15 2015/03/26 10:26:37 roy Exp $ */
+/* $NetBSD: defs.h,v 1.16 2015/03/27 11:33:46 roy Exp $ */
 
 /*
  * dhcpcd - DHCP client daemon
@@ -30,7 +30,7 @@
 #define CONFIG_H
 
 #define PACKAGE			"dhcpcd"
-#define VERSION			"6.8.0"
+#define VERSION			"6.8.1"
 
 #ifndef CONFIG
 # define CONFIG			SYSCONFDIR "/" PACKAGE ".conf"

Index: src/external/bsd/dhcpcd/dist/if-options.c
diff -u src/external/bsd/dhcpcd/dist/if-options.c:1.21 src/external/bsd/dhcpcd/dist/if-options.c:1.22
--- src/external/bsd/dhcpcd/dist/if-options.c:1.21	Thu Mar 26 10:26:37 2015
+++ src/external/bsd/dhcpcd/dist/if-options.c	Fri Mar 27 11:33:46 2015
@@ -1,5 +1,5 @@
 #include 
- __RCSID("$NetBSD: if-options.c,v 1.21 2015/03/26 10:26:37 roy Exp $");
+ __RCSID("$NetBSD: if-options.c,v 1.22 2015/03/27 11:33:46 roy Exp $");
 
 /*
  * dhcpcd - DHCP client daemon
@@ -53,6 +53,7 @@
 #include "dhcp.h"
 #include "dhcp6.h"
 #include "dhcpcd-embedded.h"
+#include "if.h"
 #include "if-options.h"
 #include "ipv4.h"
 
@@ -1041,7 +1042,7 @@ parse_option(struct dhcpcd_ctx *ctx, con
 }
 TAILQ_INIT(ifo->routes);
 			}
-			rt = malloc(sizeof(*rt));
+			rt = calloc(1, sizeof(*rt));
 			if (rt == NULL) {
 logger(ctx, LOG_ERR, "%s: %m", __func__);
 *fp = ' ';
@@ -1066,7 +1067,7 @@ parse_option(struct dhc

CVS import: src/external/bsd/dhcpcd/dist

2015-03-27 Thread Roy Marples
Module Name:src
Committed By:   roy
Date:   Fri Mar 27 11:32:00 UTC 2015

Update of /cvsroot/src/external/bsd/dhcpcd/dist
In directory ivanova.netbsd.org:/tmp/cvs-serv24078

Log Message:
Import dhcpcd-6.8.1 with the following changes:
  *  Fixed memory issues with static routes in dhcpcd.conf
  *  Fix syslog(3) corruption when quiet mode is enabled
  *  Fix detecting host routes

Status:

Vendor Tag: roy
Release Tags:   dhcpcd-6-8-1

C src/external/bsd/dhcpcd/dist/common.c
U src/external/bsd/dhcpcd/dist/control.c
U src/external/bsd/dhcpcd/dist/dhcpcd.c
U src/external/bsd/dhcpcd/dist/duid.c
U src/external/bsd/dhcpcd/dist/eloop.c
U src/external/bsd/dhcpcd/dist/if.c
C src/external/bsd/dhcpcd/dist/if-options.c
U src/external/bsd/dhcpcd/dist/script.c
U src/external/bsd/dhcpcd/dist/dhcp-common.c
U src/external/bsd/dhcpcd/dist/dhcpcd-embedded.c
U src/external/bsd/dhcpcd/dist/if-bsd.c
U src/external/bsd/dhcpcd/dist/arp.c
U src/external/bsd/dhcpcd/dist/dhcp.c
C src/external/bsd/dhcpcd/dist/ipv4.c
U src/external/bsd/dhcpcd/dist/ipv4ll.c
C src/external/bsd/dhcpcd/dist/ipv6.c
U src/external/bsd/dhcpcd/dist/ipv6nd.c
U src/external/bsd/dhcpcd/dist/dhcp6.c
U src/external/bsd/dhcpcd/dist/auth.c
U src/external/bsd/dhcpcd/dist/dhcpcd.conf
U src/external/bsd/dhcpcd/dist/dhcpcd-definitions.conf
U src/external/bsd/dhcpcd/dist/dhcpcd-embedded.c.in
U src/external/bsd/dhcpcd/dist/dhcpcd-embedded.h.in
U src/external/bsd/dhcpcd/dist/dhcpcd-run-hooks.8.in
U src/external/bsd/dhcpcd/dist/dhcpcd-run-hooks.in
U src/external/bsd/dhcpcd/dist/dhcpcd.8.in
U src/external/bsd/dhcpcd/dist/dhcpcd.conf.5.in
U src/external/bsd/dhcpcd/dist/arp.h
U src/external/bsd/dhcpcd/dist/auth.h
U src/external/bsd/dhcpcd/dist/bpf-filter.h
U src/external/bsd/dhcpcd/dist/common.h
U src/external/bsd/dhcpcd/dist/config.h
U src/external/bsd/dhcpcd/dist/control.h
C src/external/bsd/dhcpcd/dist/defs.h
U src/external/bsd/dhcpcd/dist/dev.h
U src/external/bsd/dhcpcd/dist/dhcp-common.h
U src/external/bsd/dhcpcd/dist/dhcp.h
U src/external/bsd/dhcpcd/dist/dhcp6.h
U src/external/bsd/dhcpcd/dist/dhcpcd-embedded.h
U src/external/bsd/dhcpcd/dist/dhcpcd.h
U src/external/bsd/dhcpcd/dist/duid.h
U src/external/bsd/dhcpcd/dist/eloop.h
U src/external/bsd/dhcpcd/dist/if-options.h
U src/external/bsd/dhcpcd/dist/if.h
U src/external/bsd/dhcpcd/dist/ipv4.h
U src/external/bsd/dhcpcd/dist/ipv4ll.h
U src/external/bsd/dhcpcd/dist/ipv6.h
U src/external/bsd/dhcpcd/dist/ipv6nd.h
U src/external/bsd/dhcpcd/dist/script.h
C src/external/bsd/dhcpcd/dist/crypt/hmac_md5.c
U src/external/bsd/dhcpcd/dist/crypt/crypt.h
U src/external/bsd/dhcpcd/dist/dhcpcd-hooks/01-test
U src/external/bsd/dhcpcd/dist/dhcpcd-hooks/02-dump
U src/external/bsd/dhcpcd/dist/dhcpcd-hooks/10-mtu
U src/external/bsd/dhcpcd/dist/dhcpcd-hooks/10-wpa_supplicant
U src/external/bsd/dhcpcd/dist/dhcpcd-hooks/15-timezone
U src/external/bsd/dhcpcd/dist/dhcpcd-hooks/20-resolv.conf
U src/external/bsd/dhcpcd/dist/dhcpcd-hooks/29-lookup-hostname
U src/external/bsd/dhcpcd/dist/dhcpcd-hooks/30-hostname
U src/external/bsd/dhcpcd/dist/dhcpcd-hooks/50-ntp.conf
U src/external/bsd/dhcpcd/dist/dhcpcd-hooks/50-ypbind

6 conflicts created by this import.
Use the following command to help the merge:

cvs checkout -jroy:yesterday -jroy src/external/bsd/dhcpcd/dist



CVS commit: [netbsd-7] src/doc

2015-03-27 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Fri Mar 27 11:29:09 UTC 2015

Modified Files:
src/doc [netbsd-7]: CHANGES-7.0

Log Message:
Ticket #646


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.244 -r1.1.2.245 src/doc/CHANGES-7.0

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/CHANGES-7.0
diff -u src/doc/CHANGES-7.0:1.1.2.244 src/doc/CHANGES-7.0:1.1.2.245
--- src/doc/CHANGES-7.0:1.1.2.244	Thu Mar 26 16:15:38 2015
+++ src/doc/CHANGES-7.0	Fri Mar 27 11:29:09 2015
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-7.0,v 1.1.2.244 2015/03/26 16:15:38 martin Exp $
+# $NetBSD: CHANGES-7.0,v 1.1.2.245 2015/03/27 11:29:09 martin Exp $
 
 A complete list of changes from the initial NetBSD 7.0 branch on 11 Aug 2014
 until the 7.0 release:
@@ -19383,3 +19383,11 @@ sys/arch/zaurus/include/bootconfig.h		1.
 	Merge common information.
 	[skrll, ticket #645]
 
+sys/arch/arm/arm32/cpuswitch.S			1.86-1.89
+sys/arch/arm/arm32/genassym.cf			1.70
+
+	Only set vfp & tpid registers and do ras lookups if new lwp is
+	not LW_SYSTEM.
+	[skrll, ticket #646]
+
+



CVS commit: [netbsd-7] src/sys/arch/arm/arm32

2015-03-27 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Fri Mar 27 11:27:40 UTC 2015

Modified Files:
src/sys/arch/arm/arm32 [netbsd-7]: cpuswitch.S genassym.cf

Log Message:
Pull up following revision(s) (requested by skrll in ticket #646):
sys/arch/arm/arm32/genassym.cf: revision 1.70
sys/arch/arm/arm32/cpuswitch.S: revision 1.86-1.89

Only set vfp & tpid registers and do ras lookups if new
lwp is not LW_SYSTEM.


To generate a diff of this commit:
cvs rdiff -u -r1.84 -r1.84.2.1 src/sys/arch/arm/arm32/cpuswitch.S
cvs rdiff -u -r1.69 -r1.69.2.1 src/sys/arch/arm/arm32/genassym.cf

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/arm32/cpuswitch.S
diff -u src/sys/arch/arm/arm32/cpuswitch.S:1.84 src/sys/arch/arm/arm32/cpuswitch.S:1.84.2.1
--- src/sys/arch/arm/arm32/cpuswitch.S:1.84	Sun Jun 15 02:27:15 2014
+++ src/sys/arch/arm/arm32/cpuswitch.S	Fri Mar 27 11:27:39 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpuswitch.S,v 1.84 2014/06/15 02:27:15 ozaki-r Exp $	*/
+/*	$NetBSD: cpuswitch.S,v 1.84.2.1 2015/03/27 11:27:39 martin Exp $	*/
 
 /*
  * Copyright 2003 Wasabi Systems, Inc.
@@ -87,7 +87,7 @@
 #include 
 #include 
 
-	RCSID("$NetBSD: cpuswitch.S,v 1.84 2014/06/15 02:27:15 ozaki-r Exp $")
+	RCSID("$NetBSD: cpuswitch.S,v 1.84.2.1 2015/03/27 11:27:39 martin Exp $")
 
 /* LINTSTUB: include  */
 	
@@ -137,18 +137,18 @@ ENTRY(cpu_switchto)
 	mov	r4, r0
 
 #ifdef TPIDRPRW_IS_CURCPU
-	GET_CURCPU(r3)
+	GET_CURCPU(r5)
 #elif defined(TPIDRPRW_IS_CURLWP)
 	mrc	p15, 0, r0, c13, c0, 4		/* get old lwp (r4 maybe 0) */
-	ldr	r3, [r0, #(L_CPU)]		/* get cpu from old lwp */
+	ldr	r5, [r0, #(L_CPU)]		/* get cpu from old lwp */
 #elif !defined(MULTIPROCESSOR) 
-	ldr	r3, [r6, #L_CPU]		/* get cpu from new lwp */
+	ldr	r5, [r6, #L_CPU]		/* get cpu from new lwp */
 #else
 #error curcpu() method not defined
 #endif
 
-	/* rem: r3 = curcpu() */
 	/* rem: r4 = old lwp */
+	/* rem: r5 = curcpu() */
 	/* rem: r6 = new lwp */
 	
 #ifndef __HAVE_UNNESTED_INTRS
@@ -156,7 +156,7 @@ ENTRY(cpu_switchto)
 #endif
 
 #ifdef MULTIPROCESSOR
-	str	r3, [r6, #(L_CPU)]
+	str	r5, [r6, #(L_CPU)]
 #else
 	/* l->l_cpu initialized in fork1() for single-processor */
 #endif
@@ -165,20 +165,16 @@ ENTRY(cpu_switchto)
 	mcr	p15, 0, r6, c13, c0, 4		/* set current lwp */
 #endif
 	/* We have a new curlwp now so make a note it */
-	str	r6, [r3, #(CI_CURLWP)]
-
-	/* Get the new pcb */
-	ldr	r7, [r6, #(L_PCB)]
+	str	r6, [r5, #(CI_CURLWP)]
 
 	/* At this point we can allow IRQ's again. */
 #ifndef __HAVE_UNNESTED_INTRS
 	IRQenable
 #endif
 
-	/* rem: r3 = curcpu() */
 	/* rem: r4 = old lwp */
+	/* rem: r5 = curcpu() */
 	/* rem: r6 = new lwp */
-	/* rem: r7 = new pcb */
 	/* rem: interrupts are enabled */
 
 	/*
@@ -190,24 +186,23 @@ ENTRY(cpu_switchto)
 	teq	r4, #0
 	beq	.Ldo_switch
 
-	/* rem: r3 = curcpu() */
 	/* rem: r4 = old lwp */
+	/* rem: r5 = curcpu() */
 	/* rem: r6 = new lwp */
-	/* rem: r7 = new pcb */
 	/* rem: interrupts are enabled */
 
 	/* Save old context */
 
 	/* Get the user structure for the old lwp. */
-	ldr	r5, [r4, #(L_PCB)]
+	ldr	r7, [r4, #(L_PCB)]
 
 	/* Save all the registers in the old lwp's pcb */
 #if defined(_ARM_ARCH_DWORD_OK)
-	strd	r8, r9, [r5, #(PCB_R8)]
-	strd	r10, r11, [r5, #(PCB_R10)]
-	strd	r12, r13, [r5, #(PCB_R12)]
+	strd	r8, r9, [r7, #(PCB_R8)]
+	strd	r10, r11, [r7, #(PCB_R10)]
+	strd	r12, r13, [r7, #(PCB_R12)]
 #else
-	add	r0, r5, #(PCB_R8)
+	add	r0, r7, #(PCB_R8)
 	stmia	r0, {r8-r13}
 #endif
 
@@ -216,29 +211,38 @@ ENTRY(cpu_switchto)
 	 * Save user read/write thread/process id register
 	 */
 	mrc	p15, 0, r0, c13, c0, 2
-	str	r0, [r5, #(PCB_USER_PID_RW)]
+	str	r0, [r7, #(PCB_USER_PID_RW)]
 #endif
 	/*
 	 * NOTE: We can now use r8-r13 until it is time to restore
 	 * them for the new process.
 	 */
 
-	/* rem: r3 = curcpu() */
 	/* rem: r4 = old lwp */
-	/* rem: r5 = old pcb */
+	/* rem: r5 = curcpu() */
 	/* rem: r6 = new lwp */
-	/* rem: r7 = new pcb */
 	/* rem: interrupts are enabled */
 
 	/* Restore saved context */
 
 .Ldo_switch:
-	/* rem: r3 = curcpu() */
+	/* Get the new pcb */
+	ldr	r7, [r6, #(L_PCB)]
+
 	/* rem: r4 = old lwp */
+	/* rem: r5 = curcpu() */
 	/* rem: r6 = new lwp */
 	/* rem: r7 = new pcb */
 	/* rem: interrupts are enabled */
 
+	/*
+	 * If we are switching to a system lwp, don't bother restoring
+	 * thread or vfp registers and skip the ras check.
+	 */
+	ldr	r0, [r6, #(L_FLAG)]
+	tst	r0, #(LW_SYSTEM)
+	bne	.Lswitch_do_restore
+
 #ifdef _ARM_ARCH_6
 	/*
 	 * Restore user thread/process id registers
@@ -253,14 +257,34 @@ ENTRY(cpu_switchto)
 	/*
 	 * If we have a VFP, we need to load FPEXC.
 	 */
-	ldr	r0, [r3, #(CI_VFP_ID)]
+	ldr	r0, [r5, #(CI_VFP_ID)]
 	cmp	r0, #0
 	ldrne	r0, [r7, #(PCB_VFP_FPEXC)]
 	vmsrne	fpexc, r0
 #endif
 
-	ldr	r5, [r6, #(L_PROC)]	/* fetch the proc for below */
+	/* 
+	 * Check for restartable atomic sequences (RAS).
+	 */
+
+	ldr	r0, [r6, #(L_PROC)]	

CVS commit: src/sys/arch/arm/cortex

2015-03-27 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Fri Mar 27 11:12:08 UTC 2015

Modified Files:
src/sys/arch/arm/cortex: gtmr.c

Log Message:
Whitespace


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/cortex/gtmr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/cortex/gtmr.c
diff -u src/sys/arch/arm/cortex/gtmr.c:1.13 src/sys/arch/arm/cortex/gtmr.c:1.14
--- src/sys/arch/arm/cortex/gtmr.c:1.13	Thu Mar 26 22:01:42 2015
+++ src/sys/arch/arm/cortex/gtmr.c	Fri Mar 27 11:12:08 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: gtmr.c,v 1.13 2015/03/26 22:01:42 skrll Exp $	*/
+/*	$NetBSD: gtmr.c,v 1.14 2015/03/27 11:12:08 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: gtmr.c,v 1.13 2015/03/26 22:01:42 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gtmr.c,v 1.14 2015/03/27 11:12:08 skrll Exp $");
 
 #include 
 #include 
@@ -96,7 +96,7 @@ static void
 gtmr_attach(device_t parent, device_t self, void *aux)
 {
 	struct mpcore_attach_args * const mpcaa = aux;
-struct gtmr_softc *sc = >mr_sc;
+	struct gtmr_softc *sc = >mr_sc;
 	prop_dictionary_t dict = device_properties(self);
 	char freqbuf[sizeof("X.XXX SHz")];
 



CVS commit: src/sys/netipsec

2015-03-27 Thread Ryota Ozaki
Module Name:src
Committed By:   ozaki-r
Date:   Fri Mar 27 07:47:11 UTC 2015

Modified Files:
src/sys/netipsec: xform_ipip.c

Log Message:
Remove unnecessary ifdef IPSEC


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/sys/netipsec/xform_ipip.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/netipsec/xform_ipip.c
diff -u src/sys/netipsec/xform_ipip.c:1.31 src/sys/netipsec/xform_ipip.c:1.32
--- src/sys/netipsec/xform_ipip.c:1.31	Thu Jun  5 23:48:17 2014
+++ src/sys/netipsec/xform_ipip.c	Fri Mar 27 07:47:10 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: xform_ipip.c,v 1.31 2014/06/05 23:48:17 rmind Exp $	*/
+/*	$NetBSD: xform_ipip.c,v 1.32 2015/03/27 07:47:10 ozaki-r Exp $	*/
 /*	$FreeBSD: src/sys/netipsec/xform_ipip.c,v 1.3.2.1 2003/01/24 05:11:36 sam Exp $	*/
 /*	$OpenBSD: ip_ipip.c,v 1.25 2002/06/10 18:04:55 itojun Exp $ */
 
@@ -39,7 +39,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: xform_ipip.c,v 1.31 2014/06/05 23:48:17 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xform_ipip.c,v 1.32 2015/03/27 07:47:10 ozaki-r Exp $");
 
 /*
  * IP-inside-IP processing
@@ -646,7 +646,6 @@ bad:
 	return (error);
 }
 
-#ifdef IPSEC
 static int
 ipe4_init(struct secasvar *sav, const struct xformsw *xsp)
 {
@@ -725,8 +724,6 @@ static struct ip6protosw ipe4_protosw6 =
 };
 #endif
 
-#endif /* IPSEC */
-
 /*
  * Check the encapsulated packet to see if we want it
  */



CVS commit: src/sys/dev/usb

2015-03-27 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Fri Mar 27 07:28:56 UTC 2015

Modified Files:
src/sys/dev/usb: usb_subr.c

Log Message:
Remove '\n' in panic message.


To generate a diff of this commit:
cvs rdiff -u -r1.198 -r1.199 src/sys/dev/usb/usb_subr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/usb/usb_subr.c
diff -u src/sys/dev/usb/usb_subr.c:1.198 src/sys/dev/usb/usb_subr.c:1.199
--- src/sys/dev/usb/usb_subr.c:1.198	Sun Sep 21 14:30:22 2014
+++ src/sys/dev/usb/usb_subr.c	Fri Mar 27 07:28:56 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: usb_subr.c,v 1.198 2014/09/21 14:30:22 christos Exp $	*/
+/*	$NetBSD: usb_subr.c,v 1.199 2015/03/27 07:28:56 skrll Exp $	*/
 /*	$FreeBSD: src/sys/dev/usb/usb_subr.c,v 1.18 1999/11/17 22:33:47 n_hibma Exp $	*/
 
 /*
@@ -32,7 +32,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: usb_subr.c,v 1.198 2014/09/21 14:30:22 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usb_subr.c,v 1.199 2015/03/27 07:28:56 skrll Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -1126,7 +1126,7 @@ usbd_new_device(device_t parent, usbd_bu
 goto found;
 			}
 		}
-		panic("usbd_new_device: cannot find HS port\n");
+		panic("usbd_new_device: cannot find HS port");
 	found:
 		DPRINTFN(1,("usbd_new_device: high speed port %d\n", p));
 	} else {



CVS commit: src/sys

2015-03-27 Thread Hikaru Abe
Module Name:src
Committed By:   hikaru
Date:   Fri Mar 27 07:18:11 UTC 2015

Modified Files:
src/sys/kern: subr_tftproot.c
src/sys/nfs: krpc_subr.c nfs_boot.c nfs_bootdhcp.c nfsdiskless.h

Log Message:
m_pullup() is called in rcvproc callback functions,
so nfs_boot_sendrecv() should keep track of the head of mbuf chain.
fixes kern/48746


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/kern/subr_tftproot.c
cvs rdiff -u -r1.38 -r1.39 src/sys/nfs/krpc_subr.c
cvs rdiff -u -r1.81 -r1.82 src/sys/nfs/nfs_boot.c
cvs rdiff -u -r1.52 -r1.53 src/sys/nfs/nfs_bootdhcp.c
cvs rdiff -u -r1.30 -r1.31 src/sys/nfs/nfsdiskless.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/subr_tftproot.c
diff -u src/sys/kern/subr_tftproot.c:1.13 src/sys/kern/subr_tftproot.c:1.14
--- src/sys/kern/subr_tftproot.c:1.13	Tue Aug 26 09:38:54 2014
+++ src/sys/kern/subr_tftproot.c	Fri Mar 27 07:18:11 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: subr_tftproot.c,v 1.13 2014/08/26 09:38:54 manu Exp $ */
+/*	$NetBSD: subr_tftproot.c,v 1.14 2015/03/27 07:18:11 hikaru Exp $ */
 
 /*-
  * Copyright (c) 2007 Emmanuel Dreyfus, all rights reserved.
@@ -39,7 +39,7 @@
 #include "opt_md.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: subr_tftproot.c,v 1.13 2014/08/26 09:38:54 manu Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_tftproot.c,v 1.14 2015/03/27 07:18:11 hikaru Exp $");
 
 #include 
 #include 
@@ -118,7 +118,7 @@ struct tftproot_handle {
 int tftproot_dhcpboot(device_t);
 
 static int tftproot_getfile(struct tftproot_handle *, struct lwp *);
-static int tftproot_recv(struct mbuf *, void *);
+static int tftproot_recv(struct mbuf **, void *);
 
 int
 tftproot_dhcpboot(device_t bootdv)
@@ -350,10 +350,11 @@ out:
 }
 
 static int
-tftproot_recv(struct mbuf *m, void *ctx)
+tftproot_recv(struct mbuf **mp, void *ctx)
 {
 	struct tftproot_handle *trh = ctx;
 	struct tftphdr *tftp;
+	struct mbuf *m = *mp;
 	size_t newlen;
 	size_t hdrlen = sizeof(*tftp) - sizeof(tftp->th_data);
 
@@ -380,7 +381,7 @@ tftproot_recv(struct mbuf *m, void *ctx)
 	 * Examine the TFTP header
 	 */
 	if (m->m_len > sizeof(*tftp)) {
-		if ((m = m_pullup(m, sizeof(*tftp))) == NULL) {
+		if ((m = *mp = m_pullup(m, sizeof(*tftp))) == NULL) {
 			DPRINTF(("%s():%d m_pullup failed\n",
 			__func__, __LINE__));
 			return -1;

Index: src/sys/nfs/krpc_subr.c
diff -u src/sys/nfs/krpc_subr.c:1.38 src/sys/nfs/krpc_subr.c:1.39
--- src/sys/nfs/krpc_subr.c:1.38	Fri Mar  6 19:03:30 2015
+++ src/sys/nfs/krpc_subr.c	Fri Mar 27 07:18:11 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: krpc_subr.c,v 1.38 2015/03/06 19:03:30 maxv Exp $	*/
+/*	$NetBSD: krpc_subr.c,v 1.39 2015/03/27 07:18:11 hikaru Exp $	*/
 
 /*
  * Copyright (c) 1995 Gordon Ross, Adam Glass
@@ -43,7 +43,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: krpc_subr.c,v 1.38 2015/03/06 19:03:30 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: krpc_subr.c,v 1.39 2015/03/27 07:18:11 hikaru Exp $");
 
 #include 
 #include 
@@ -124,7 +124,7 @@ struct rpc_reply {
 
 #define MIN_REPLY_HDR 16	/* xid, dir, astat, errno */
 
-static int krpccheck(struct mbuf*, void*);
+static int krpccheck(struct mbuf**, void*);
 
 /*
  * Call portmap to lookup a port number for a particular rpc program
@@ -183,15 +183,16 @@ krpc_portmap(struct sockaddr_in *sin, u_
 	return 0;
 }
 
-static int krpccheck(struct mbuf *m, void *context)
+static int krpccheck(struct mbuf **mp, void *context)
 {
 	struct rpc_reply *reply;
+	struct mbuf *m = *mp;
 
 	/* Does the reply contain at least a header? */
 	if (m->m_pkthdr.len < MIN_REPLY_HDR)
 		return(-1);
 	if (m->m_len < sizeof(struct rpc_reply)) {
-		m = m_pullup(m, sizeof(struct rpc_reply));
+		m = *mp = m_pullup(m, sizeof(struct rpc_reply));
 		if (m == NULL)
 			return(-1);
 	}

Index: src/sys/nfs/nfs_boot.c
diff -u src/sys/nfs/nfs_boot.c:1.81 src/sys/nfs/nfs_boot.c:1.82
--- src/sys/nfs/nfs_boot.c:1.81	Fri Oct 25 20:46:29 2013
+++ src/sys/nfs/nfs_boot.c	Fri Mar 27 07:18:11 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: nfs_boot.c,v 1.81 2013/10/25 20:46:29 martin Exp $	*/
+/*	$NetBSD: nfs_boot.c,v 1.82 2015/03/27 07:18:11 hikaru Exp $	*/
 
 /*-
  * Copyright (c) 1995, 1997 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nfs_boot.c,v 1.81 2013/10/25 20:46:29 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nfs_boot.c,v 1.82 2015/03/27 07:18:11 hikaru Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_nfs.h"
@@ -432,7 +432,7 @@ int
 nfs_boot_sendrecv(struct socket *so, struct mbuf *nam,
 		int (*sndproc)(struct mbuf *, void *, int),
 		struct mbuf *snd,
-		int (*rcvproc)(struct mbuf *, void *),
+		int (*rcvproc)(struct mbuf **, void *),
 		struct mbuf **rcv, struct mbuf **from_p,
 		void *context, struct lwp *lwp)
 {
@@ -510,7 +510,7 @@ send_again:
 			panic("nfs_boot_sendrecv: return size");
 #endif
 
-		if ((*rcvproc)(m, context))
+		if ((*rcvproc)(&m, context))
 			continue;