CVS commit: src/bin/sh

2017-06-04 Thread Robert Elz
Module Name:src
Committed By:   kre
Date:   Mon Jun  5 02:15:55 UTC 2017

Modified Files:
src/bin/sh: expand.c

Log Message:
Another arithmetic expansion recordregion() fix, this time
calculate the lenght (used to calculate the end) based upon the
correct starting point.

Thanks to John Klos for finding and reporting this one.


To generate a diff of this commit:
cvs rdiff -u -r1.111 -r1.112 src/bin/sh/expand.c

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

Modified files:

Index: src/bin/sh/expand.c
diff -u src/bin/sh/expand.c:1.111 src/bin/sh/expand.c:1.112
--- src/bin/sh/expand.c:1.111	Sun Jun  4 23:40:31 2017
+++ src/bin/sh/expand.c	Mon Jun  5 02:15:55 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: expand.c,v 1.111 2017/06/04 23:40:31 kre Exp $	*/
+/*	$NetBSD: expand.c,v 1.112 2017/06/05 02:15:55 kre Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)expand.c	8.5 (Berkeley) 5/15/95";
 #else
-__RCSID("$NetBSD: expand.c,v 1.111 2017/06/04 23:40:31 kre Exp $");
+__RCSID("$NetBSD: expand.c,v 1.112 2017/06/05 02:15:55 kre Exp $");
 #endif
 #endif /* not lint */
 
@@ -159,6 +159,7 @@ expandarg(union node *arg, struct arglis
 	struct strlist *sp;
 	char *p;
 
+	CTRACE(DBG_EXPAND, ("expandarg(fl=%#x)\n", flag));
 	if (fflag)		/* no filename expandsion */
 		flag &= ~EXP_GLOB;
 
@@ -169,9 +170,13 @@ expandarg(union node *arg, struct arglis
 	argstr(arg->narg.text, flag);
 	if (arglist == NULL) {
 		STACKSTRNUL(expdest);
+		CTRACE(DBG_EXPAND, ("expandarg: no arglist, done (%d) \"%s\"\n",
+		expdest - stackblock(), stackblock()));
 		return;			/* here document expanded */
 	}
 	STPUTC('\0', expdest);
+	CTRACE(DBG_EXPAND, ("expandarg: arglist got (%d) \"%s\"\n",
+		expdest - stackblock() - 1, stackblock()));
 	p = grabstackstr(expdest);
 	exparg.lastp = 
 	/*
@@ -343,7 +348,7 @@ exptilde(const char *p, int flag)
  done:
 	STACKSTRNUL(user);
 
-	CTRACE(DBG_EXPAND, ("exptilde, found \"~%s\" :", expdest));
+	CTRACE(DBG_EXPAND, ("exptilde, found \"%s\" :", expdest));
 	if (*expdest == '\0')
 		home = lookupvar("HOME");
 	else if ((pw = getpwnam(expdest)) == NULL)
@@ -368,10 +373,15 @@ exptilde(const char *p, int flag)
 STATIC void 
 removerecordregions(int endoff)
 {
-	if (ifslastp == NULL)
+
+	VTRACE(DBG_EXPAND, ("removerecordregions(%d):", endoff));
+	if (ifslastp == NULL) {
+		VTRACE(DBG_EXPAND, (" none\n", endoff));
 		return;
+	}
 
 	if (ifsfirst.endoff > endoff) {
+		VTRACE(DBG_EXPAND, (" first(%d)", ifsfirst.endoff));
 		while (ifsfirst.next != NULL) {
 			struct ifsregion *ifsp;
 			INTOFF;
@@ -383,15 +393,18 @@ removerecordregions(int endoff)
 		if (ifsfirst.begoff > endoff)
 			ifslastp = NULL;
 		else {
+			VTRACE(DBG_EXPAND,("->(%d,%d)",ifsfirst.begoff,endoff));
 			ifslastp = 
 			ifsfirst.endoff = endoff;
 		}
+		VTRACE(DBG_EXPAND, ("\n"));
 		return;
 	}
 
 	ifslastp = 
 	while (ifslastp->next && ifslastp->next->begoff < endoff)
 		ifslastp=ifslastp->next;
+	VTRACE(DBG_EXPAND, (" found(%d,%d)", ifslastp->begoff,ifslastp->endoff));
 	while (ifslastp->next != NULL) {
 		struct ifsregion *ifsp;
 		INTOFF;
@@ -402,6 +415,7 @@ removerecordregions(int endoff)
 	}
 	if (ifslastp->endoff > endoff)
 		ifslastp->endoff = endoff;
+	VTRACE(DBG_EXPAND, ("->(%d,%d)", ifslastp->begoff,ifslastp->endoff));
 }
 
 
@@ -484,7 +498,7 @@ expari(const char *p, int flag)
 		;
 
 	if (quoted == 0)			/* allow weird splitting */
-		recordregion(begoff, begoff + q - 1 - start, 0);
+		recordregion(begoff, begoff + q - 1 - expdest, 0);
 	adjustment = q - expdest - 1;
 	STADJUST(adjustment, expdest);
 	VTRACE(DBG_EXPAND, ("expari: adding %d ed \"%.*s\", "
@@ -1106,6 +1120,7 @@ recordregion(int start, int end, int inq
 {
 	struct ifsregion *ifsp;
 
+	VTRACE(DBG_EXPAND, ("recordregion(%d,%d,%d)\n", start, end, inquotes));
 	if (ifslastp == NULL) {
 		ifsp = 
 	} else {



CVS commit: src/sys/ufs/lfs

2017-06-04 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Mon Jun  5 01:29:21 UTC 2017

Modified Files:
src/sys/ufs/lfs: lfs_inode.c lfs_pages.c lfs_vnops.c

Log Message:
Correct confusion between i_flag and i_flags
These will have to be renamed.

Spotted by Riastradh, thanks!


To generate a diff of this commit:
cvs rdiff -u -r1.155 -r1.156 src/sys/ufs/lfs/lfs_inode.c
cvs rdiff -u -r1.12 -r1.13 src/sys/ufs/lfs/lfs_pages.c
cvs rdiff -u -r1.315 -r1.316 src/sys/ufs/lfs/lfs_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/lfs_inode.c
diff -u src/sys/ufs/lfs/lfs_inode.c:1.155 src/sys/ufs/lfs/lfs_inode.c:1.156
--- src/sys/ufs/lfs/lfs_inode.c:1.155	Sat Apr  1 00:40:42 2017
+++ src/sys/ufs/lfs/lfs_inode.c	Mon Jun  5 01:29:21 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_inode.c,v 1.155 2017/04/01 00:40:42 maya Exp $	*/
+/*	$NetBSD: lfs_inode.c,v 1.156 2017/06/05 01:29:21 maya Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: lfs_inode.c,v 1.155 2017/04/01 00:40:42 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_inode.c,v 1.156 2017/06/05 01:29:21 maya Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_quota.h"
@@ -592,8 +592,8 @@ done:
 	/*
 	 * If we truncated to zero, take us off the paging queue.
 	 */
-	if (oip->i_size == 0 && oip->i_flags & IN_PAGING) {
-		oip->i_flags &= ~IN_PAGING;
+	if (oip->i_size == 0 && oip->i_flag & IN_PAGING) {
+		oip->i_flag &= ~IN_PAGING;
 		TAILQ_REMOVE(>lfs_pchainhd, oip, i_lfs_pchain);
 	}
 	mutex_exit(_lock);

Index: src/sys/ufs/lfs/lfs_pages.c
diff -u src/sys/ufs/lfs/lfs_pages.c:1.12 src/sys/ufs/lfs/lfs_pages.c:1.13
--- src/sys/ufs/lfs/lfs_pages.c:1.12	Sun Jun  4 08:05:42 2017
+++ src/sys/ufs/lfs/lfs_pages.c	Mon Jun  5 01:29:21 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_pages.c,v 1.12 2017/06/04 08:05:42 hannken Exp $	*/
+/*	$NetBSD: lfs_pages.c,v 1.13 2017/06/05 01:29:21 maya Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: lfs_pages.c,v 1.12 2017/06/04 08:05:42 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_pages.c,v 1.13 2017/06/05 01:29:21 maya Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -506,8 +506,8 @@ retry:
 		
 		/* Remove us from paging queue, if we were on it */
 		mutex_enter(_lock);
-		if (ip->i_flags & IN_PAGING) {
-			ip->i_flags &= ~IN_PAGING;
+		if (ip->i_flag & IN_PAGING) {
+			ip->i_flag &= ~IN_PAGING;
 			TAILQ_REMOVE(>lfs_pchainhd, ip, i_lfs_pchain);
 		}
 		mutex_exit(_lock);
@@ -688,8 +688,8 @@ retry:
 	if (pagedaemon) {
 		mutex_exit(vp->v_interlock);
 		mutex_enter(_lock);
-		if (!(ip->i_flags & IN_PAGING)) {
-			ip->i_flags |= IN_PAGING;
+		if (!(ip->i_flag & IN_PAGING)) {
+			ip->i_flag |= IN_PAGING;
 			TAILQ_INSERT_TAIL(>lfs_pchainhd, ip, i_lfs_pchain);
 		}
 		cv_broadcast(_writerd_cv);
@@ -898,8 +898,8 @@ retry:
 	 */
 	if (origendoffset == 0 || ap->a_flags & PGO_ALLPAGES) {
 		mutex_enter(_lock);
-		if (ip->i_flags & IN_PAGING) {
-			ip->i_flags &= ~IN_PAGING;
+		if (ip->i_flag & IN_PAGING) {
+			ip->i_flag &= ~IN_PAGING;
 			TAILQ_REMOVE(>lfs_pchainhd, ip, i_lfs_pchain);
 		}
 		mutex_exit(_lock);

Index: src/sys/ufs/lfs/lfs_vnops.c
diff -u src/sys/ufs/lfs/lfs_vnops.c:1.315 src/sys/ufs/lfs/lfs_vnops.c:1.316
--- src/sys/ufs/lfs/lfs_vnops.c:1.315	Fri May 26 14:21:02 2017
+++ src/sys/ufs/lfs/lfs_vnops.c	Mon Jun  5 01:29:21 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_vnops.c,v 1.315 2017/05/26 14:21:02 riastradh Exp $	*/
+/*	$NetBSD: lfs_vnops.c,v 1.316 2017/06/05 01:29:21 maya Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -125,7 +125,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.315 2017/05/26 14:21:02 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.316 2017/06/05 01:29:21 maya Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -461,8 +461,8 @@ lfs_fsync(void *v)
 	if (ap->a_flags & FSYNC_LAZY) {
 		if (lfs_ignore_lazy_sync == 0) {
 			mutex_enter(_lock);
-			if (!(ip->i_flags & IN_PAGING)) {
-ip->i_flags |= IN_PAGING;
+			if (!(ip->i_flag & IN_PAGING)) {
+ip->i_flag |= IN_PAGING;
 TAILQ_INSERT_TAIL(>lfs_pchainhd, ip,
 		  i_lfs_pchain);
 			}
@@ -477,7 +477,7 @@ lfs_fsync(void *v)
 	 * reuse it.  This prevents the cleaner from writing files twice
 	 * in the same partial segment, causing an accounting underflow.
 	 */
-	if (ap->a_flags & FSYNC_RECLAIM && ip->i_flags & IN_CLEANING) {
+	if (ap->a_flags & FSYNC_RECLAIM && ip->i_flag & IN_CLEANING) {
 		lfs_vflush(vp);
 	}
 
@@ -1446,10 +1446,10 @@ lfs_reclaim(void *v)
 	 * We shouldn't be on them.
 	 */
 	mutex_enter(_lock);
-	if (ip->i_flags & IN_PAGING) {
+	if (ip->i_flag & IN_PAGING) {
 		log(LOG_WARNING, "%s: reclaimed vnode is IN_PAGING\n",
 		

CVS commit: src/sys/ufs/lfs

2017-06-04 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Mon Jun  5 01:01:42 UTC 2017

Modified Files:
src/sys/ufs/lfs: lfs.h lfs_inode.h

Log Message:
Move definition of IN_ALLMOD near the flag it's a mask for.

Now we can see that it doesn't match all the flags, but changing that will
require more careful thought.


To generate a diff of this commit:
cvs rdiff -u -r1.201 -r1.202 src/sys/ufs/lfs/lfs.h
cvs rdiff -u -r1.19 -r1.20 src/sys/ufs/lfs/lfs_inode.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/lfs/lfs.h
diff -u src/sys/ufs/lfs/lfs.h:1.201 src/sys/ufs/lfs/lfs.h:1.202
--- src/sys/ufs/lfs/lfs.h:1.201	Sat Apr  1 14:43:00 2017
+++ src/sys/ufs/lfs/lfs.h	Mon Jun  5 01:01:42 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs.h,v 1.201 2017/04/01 14:43:00 maya Exp $	*/
+/*	$NetBSD: lfs.h,v 1.202 2017/06/05 01:01:42 maya Exp $	*/
 
 /*  from NetBSD: dinode.h,v 1.25 2016/01/22 23:06:10 dholland Exp  */
 /*  from NetBSD: dir.h,v 1.25 2015/09/01 06:16:03 dholland Exp  */
@@ -511,13 +511,6 @@ union lfs_dinode {
 #define LFS_UNUSED_LBN	-1
 
 /*
- * "struct inode" associated definitions
- */
-
-/* For convenience */
-#define IN_ALLMOD (IN_MODIFIED|IN_ACCESS|IN_CHANGE|IN_UPDATE|IN_MODIFY|IN_ACCESSED|IN_CLEANING)
-
-/*
  * On-disk and in-memory checkpoint segment usage structure.
  */
 typedef struct segusage SEGUSE;

Index: src/sys/ufs/lfs/lfs_inode.h
diff -u src/sys/ufs/lfs/lfs_inode.h:1.19 src/sys/ufs/lfs/lfs_inode.h:1.20
--- src/sys/ufs/lfs/lfs_inode.h:1.19	Thu Apr  6 03:21:01 2017
+++ src/sys/ufs/lfs/lfs_inode.h	Mon Jun  5 01:01:42 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_inode.h,v 1.19 2017/04/06 03:21:01 maya Exp $	*/
+/*	$NetBSD: lfs_inode.h,v 1.20 2017/06/05 01:01:42 maya Exp $	*/
 /*  from NetBSD: ulfs_inode.h,v 1.5 2013/06/06 00:51:50 dholland Exp  */
 /*  from NetBSD: inode.h,v 1.72 2016/06/03 15:36:03 christos Exp  */
 
@@ -170,6 +170,8 @@ struct inode {
 #define	IN_PAGING   0x1000		/* LFS: file is on paging queue */
 #define IN_CDIROP   0x4000  /* LFS: dirop completed pending i/o */
 
+#define IN_ALLMOD (IN_MODIFIED|IN_ACCESS|IN_CHANGE|IN_UPDATE|IN_MODIFY|IN_ACCESSED|IN_CLEANING)
+
 /*
  * LFS inode extensions.
  */



CVS commit: src/bin/sh

2017-06-04 Thread Robert Elz
Module Name:src
Committed By:   kre
Date:   Sun Jun  4 23:40:31 UTC 2017

Modified Files:
src/bin/sh: expand.c

Log Message:
PR bin/52272 - fix an off-by one that broke ~ expansions.


To generate a diff of this commit:
cvs rdiff -u -r1.110 -r1.111 src/bin/sh/expand.c

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

Modified files:

Index: src/bin/sh/expand.c
diff -u src/bin/sh/expand.c:1.110 src/bin/sh/expand.c:1.111
--- src/bin/sh/expand.c:1.110	Sat Jun  3 21:52:05 2017
+++ src/bin/sh/expand.c	Sun Jun  4 23:40:31 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: expand.c,v 1.110 2017/06/03 21:52:05 kre Exp $	*/
+/*	$NetBSD: expand.c,v 1.111 2017/06/04 23:40:31 kre Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)expand.c	8.5 (Berkeley) 5/15/95";
 #else
-__RCSID("$NetBSD: expand.c,v 1.110 2017/06/03 21:52:05 kre Exp $");
+__RCSID("$NetBSD: expand.c,v 1.111 2017/06/04 23:40:31 kre Exp $");
 #endif
 #endif /* not lint */
 
@@ -321,7 +321,7 @@ exptilde(const char *p, int flag)
 	char *user;
 
 	user = expdest;		/* we will just borrow top of stack */
-	while ((c = *p) != '\0') {
+	while ((c = *++p) != '\0') {
 		switch(c) {
 		case CTLESC:
 		case CTLVAR:
@@ -339,7 +339,6 @@ exptilde(const char *p, int flag)
 			goto done;
 		}
 		STPUTC(c, user);
-		p++;
 	}
  done:
 	STACKSTRNUL(user);



CVS commit: src/sys/dev

2017-06-04 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Jun  4 23:34:55 UTC 2017

Modified Files:
src/sys/dev/hdaudio: hdaudio.c
src/sys/dev/pci: hdaudio_pci.c

Log Message:
Move the hdaudio_cd out of the hdaudio_pci module and into the main
hdaudio module.  Rearrange the inter-module dependencies accordingly.

Should resolve (my) PR kern/49836

XXX Pull-ups needed for netbsd-8 branch


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/dev/hdaudio/hdaudio.c
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/pci/hdaudio_pci.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/hdaudio/hdaudio.c
diff -u src/sys/dev/hdaudio/hdaudio.c:1.4 src/sys/dev/hdaudio/hdaudio.c:1.5
--- src/sys/dev/hdaudio/hdaudio.c:1.4	Wed Dec 23 12:45:06 2015
+++ src/sys/dev/hdaudio/hdaudio.c	Sun Jun  4 23:34:55 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: hdaudio.c,v 1.4 2015/12/23 12:45:06 jmcneill Exp $ */
+/* $NetBSD: hdaudio.c,v 1.5 2017/06/04 23:34:55 pgoyette Exp $ */
 
 /*
  * Copyright (c) 2009 Precedence Technologies Ltd 
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: hdaudio.c,v 1.4 2015/12/23 12:45:06 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hdaudio.c,v 1.5 2017/06/04 23:34:55 pgoyette Exp $");
 
 #include 
 #include 
@@ -1602,7 +1602,18 @@ hdaudioioctl(dev_t dev, u_long cmd, void
 	return err;
 }
 
-MODULE(MODULE_CLASS_DRIVER, hdaudio, NULL);
+MODULE(MODULE_CLASS_DRIVER, hdaudio, "audio");
+#ifdef _MODULE
+static const struct cfiattrdata hdaudiobuscf_iattrdata = {
+"hdaudiobus", 1, {
+{ "nid", "-1", -1 },
+}
+};
+static const struct cfiattrdata * const hdaudio_attrs[] = {
+	_iattrdata, NULL
+};
+CFDRIVER_DECL(hdaudio, DV_AUDIODEV, hdaudio_attrs);
+#endif
 
 static int
 hdaudio_modcmd(modcmd_t cmd, void *opaque)
@@ -1617,16 +1628,30 @@ hdaudio_modcmd(modcmd_t cmd, void *opaqu
 #ifdef _MODULE
 		error = devsw_attach("hdaudio", NULL, ,
 		_cdevsw, );
+		if (error)
+			break;
+		error = config_cfdriver_attach(_cd);
+		if (error)
+			devsw_detach(NULL, _cdevsw);
 #endif
-		return error;
+		break;
 	case MODULE_CMD_FINI:
 #ifdef _MODULE
-		devsw_detach(NULL, _cdevsw);
+		error = config_cfdriver_detach(_cd);
+		if (error)
+			break;
+		error = devsw_detach(NULL, _cdevsw);
+		if (error) {
+			config_cfdriver_attach(_cd);
+			break;
+		}
 #endif
-		return 0;
+		break;
 	default:
-		return ENOTTY;
+		error = ENOTTY;
+		break;
 	}
+	return error;
 }
 
 DEV_VERBOSE_DEFINE(hdaudio);

Index: src/sys/dev/pci/hdaudio_pci.c
diff -u src/sys/dev/pci/hdaudio_pci.c:1.7 src/sys/dev/pci/hdaudio_pci.c:1.8
--- src/sys/dev/pci/hdaudio_pci.c:1.7	Thu Apr 27 10:01:54 2017
+++ src/sys/dev/pci/hdaudio_pci.c	Sun Jun  4 23:34:55 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: hdaudio_pci.c,v 1.7 2017/04/27 10:01:54 msaitoh Exp $ */
+/* $NetBSD: hdaudio_pci.c,v 1.8 2017/06/04 23:34:55 pgoyette Exp $ */
 
 /*
  * Copyright (c) 2009 Precedence Technologies Ltd 
@@ -34,7 +34,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: hdaudio_pci.c,v 1.7 2017/04/27 10:01:54 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hdaudio_pci.c,v 1.8 2017/06/04 23:34:55 pgoyette Exp $");
 
 #include 
 #include 
@@ -269,27 +269,41 @@ hdaudio_pci_resume(device_t self, const 
 	return hdaudio_resume(>sc_hdaudio);
 }
 
-MODULE(MODULE_CLASS_DRIVER, hdaudio_pci, "hdaudio");
+MODULE(MODULE_CLASS_DRIVER, hdaudio_pci, "pci,hdaudio,audio");
 
 #ifdef _MODULE
+/*
+ * XXX Don't allow ioconf.c to redefine the "struct cfdriver hdaudio_cd"
+ * XXX it will be defined in the common hdaudio module
+ */
+
+#undef CFDRIVER_DECL
+#define CFDRIVER_DECL(name, class, attr) /* nothing */
 #include "ioconf.c"
 #endif
 
 static int
 hdaudio_pci_modcmd(modcmd_t cmd, void *opaque)
 {
+#ifdef _MODULE
+	/*
+	 * We ignore the cfdriver_vec[] that ioconf provides, since
+	 * the cfdrivers are attached already.
+	 */
+	static struct cfdriver * const no_cfdriver_vec[] = { NULL };
+#endif
 	int error = 0;
 
 	switch (cmd) {
 	case MODULE_CMD_INIT:
 #ifdef _MODULE
-		error = config_init_component(cfdriver_ioconf_hdaudio_pci,
+		error = config_init_component(no_cfdriver_vec,
 		cfattach_ioconf_hdaudio_pci, cfdata_ioconf_hdaudio_pci);
 #endif
 		return error;
 	case MODULE_CMD_FINI:
 #ifdef _MODULE
-		error = config_fini_component(cfdriver_ioconf_hdaudio_pci,
+		error = config_fini_component(no_cfdriver_vec,
 		cfattach_ioconf_hdaudio_pci, cfdata_ioconf_hdaudio_pci);
 #endif
 		return error;



CVS commit: src/external/bsd/lutok/lib/liblutok

2017-06-04 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Jun  4 21:03:21 UTC 2017

Modified Files:
src/external/bsd/lutok/lib/liblutok: Makefile

Log Message:
allow build to proceed despite system header warnings.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/bsd/lutok/lib/liblutok/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/lutok/lib/liblutok/Makefile
diff -u src/external/bsd/lutok/lib/liblutok/Makefile:1.4 src/external/bsd/lutok/lib/liblutok/Makefile:1.5
--- src/external/bsd/lutok/lib/liblutok/Makefile:1.4	Fri Oct 18 19:36:10 2013
+++ src/external/bsd/lutok/lib/liblutok/Makefile	Sun Jun  4 17:03:20 2017
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.4 2013/10/18 23:36:10 jmmv Exp $
+# $NetBSD: Makefile,v 1.5 2017/06/04 21:03:20 christos Exp $
 
 #NOLINT=		# defined
 
@@ -13,7 +13,7 @@ LIBDPLIBS+= m	${.CURDIR}/../../../..
 SRCDIR=		${NETBSDSRCDIR}/external/bsd/lutok/dist
 .PATH:		${SRCDIR}
 
-CPPFLAGS+=	-I${.CURDIR}
+CPPFLAGS+=	-I${.CURDIR} -I${SRCDIR}
 CPPFLAGS+=	-I.
 
 CPPFLAGS+=	-DHAVE_CONFIG_H
@@ -40,6 +40,7 @@ INCSDIR=	/usr/include/lutok
 .if ${MKSHARE} != "no"
 FILES+=		lutok.pc
 FILESDIR=	/usr/lib/pkgconfig
+COPTS+=		-Wno-error=ctor-dtor-privacy -Wno-error=unused-local-typedefs
 
 realall: lutok.pc
 lutok.pc: Makefile lutok.pc.in



CVS commit: [netbsd-8] src/doc

2017-06-04 Thread Manuel Bouyer
Module Name:src
Committed By:   bouyer
Date:   Sun Jun  4 20:47:25 UTC 2017

Modified Files:
src/doc [netbsd-8]: CHANGES-8.0

Log Message:
tickets #3 & 4


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/doc/CHANGES-8.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-8.0
diff -u src/doc/CHANGES-8.0:1.1.2.2 src/doc/CHANGES-8.0:1.1.2.3
--- src/doc/CHANGES-8.0:1.1.2.2	Sun Jun  4 20:35:45 2017
+++ src/doc/CHANGES-8.0	Sun Jun  4 20:47:25 2017
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-8.0,v 1.1.2.2 2017/06/04 20:35:45 bouyer Exp $
+# $NetBSD: CHANGES-8.0,v 1.1.2.3 2017/06/04 20:47:25 bouyer Exp $
 
 A complete list of changes from the initial NetBSD 8.0 branch on 2017-06-04
 until the 8.0 release:
@@ -51,3 +51,21 @@ src/sys/ufs/lfs/lfs_pages.c			1.12
 	  remove now unused FSTRANS state "FSTRANS_SUSPENDING".
 	[hannken, ticket #2]
 
+sys/dev/ic/pl181.c1.4
+sys/dev/sdmmc/sdmmc_mem.c			1.57
+sys/dev/sdmmc/sdmmcvar.h			1.24
+
+	Give a hint to controllers in the command flags if we are performing a
+	transfer with an SDHC capable card. If the controller needs to adjust
+	command args, it can use this hint to understand how it is encoded.
+
+	Re-introduce support for multi-block transfers and split transfers to
+	fit within the 65535-byte limit.
+	[jmcneill, ticket #3]
+
+sys/arch/evbarm/vexpress/vexpress_start.S	1.5
+
+	Add a 1MB mapping to the MMU init table to cover the FDT blob in
+	case the bootloader places it beyond the init mem size.
+	[jmcneill, ticket #4]
+



CVS commit: [netbsd-8] src/sys/arch/evbarm/vexpress

2017-06-04 Thread Manuel Bouyer
Module Name:src
Committed By:   bouyer
Date:   Sun Jun  4 20:46:54 UTC 2017

Modified Files:
src/sys/arch/evbarm/vexpress [netbsd-8]: vexpress_start.S

Log Message:
Pull up following revision(s) (requested by jmcneill in ticket #4):
sys/arch/evbarm/vexpress/vexpress_start.S: revision 1.5
Add a 1MB mapping to the MMU init table to cover the FDT blob in case the
bootloader places it beyond the init mem size.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.4.2.1 src/sys/arch/evbarm/vexpress/vexpress_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/vexpress/vexpress_start.S
diff -u src/sys/arch/evbarm/vexpress/vexpress_start.S:1.4 src/sys/arch/evbarm/vexpress/vexpress_start.S:1.4.2.1
--- src/sys/arch/evbarm/vexpress/vexpress_start.S:1.4	Fri Jun  2 20:16:05 2017
+++ src/sys/arch/evbarm/vexpress/vexpress_start.S	Sun Jun  4 20:46:54 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: vexpress_start.S,v 1.4 2017/06/02 20:16:05 jmcneill Exp $	*/
+/*	$NetBSD: vexpress_start.S,v 1.4.2.1 2017/06/04 20:46:54 bouyer Exp $	*/
 
 /*-
  * Copyright (c) 2015 The NetBSD Foundation, Inc.
@@ -40,7 +40,7 @@
 
 #include 
 
-RCSID("$NetBSD: vexpress_start.S,v 1.4 2017/06/02 20:16:05 jmcneill Exp $")
+RCSID("$NetBSD: vexpress_start.S,v 1.4.2.1 2017/06/04 20:46:54 bouyer Exp $")
 
 #ifdef VERBOSE_INIT_ARM
 #define	XPUTC(n)	mov r0, n; bl xputc
@@ -50,7 +50,7 @@ RCSID("$NetBSD: vexpress_start.S,v 1.4 2
 #define	XPUTC2(n)
 #endif
 
-#define	INIT_MEMSIZE	128
+#define	INIT_MEMSIZE	64
 #define	TEMP_L1_TABLE	(KERNEL_BASE - KERNEL_BASE_VOFFSET + INIT_MEMSIZE * L1_S_SIZE - L1_TABLE_SIZE)
 
 #define	MD_CPU_HATCH	_C_LABEL(arm_fdt_cpu_hatch)
@@ -76,6 +76,18 @@ _C_LABEL(vexpress_start):
 	sub	r4, r4, #KERNEL_BASE_VOFFSET
 	stmia	r4, {r0-r3}
 
+	/* Add DTB PA (1MB) from r2 to MMU init table */
+	movw	r3, #:lower16:(L1_S_SIZE - 1)		/* align DTB PA to 1M */
+	movt	r3, #:upper16:(L1_S_SIZE - 1)
+	bic	r0, r2, r3
+	orr	r0, r0, #1/* 1MB mapping */
+	bic	r1, r2, r3
+	movw	r3, #:lower16:(L1_S_PROTO_armv7|L1_S_APv7_KRW|L1_S_CACHEABLE)
+	movt	r3, #:upper16:(L1_S_PROTO_armv7|L1_S_APv7_KRW|L1_S_CACHEABLE)
+	orr	r1, r1, r3
+	adr	r3, .Lmmu_init_table_dtb		/* table entry addr */
+	stmia	r3, {r0-r1}/* patch table entry */
+
 	XPUTC('a')
 
 	bl	cortex_init
@@ -154,6 +166,10 @@ xputc:
 		VEXPRESS_GIC_SIZE / L1_S_SIZE,
 		L1_S_PROTO_armv7 | L1_S_APv7_KRW | L1_S_V6_XN)
 
+	/* Map DTB location in SDRAM, patched in later */
+.Lmmu_init_table_dtb:
+	MMU_INIT(0, 0, 0, 0)
+
 /* end of table */
 MMU_INIT(0, 0, 0, 0)
 



CVS commit: [netbsd-8] src/sys/dev

2017-06-04 Thread Manuel Bouyer
Module Name:src
Committed By:   bouyer
Date:   Sun Jun  4 20:45:54 UTC 2017

Modified Files:
src/sys/dev/ic [netbsd-8]: pl181.c
src/sys/dev/sdmmc [netbsd-8]: sdmmc_mem.c sdmmcvar.h

Log Message:
Pull up following revision(s) (requested by jmcneill in ticket #3):
sys/dev/sdmmc/sdmmcvar.h: revision 1.24
sys/dev/sdmmc/sdmmc_mem.c: revision 1.57
sys/dev/ic/pl181.c: revision 1.4
Give a hint to controllers in the command flags if we are performing a
transfer with an SDHC capable card. If the controller needs to adjust
command args, it can use this hint to understand how it is encoded.
Re-introduce support for multi-block transfers and split transfers to fit
within the 65535-byte limit.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.3.2.1 src/sys/dev/ic/pl181.c
cvs rdiff -u -r1.56 -r1.56.4.1 src/sys/dev/sdmmc/sdmmc_mem.c
cvs rdiff -u -r1.23 -r1.23.6.1 src/sys/dev/sdmmc/sdmmcvar.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/ic/pl181.c
diff -u src/sys/dev/ic/pl181.c:1.3 src/sys/dev/ic/pl181.c:1.3.2.1
--- src/sys/dev/ic/pl181.c:1.3	Fri Jun  2 11:01:15 2017
+++ src/sys/dev/ic/pl181.c	Sun Jun  4 20:45:54 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: pl181.c,v 1.3 2017/06/02 11:01:15 jmcneill Exp $ */
+/* $NetBSD: pl181.c,v 1.3.2.1 2017/06/04 20:45:54 bouyer Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: pl181.c,v 1.3 2017/06/02 11:01:15 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pl181.c,v 1.3.2.1 2017/06/04 20:45:54 bouyer Exp $");
 
 #include 
 #include 
@@ -43,6 +43,12 @@ __KERNEL_RCSID(0, "$NetBSD: pl181.c,v 1.
 #include 
 #include 
 
+/*
+ * Data length register is 16 bits for a maximum of 65535 bytes. Round
+ * maximum transfer size down to the nearest sector.
+ */
+#define	PLMMC_MAXXFER	rounddown(65535, SDMMC_SECTOR_SIZE)
+
 static int	plmmc_host_reset(sdmmc_chipset_handle_t);
 static uint32_t	plmmc_host_ocr(sdmmc_chipset_handle_t);
 static int	plmmc_host_maxblklen(sdmmc_chipset_handle_t);
@@ -61,7 +67,7 @@ static int	plmmc_wait_status(struct plmm
 static int	plmmc_pio_wait(struct plmmc_softc *,
  struct sdmmc_command *);
 static int	plmmc_pio_transfer(struct plmmc_softc *,
- struct sdmmc_command *);
+ struct sdmmc_command *, int);
 
 static struct sdmmc_chip_functions plmmc_chip_functions = {
 	.host_reset = plmmc_host_reset,
@@ -119,7 +125,7 @@ plmmc_init(struct plmmc_softc *sc)
 	saa.saa_clkmin = 400;
 	saa.saa_clkmax = sc->sc_max_freq > 0 ?
 	sc->sc_max_freq / 1000 : sc->sc_clock_freq / 1000;
-	saa.saa_caps = SMC_CAPS_4BIT_MODE | SMC_CAPS_SINGLE_ONLY;
+	saa.saa_caps = SMC_CAPS_4BIT_MODE;
 
 	sc->sc_sdmmc_dev = config_found(sc->sc_dev, , NULL);
 }
@@ -203,13 +209,13 @@ plmmc_pio_wait(struct plmmc_softc *sc, s
 }
 
 static int
-plmmc_pio_transfer(struct plmmc_softc *sc, struct sdmmc_command *cmd)
+plmmc_pio_transfer(struct plmmc_softc *sc, struct sdmmc_command *cmd,
+int xferlen)
 {
-	uint32_t *datap = (uint32_t *)cmd->c_data;
+	uint32_t *datap = (uint32_t *)cmd->c_buf;
 	int i;
 
-	cmd->c_resid = cmd->c_datalen;
-	for (i = 0; i < (cmd->c_datalen >> 2); i++) {
+	for (i = 0; i < xferlen / 4; i++) {
 		if (plmmc_pio_wait(sc, cmd))
 			return ETIMEDOUT;
 		if (cmd->c_flags & SCF_CMD_READ) {
@@ -218,6 +224,7 @@ plmmc_pio_transfer(struct plmmc_softc *s
 			MMCI_WRITE(sc, MMCI_FIFO_REG, datap[i]);
 		}
 		cmd->c_resid -= 4;
+		cmd->c_buf += 4;
 	}
 
 	return 0;
@@ -309,18 +316,21 @@ plmmc_bus_rod(sdmmc_chipset_handle_t sch
 }
 
 static void
-plmmc_exec_command(sdmmc_chipset_handle_t sch, struct sdmmc_command *cmd)
+plmmc_do_command(sdmmc_chipset_handle_t sch, struct sdmmc_command *cmd)
 {
 	struct plmmc_softc *sc = sch;
 	uint32_t cmdval = MMCI_COMMAND_ENABLE;
 
+	KASSERT(mutex_owned(>sc_intr_lock));
+
+	const int xferlen = min(cmd->c_resid, PLMMC_MAXXFER);
+
 #ifdef PLMMC_DEBUG
-	device_printf(sc->sc_dev, "opcode %d flags %#x datalen %d\n",
-	cmd->c_opcode, cmd->c_flags, cmd->c_datalen);
+	device_printf(sc->sc_dev,
+	"opcode %d flags %#x datalen %d resid %d xferlen %d\n",
+	cmd->c_opcode, cmd->c_flags, cmd->c_datalen, cmd->c_resid, xferlen);
 #endif
 
-	mutex_enter(>sc_intr_lock);
-
 	MMCI_WRITE(sc, MMCI_COMMAND_REG, 0);
 	MMCI_WRITE(sc, MMCI_MASK0_REG, 0);
 	MMCI_WRITE(sc, MMCI_CLEAR_REG, 0x);
@@ -337,9 +347,11 @@ plmmc_exec_command(sdmmc_chipset_handle_
 	if (cmd->c_flags & SCF_RSP_136)
 		cmdval |= MMCI_COMMAND_LONGRSP;
 
-	if (cmd->c_datalen > 0) {
-		unsigned int nblks = cmd->c_datalen / cmd->c_blklen;
-		if (nblks == 0 || (cmd->c_datalen % cmd->c_blklen) != 0)
+	uint32_t arg = cmd->c_arg;
+
+	if (xferlen > 0) {
+		unsigned int nblks = xferlen / cmd->c_blklen;
+		if (nblks == 0 || (xferlen % cmd->c_blklen) != 0)
 			++nblks;
 
 		const uint32_t dir = (cmd->c_flags & SCF_CMD_READ) ? 1 : 0;
@@ -351,13 +363,20 

CVS commit: [netbsd-8] src/doc

2017-06-04 Thread Manuel Bouyer
Module Name:src
Committed By:   bouyer
Date:   Sun Jun  4 20:35:45 UTC 2017

Modified Files:
src/doc [netbsd-8]: CHANGES-8.0

Log Message:
ticket #2


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/doc/CHANGES-8.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-8.0
diff -u src/doc/CHANGES-8.0:1.1.2.1 src/doc/CHANGES-8.0:1.1.2.2
--- src/doc/CHANGES-8.0:1.1.2.1	Sun Jun  4 07:12:09 2017
+++ src/doc/CHANGES-8.0	Sun Jun  4 20:35:45 2017
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-8.0,v 1.1.2.1 2017/06/04 07:12:09 snj Exp $
+# $NetBSD: CHANGES-8.0,v 1.1.2.2 2017/06/04 20:35:45 bouyer Exp $
 
 A complete list of changes from the initial NetBSD 8.0 branch on 2017-06-04
 until the 8.0 release:
@@ -11,3 +11,43 @@ sys/sys/param.h	patched by hand
 
 	Welcome to 8.0_BETA!
 
+src/share/man/man9/fstrans.9			1.25
+src/sys/kern/vfs_mount.c			1.66
+src/sys/kern/vfs_subr.c1.468
+src/sys/kern/vfs_trans.c			1.46
+src/sys/kern/vfs_vnode.c			1.94, 1.95, 1.96
+src/sys/kern/vnode_if.c1.105, 1.106
+src/sys/kern/vnode_if.sh			1.65, 1.66
+src/sys/kern/vnode_if.src			1.76
+src/sys/miscfs/genfs/genfs_io.c			1.69
+src/sys/miscfs/genfs/genfs_vnops.c		1.196, 1.197
+src/sys/miscfs/genfs/layer_extern.h		1.40
+src/sys/miscfs/genfs/layer_vfsops.c		1.51
+src/sys/miscfs/genfs/layer_vnops.c		1.67
+src/sys/miscfs/nullfs/null_vnops.c		1.42
+src/sys/miscfs/overlay/overlay_vnops.c		1.24
+src/sys/miscfs/umapfs/umap_vnops.c		1.60
+src/sys/rump/include/rump/rumpvnode_if.h	1.29, 1.30
+src/sys/rump/librump/rumpkern/emul.c		1.182
+src/sys/rump/librump/rumpvfs/rumpvnode_if.c	1.29, 1.30
+src/sys/sys/fstrans.h1.11
+src/sys/sys/vnode.h1.278
+src/sys/sys/vnode_if.h1.100, 1.101
+src/sys/sys/vnode_impl.h			1.14, 1.15
+src/sys/ufs/lfs/lfs_pages.c			1.12
+
+	Vnode state, lock and fstrans cleanup:
+	- Rename vnode state "VS_ACTIVE" to "VS_LOADED" and add synthetic
+	  state "VS_ACTIVE" to assert a loaded vnode with usecount > 0.
+
+	- Redo FSTRANS in vnode_if.c and use it for VOP_LOCK and VOP_UNLOCK.
+
+	- Cleanup the genfs lock operations.
+
+	- Make "struct vnode_impl" member "vi_lock" a krwlock_t again.
+
+	- Remove the lock type argument from fstrans_start and
+	  fstrans_start_nowait,
+	  remove now unused FSTRANS state "FSTRANS_SUSPENDING".
+	[hannken, ticket #2]
+



CVS commit: [netbsd-8] src

2017-06-04 Thread Manuel Bouyer
Module Name:src
Committed By:   bouyer
Date:   Sun Jun  4 20:35:02 UTC 2017

Modified Files:
src/share/man/man9 [netbsd-8]: fstrans.9
src/sys/kern [netbsd-8]: vfs_mount.c vfs_subr.c vfs_trans.c vfs_vnode.c
vnode_if.c vnode_if.sh vnode_if.src
src/sys/miscfs/genfs [netbsd-8]: genfs_io.c genfs_vnops.c
layer_extern.h layer_vfsops.c layer_vnops.c
src/sys/miscfs/nullfs [netbsd-8]: null_vnops.c
src/sys/miscfs/overlay [netbsd-8]: overlay_vnops.c
src/sys/miscfs/umapfs [netbsd-8]: umap_vnops.c
src/sys/rump/include/rump [netbsd-8]: rumpvnode_if.h
src/sys/rump/librump/rumpkern [netbsd-8]: emul.c
src/sys/rump/librump/rumpvfs [netbsd-8]: rumpvnode_if.c
src/sys/sys [netbsd-8]: fstrans.h vnode.h vnode_if.h vnode_impl.h
src/sys/ufs/lfs [netbsd-8]: lfs_pages.c

Log Message:
pullup the following revisions, requested by hannken in ticket #2:
src/share/man/man9/fstrans.91.25
src/sys/kern/vfs_mount.c1.66
src/sys/kern/vfs_subr.c 1.468
src/sys/kern/vfs_trans.c1.46
src/sys/kern/vfs_vnode.c1.94, 1.95, 1.96
src/sys/kern/vnode_if.c 1.105, 1.106
src/sys/kern/vnode_if.sh1.65, 1.66
src/sys/kern/vnode_if.src   1.76
src/sys/miscfs/genfs/genfs_io.c 1.69
src/sys/miscfs/genfs/genfs_vnops.c  1.196, 1.197
src/sys/miscfs/genfs/layer_extern.h 1.40
src/sys/miscfs/genfs/layer_vfsops.c 1.51
src/sys/miscfs/genfs/layer_vnops.c  1.67
src/sys/miscfs/nullfs/null_vnops.c  1.42
src/sys/miscfs/overlay/overlay_vnops.c  1.24
src/sys/miscfs/umapfs/umap_vnops.c  1.60
src/sys/rump/include/rump/rumpvnode_if.h1.29, 1.30
src/sys/rump/librump/rumpkern/emul.c1.182
src/sys/rump/librump/rumpvfs/rumpvnode_if.c 1.29, 1.30
src/sys/sys/fstrans.h   1.11
src/sys/sys/vnode.h 1.278
src/sys/sys/vnode_if.h  1.100, 1.101
src/sys/sys/vnode_impl.h1.14, 1.15
src/sys/ufs/lfs/lfs_pages.c 1.12

Vnode state, lock and fstrans cleanup:
- Rename vnode state "VS_ACTIVE" to "VS_LOADED" and add synthetic
  state "VS_ACTIVE" to assert a loaded vnode with usecount > 0.

- Redo FSTRANS in vnode_if.c and use it for VOP_LOCK and VOP_UNLOCK.

- Cleanup the genfs lock operations.

- Make "struct vnode_impl" member "vi_lock" a krwlock_t again.

- Remove the lock type argument from fstrans_start and
  fstrans_start_nowait,
  remove now unused FSTRANS state "FSTRANS_SUSPENDING".


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.24.2.1 src/share/man/man9/fstrans.9
cvs rdiff -u -r1.65 -r1.65.2.1 src/sys/kern/vfs_mount.c
cvs rdiff -u -r1.467 -r1.467.2.1 src/sys/kern/vfs_subr.c
cvs rdiff -u -r1.45 -r1.45.2.1 src/sys/kern/vfs_trans.c
cvs rdiff -u -r1.93 -r1.93.2.1 src/sys/kern/vfs_vnode.c
cvs rdiff -u -r1.104 -r1.104.2.1 src/sys/kern/vnode_if.c
cvs rdiff -u -r1.64 -r1.64.4.1 src/sys/kern/vnode_if.sh
cvs rdiff -u -r1.75 -r1.75.2.1 src/sys/kern/vnode_if.src
cvs rdiff -u -r1.68 -r1.68.6.1 src/sys/miscfs/genfs/genfs_io.c
cvs rdiff -u -r1.195 -r1.195.4.1 src/sys/miscfs/genfs/genfs_vnops.c
cvs rdiff -u -r1.39 -r1.39.6.1 src/sys/miscfs/genfs/layer_extern.h
cvs rdiff -u -r1.50 -r1.50.2.1 src/sys/miscfs/genfs/layer_vfsops.c
cvs rdiff -u -r1.66 -r1.66.2.1 src/sys/miscfs/genfs/layer_vnops.c
cvs rdiff -u -r1.41 -r1.41.6.1 src/sys/miscfs/nullfs/null_vnops.c
cvs rdiff -u -r1.23 -r1.23.6.1 src/sys/miscfs/overlay/overlay_vnops.c
cvs rdiff -u -r1.59 -r1.59.6.1 src/sys/miscfs/umapfs/umap_vnops.c
cvs rdiff -u -r1.28 -r1.28.2.1 src/sys/rump/include/rump/rumpvnode_if.h
cvs rdiff -u -r1.181 -r1.181.6.1 src/sys/rump/librump/rumpkern/emul.c
cvs rdiff -u -r1.28 -r1.28.2.1 src/sys/rump/librump/rumpvfs/rumpvnode_if.c
cvs rdiff -u -r1.10 -r1.10.60.1 src/sys/sys/fstrans.h
cvs rdiff -u -r1.277 -r1.277.4.1 src/sys/sys/vnode.h
cvs rdiff -u -r1.99 -r1.99.2.1 src/sys/sys/vnode_if.h
cvs rdiff -u -r1.13 -r1.13.6.1 src/sys/sys/vnode_impl.h
cvs rdiff -u -r1.11 -r1.11.6.1 src/sys/ufs/lfs/lfs_pages.c

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/fstrans.9
diff -u src/share/man/man9/fstrans.9:1.24 src/share/man/man9/fstrans.9:1.24.2.1
--- src/share/man/man9/fstrans.9:1.24	Mon May 29 08:03:13 2017
+++ src/share/man/man9/fstrans.9	Sun Jun  4 20:35:01 2017
@@ -1,4 +1,4 @@
-.\" $NetBSD: fstrans.9,v 1.24 2017/05/29 08:03:13 wiz Exp $
+.\" $NetBSD: fstrans.9,v 1.24.2.1 2017/06/04 20:35:01 bouyer Exp 

CVS commit: src/bin/sh

2017-06-04 Thread Robert Elz
Module Name:src
Committed By:   kre
Date:   Sun Jun  4 20:28:13 UTC 2017

Modified Files:
src/bin/sh: mail.c

Log Message:
If we are going to keep the MAILPATH % hack, then at least do something
rational.  Since it isn't documented, what "rational" is is up for
discussion, but what it did before was not it (it was nonsense...).


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/bin/sh/mail.c

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

Modified files:

Index: src/bin/sh/mail.c
diff -u src/bin/sh/mail.c:1.17 src/bin/sh/mail.c:1.18
--- src/bin/sh/mail.c:1.17	Sun Jun  4 20:27:14 2017
+++ src/bin/sh/mail.c	Sun Jun  4 20:28:13 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: mail.c,v 1.17 2017/06/04 20:27:14 kre Exp $	*/
+/*	$NetBSD: mail.c,v 1.18 2017/06/04 20:28:13 kre Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)mail.c	8.2 (Berkeley) 5/4/95";
 #else
-__RCSID("$NetBSD: mail.c,v 1.17 2017/06/04 20:27:14 kre Exp $");
+__RCSID("$NetBSD: mail.c,v 1.18 2017/06/04 20:28:13 kre Exp $");
 #endif
 #endif /* not lint */
 
@@ -47,6 +47,7 @@ __RCSID("$NetBSD: mail.c,v 1.17 2017/06/
 #include 
 #include 
 #include 
+#include 
 
 #include "shell.h"
 #include "exec.h"	/* defines padvance() */
@@ -61,7 +62,7 @@ __RCSID("$NetBSD: mail.c,v 1.17 2017/06/
 
 
 STATIC int nmboxes;			/* number of mailboxes */
-STATIC time_t mailtime[MAXMBOXES];	/* times of mailboxes */
+STATIC off_t mailsize[MAXMBOXES];	/* sizes of mailboxes */
 
 
 
@@ -94,7 +95,8 @@ chkmail(int silent)
 		stunalloc(p);
 		if (*p == '\0')
 			continue;
-		for (q = p ; *q ; q++);
+		for (q = p ; *q ; q++)
+			;
 		if (q[-1] != '/')
 			abort();
 		q[-1] = '\0';			/* delete trailing '/' */
@@ -109,11 +111,32 @@ chkmail(int silent)
 #else /* this is what it should do */
 		if (stat(p, ) < 0)
 			statb.st_size = 0;
-		if (statb.st_size > mailtime[i] && ! silent) {
-			out2str(pathopt ? pathopt : "you have mail");
+		if (statb.st_size > mailsize[i] && ! silent) {
+			const char *pp;
+
+			if ((pp = pathopt) != NULL) {
+int len = 0;
+
+while (*pp && *pp != ':')
+	len++, pp++;
+if (len == 0) {
+	CHECKSTRSPACE(16, p);
+	strcat(p, ": file changed");
+} else {
+	while (stackblocksize() <= len)
+		growstackblock();
+	p = stackblock();
+	memcpy(p, pathopt, len);
+	p[len] = '\0';
+}
+pp = p;
+			} else
+pp = "you have mail";
+
+			out2str(pp);
 			out2c('\n');
 		}
-		mailtime[i] = statb.st_size;
+		mailsize[i] = statb.st_size;
 #endif
 	}
 	nmboxes = i;



CVS commit: src/bin/sh

2017-06-04 Thread Robert Elz
Module Name:src
Committed By:   kre
Date:   Sun Jun  4 20:27:14 UTC 2017

Modified Files:
src/bin/sh: cd.c eval.c exec.c exec.h mail.c sh.1

Log Message:
Make cd (really) do cd -P, and not just claim that is what it is doing
while doing a half-hearted, broken, partial, version of cd -L instead.
The latter (as the manual says) is not supported, what's more, it is an
abomination, and should never be supported (anywhere.)

Fix the doc so that the pretense that we notice when a path given crosses
a symlink (and turns on printing of the destination directory) is claimed
no more (that used to be true until late Dec 2016, but was changed).  Now
the print happens if -o cdprint is set, or if an entry from CDPATH that is
not "" or "." is used (or if the "cd dest repl" cd cmd variant is used.)

Fix CDPATH processing: avoid the magic '%' processing that is used for
PATH and MAILPATH from corrupting CDPATH.  The % magic (both variants)
remains undocumented.

Also, don't double the '/' if an entry in PATH or CDPATH ends in '/'
(as in CDPATH=":/usr/src/").  A "cd usr.bin" used to do
chdir("/usr/src//usr.bin").  No more.  This is almost invisible,
and relatively harmless, either way

Also fix a bug where if a plausible destination directory in CDPATH
was located, but the chdir() failed (eg: permission denied) and then
a later "." or "" CDPATH entry succeeded, "print" mode was turned on.
That is:
cd /tmp; mkdir bin
mkdir -p P/bin; chmod 0 P/bin
CDPATH=/tmp/P:
cd bin
would cd to /tmp/bin (correctly) but print it (incorrectly).

Also when in "cd dest replace" mode, if the result of the replacement
generates '-' as the path named, as in:
cd $PWD -
then simply change to '-' (or attempt to, with CDPATH search), rather
than having this being equivalent to "cd -")

Because of these changes, the pwd command (and $PWD) essentially
always acts as pwd -P, even when called as pwd -L (which is still
the default.)   That is, even more than it did before.

Also fixed a (kind of minor) mem management error (CDPATH related)
"whosoever shall padvance must stunalloc before repeating" (and the
same for MAILPATH).


To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.48 src/bin/sh/cd.c src/bin/sh/exec.c
cvs rdiff -u -r1.140 -r1.141 src/bin/sh/eval.c
cvs rdiff -u -r1.24 -r1.25 src/bin/sh/exec.h
cvs rdiff -u -r1.16 -r1.17 src/bin/sh/mail.c
cvs rdiff -u -r1.146 -r1.147 src/bin/sh/sh.1

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

Modified files:

Index: src/bin/sh/cd.c
diff -u src/bin/sh/cd.c:1.47 src/bin/sh/cd.c:1.48
--- src/bin/sh/cd.c:1.47	Mon Dec 26 02:27:57 2016
+++ src/bin/sh/cd.c	Sun Jun  4 20:27:14 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: cd.c,v 1.47 2016/12/26 02:27:57 christos Exp $	*/
+/*	$NetBSD: cd.c,v 1.48 2017/06/04 20:27:14 kre Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)cd.c	8.2 (Berkeley) 5/4/95";
 #else
-__RCSID("$NetBSD: cd.c,v 1.47 2016/12/26 02:27:57 christos Exp $");
+__RCSID("$NetBSD: cd.c,v 1.48 2017/06/04 20:27:14 kre Exp $");
 #endif
 #endif /* not lint */
 
@@ -80,10 +80,11 @@ int
 cdcmd(int argc, char **argv)
 {
 	const char *dest;
-	const char *path, *p;
+	const char *path, *cp;
+	char *p;
 	char *d;
 	struct stat statb;
-	int print = cdprint;	/* set -cdprint to enable */
+	int print = cdprint;	/* set -o cdprint to enable */
 
 	while (nextopt("P") != '\0')
 		;
@@ -98,46 +99,46 @@ cdcmd(int argc, char **argv)
 		dest = bltinlookup("HOME", 1);
 		if (dest == NULL)
 			error("HOME not set");
-	} else {
-		if (argptr[1]) {
-			/* Do 'ksh' style substitution */
-			if (!curdir)
-error("PWD not set");
-			p = strstr(curdir, dest);
-			if (!p)
-error("bad substitution");
-			d = stalloc(strlen(curdir) + strlen(argptr[1]) + 1);
-			memcpy(d, curdir, p - curdir);
-			strcpy(d + (p - curdir), argptr[1]);
-			strcat(d, p + strlen(dest));
-			dest = d;
-			print = 1;
-		}
-	}
-
-	if (dest[0] == '-' && dest[1] == '\0') {
+	} else if (argptr[1]) {
+		/* Do 'ksh' style substitution */
+		if (!curdir)
+			error("PWD not set");
+		p = strstr(curdir, dest);
+		if (!p)
+			error("bad substitution");
+		d = stalloc(strlen(curdir) + strlen(argptr[1]) + 1);
+		memcpy(d, curdir, p - curdir);
+		strcpy(d + (p - curdir), argptr[1]);
+		strcat(d, p + strlen(dest));
+		dest = d;
+		print = 1;
+	} else if (dest[0] == '-' && dest[1] == '\0') {
 		dest = prevdir ? prevdir : curdir;
 		print = 1;
 	}
 	if (*dest == '\0')
 	dest = ".";
-	p = dest;
-	if (*p == '.' && *++p == '.')
-	p++;
-	if (*p == 0 || *p == '/' || (path = bltinlookup("CDPATH", 1)) == NULL)
+
+	cp = dest;
+	if (*cp == '.' && *++cp == '.')
+	cp++;
+	if (*cp == 0 || *cp == '/' || (path = bltinlookup("CDPATH", 1)) == NULL)
 		path = nullstr;
-	while ((p = padvance(, dest)) != NULL) {
+	while ((p = padvance(, dest, 0)) != NULL) {
+		stunalloc(p);
 		if (stat(p, ) >= 0 && 

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

2017-06-04 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jun  4 19:15:46 UTC 2017

Modified Files:
src/sys/arch/evbarm/vexpress: vexpress_start.S

Log Message:
Add a 1MB mapping to the MMU init table to cover the FDT blob in case the
bootloader places it beyond the init mem size.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/evbarm/vexpress/vexpress_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/vexpress/vexpress_start.S
diff -u src/sys/arch/evbarm/vexpress/vexpress_start.S:1.4 src/sys/arch/evbarm/vexpress/vexpress_start.S:1.5
--- src/sys/arch/evbarm/vexpress/vexpress_start.S:1.4	Fri Jun  2 20:16:05 2017
+++ src/sys/arch/evbarm/vexpress/vexpress_start.S	Sun Jun  4 19:15:46 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: vexpress_start.S,v 1.4 2017/06/02 20:16:05 jmcneill Exp $	*/
+/*	$NetBSD: vexpress_start.S,v 1.5 2017/06/04 19:15:46 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2015 The NetBSD Foundation, Inc.
@@ -40,7 +40,7 @@
 
 #include 
 
-RCSID("$NetBSD: vexpress_start.S,v 1.4 2017/06/02 20:16:05 jmcneill Exp $")
+RCSID("$NetBSD: vexpress_start.S,v 1.5 2017/06/04 19:15:46 jmcneill Exp $")
 
 #ifdef VERBOSE_INIT_ARM
 #define	XPUTC(n)	mov r0, n; bl xputc
@@ -50,7 +50,7 @@ RCSID("$NetBSD: vexpress_start.S,v 1.4 2
 #define	XPUTC2(n)
 #endif
 
-#define	INIT_MEMSIZE	128
+#define	INIT_MEMSIZE	64
 #define	TEMP_L1_TABLE	(KERNEL_BASE - KERNEL_BASE_VOFFSET + INIT_MEMSIZE * L1_S_SIZE - L1_TABLE_SIZE)
 
 #define	MD_CPU_HATCH	_C_LABEL(arm_fdt_cpu_hatch)
@@ -76,6 +76,18 @@ _C_LABEL(vexpress_start):
 	sub	r4, r4, #KERNEL_BASE_VOFFSET
 	stmia	r4, {r0-r3}
 
+	/* Add DTB PA (1MB) from r2 to MMU init table */
+	movw	r3, #:lower16:(L1_S_SIZE - 1)		/* align DTB PA to 1M */
+	movt	r3, #:upper16:(L1_S_SIZE - 1)
+	bic	r0, r2, r3
+	orr	r0, r0, #1/* 1MB mapping */
+	bic	r1, r2, r3
+	movw	r3, #:lower16:(L1_S_PROTO_armv7|L1_S_APv7_KRW|L1_S_CACHEABLE)
+	movt	r3, #:upper16:(L1_S_PROTO_armv7|L1_S_APv7_KRW|L1_S_CACHEABLE)
+	orr	r1, r1, r3
+	adr	r3, .Lmmu_init_table_dtb		/* table entry addr */
+	stmia	r3, {r0-r1}/* patch table entry */
+
 	XPUTC('a')
 
 	bl	cortex_init
@@ -154,6 +166,10 @@ xputc:
 		VEXPRESS_GIC_SIZE / L1_S_SIZE,
 		L1_S_PROTO_armv7 | L1_S_APv7_KRW | L1_S_V6_XN)
 
+	/* Map DTB location in SDRAM, patched in later */
+.Lmmu_init_table_dtb:
+	MMU_INIT(0, 0, 0, 0)
+
 /* end of table */
 MMU_INIT(0, 0, 0, 0)
 



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

2017-06-04 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Jun  4 16:35:59 UTC 2017

Modified Files:
src/sys/arch/i386/include: profile.h

Log Message:
- prevent optimization from omitting the frame pointer (and re-using it);
  we use it in our inline assembly.
- convert to c a little assembly to make the code more understandable.


To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 src/sys/arch/i386/include/profile.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/i386/include/profile.h
diff -u src/sys/arch/i386/include/profile.h:1.35 src/sys/arch/i386/include/profile.h:1.36
--- src/sys/arch/i386/include/profile.h:1.35	Tue May 30 21:50:19 2017
+++ src/sys/arch/i386/include/profile.h	Sun Jun  4 12:35:59 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: profile.h,v 1.35 2017/05/31 01:50:19 christos Exp $	*/
+/*	$NetBSD: profile.h,v 1.36 2017/06/04 16:35:59 christos Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -54,7 +54,8 @@
 #define	MCOUNT \
 MCOUNT_COMPAT\
 extern void mcount(void) __asm(MCOUNT_ENTRY)\
-	__attribute__((__no_instrument_function__));			\
+	__attribute__((__no_instrument_function__))			\
+	__attribute__((__optimize__("-fno-omit-frame-pointer")));	\
 void	\
 mcount(void)\
 {	\
@@ -75,8 +76,8 @@ mcount(void)\
 	/*\
 	 * frompcindex = pc pushed by call into self.			\
 	 */\
-	__asm volatile("movl (%%ebp),%0;movl 4(%0),%0"			\
-	: "=r" (frompcindex));	\
+	__asm volatile("movl (%%ebp),%0" : "=r" (frompcindex));		\
+	frompcindex = ((int *)frompcindex)[1];\
 	_mcount((u_long)frompcindex, (u_long)selfpc);			\
 	\
 	__asm volatile("movl %0,%%edx" : : "g" (edx));			\



CVS commit: src/sys/dev/ic

2017-06-04 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jun  4 15:08:30 UTC 2017

Modified Files:
src/sys/dev/ic: pl181.c

Log Message:
Re-introduce support for multi-block transfers and split transfers to fit
within the 65535-byte limit.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/ic/pl181.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/ic/pl181.c
diff -u src/sys/dev/ic/pl181.c:1.3 src/sys/dev/ic/pl181.c:1.4
--- src/sys/dev/ic/pl181.c:1.3	Fri Jun  2 11:01:15 2017
+++ src/sys/dev/ic/pl181.c	Sun Jun  4 15:08:30 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: pl181.c,v 1.3 2017/06/02 11:01:15 jmcneill Exp $ */
+/* $NetBSD: pl181.c,v 1.4 2017/06/04 15:08:30 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: pl181.c,v 1.3 2017/06/02 11:01:15 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pl181.c,v 1.4 2017/06/04 15:08:30 jmcneill Exp $");
 
 #include 
 #include 
@@ -43,6 +43,12 @@ __KERNEL_RCSID(0, "$NetBSD: pl181.c,v 1.
 #include 
 #include 
 
+/*
+ * Data length register is 16 bits for a maximum of 65535 bytes. Round
+ * maximum transfer size down to the nearest sector.
+ */
+#define	PLMMC_MAXXFER	rounddown(65535, SDMMC_SECTOR_SIZE)
+
 static int	plmmc_host_reset(sdmmc_chipset_handle_t);
 static uint32_t	plmmc_host_ocr(sdmmc_chipset_handle_t);
 static int	plmmc_host_maxblklen(sdmmc_chipset_handle_t);
@@ -61,7 +67,7 @@ static int	plmmc_wait_status(struct plmm
 static int	plmmc_pio_wait(struct plmmc_softc *,
  struct sdmmc_command *);
 static int	plmmc_pio_transfer(struct plmmc_softc *,
- struct sdmmc_command *);
+ struct sdmmc_command *, int);
 
 static struct sdmmc_chip_functions plmmc_chip_functions = {
 	.host_reset = plmmc_host_reset,
@@ -119,7 +125,7 @@ plmmc_init(struct plmmc_softc *sc)
 	saa.saa_clkmin = 400;
 	saa.saa_clkmax = sc->sc_max_freq > 0 ?
 	sc->sc_max_freq / 1000 : sc->sc_clock_freq / 1000;
-	saa.saa_caps = SMC_CAPS_4BIT_MODE | SMC_CAPS_SINGLE_ONLY;
+	saa.saa_caps = SMC_CAPS_4BIT_MODE;
 
 	sc->sc_sdmmc_dev = config_found(sc->sc_dev, , NULL);
 }
@@ -203,13 +209,13 @@ plmmc_pio_wait(struct plmmc_softc *sc, s
 }
 
 static int
-plmmc_pio_transfer(struct plmmc_softc *sc, struct sdmmc_command *cmd)
+plmmc_pio_transfer(struct plmmc_softc *sc, struct sdmmc_command *cmd,
+int xferlen)
 {
-	uint32_t *datap = (uint32_t *)cmd->c_data;
+	uint32_t *datap = (uint32_t *)cmd->c_buf;
 	int i;
 
-	cmd->c_resid = cmd->c_datalen;
-	for (i = 0; i < (cmd->c_datalen >> 2); i++) {
+	for (i = 0; i < xferlen / 4; i++) {
 		if (plmmc_pio_wait(sc, cmd))
 			return ETIMEDOUT;
 		if (cmd->c_flags & SCF_CMD_READ) {
@@ -218,6 +224,7 @@ plmmc_pio_transfer(struct plmmc_softc *s
 			MMCI_WRITE(sc, MMCI_FIFO_REG, datap[i]);
 		}
 		cmd->c_resid -= 4;
+		cmd->c_buf += 4;
 	}
 
 	return 0;
@@ -309,18 +316,21 @@ plmmc_bus_rod(sdmmc_chipset_handle_t sch
 }
 
 static void
-plmmc_exec_command(sdmmc_chipset_handle_t sch, struct sdmmc_command *cmd)
+plmmc_do_command(sdmmc_chipset_handle_t sch, struct sdmmc_command *cmd)
 {
 	struct plmmc_softc *sc = sch;
 	uint32_t cmdval = MMCI_COMMAND_ENABLE;
 
+	KASSERT(mutex_owned(>sc_intr_lock));
+
+	const int xferlen = min(cmd->c_resid, PLMMC_MAXXFER);
+
 #ifdef PLMMC_DEBUG
-	device_printf(sc->sc_dev, "opcode %d flags %#x datalen %d\n",
-	cmd->c_opcode, cmd->c_flags, cmd->c_datalen);
+	device_printf(sc->sc_dev,
+	"opcode %d flags %#x datalen %d resid %d xferlen %d\n",
+	cmd->c_opcode, cmd->c_flags, cmd->c_datalen, cmd->c_resid, xferlen);
 #endif
 
-	mutex_enter(>sc_intr_lock);
-
 	MMCI_WRITE(sc, MMCI_COMMAND_REG, 0);
 	MMCI_WRITE(sc, MMCI_MASK0_REG, 0);
 	MMCI_WRITE(sc, MMCI_CLEAR_REG, 0x);
@@ -337,9 +347,11 @@ plmmc_exec_command(sdmmc_chipset_handle_
 	if (cmd->c_flags & SCF_RSP_136)
 		cmdval |= MMCI_COMMAND_LONGRSP;
 
-	if (cmd->c_datalen > 0) {
-		unsigned int nblks = cmd->c_datalen / cmd->c_blklen;
-		if (nblks == 0 || (cmd->c_datalen % cmd->c_blklen) != 0)
+	uint32_t arg = cmd->c_arg;
+
+	if (xferlen > 0) {
+		unsigned int nblks = xferlen / cmd->c_blklen;
+		if (nblks == 0 || (xferlen % cmd->c_blklen) != 0)
 			++nblks;
 
 		const uint32_t dir = (cmd->c_flags & SCF_CMD_READ) ? 1 : 0;
@@ -351,13 +363,20 @@ plmmc_exec_command(sdmmc_chipset_handle_
 		__SHIFTIN(dir, MMCI_DATA_CTRL_DIRECTION) |
 		__SHIFTIN(blksize, MMCI_DATA_CTRL_BLOCKSIZE) |
 		MMCI_DATA_CTRL_ENABLE);
+
+		/* Adjust blkno if necessary */
+		u_int blkoff =
+		(cmd->c_datalen - cmd->c_resid) / SDMMC_SECTOR_SIZE;
+		if (!ISSET(cmd->c_flags, SCF_XFER_SDHC))
+			blkoff <<= SDMMC_SECTOR_SIZE_SB;
+		arg += blkoff;
 	}
 
-	MMCI_WRITE(sc, MMCI_ARGUMENT_REG, cmd->c_arg);
+	MMCI_WRITE(sc, MMCI_ARGUMENT_REG, arg);
 	MMCI_WRITE(sc, MMCI_COMMAND_REG, cmdval | cmd->c_opcode);
 
-	if (cmd->c_datalen > 0) {
-		cmd->c_error = 

CVS commit: src/sys/dev/sdmmc

2017-06-04 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jun  4 15:00:02 UTC 2017

Modified Files:
src/sys/dev/sdmmc: sdmmc_mem.c sdmmcvar.h

Log Message:
Give a hint to controllers in the command flags if we are performing a
transfer with an SDHC capable card. If the controller needs to adjust
command args, it can use this hint to understand how it is encoded.


To generate a diff of this commit:
cvs rdiff -u -r1.56 -r1.57 src/sys/dev/sdmmc/sdmmc_mem.c
cvs rdiff -u -r1.23 -r1.24 src/sys/dev/sdmmc/sdmmcvar.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/sdmmc/sdmmc_mem.c
diff -u src/sys/dev/sdmmc/sdmmc_mem.c:1.56 src/sys/dev/sdmmc/sdmmc_mem.c:1.57
--- src/sys/dev/sdmmc/sdmmc_mem.c:1.56	Tue Apr 11 23:26:33 2017
+++ src/sys/dev/sdmmc/sdmmc_mem.c	Sun Jun  4 15:00:02 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: sdmmc_mem.c,v 1.56 2017/04/11 23:26:33 jmcneill Exp $	*/
+/*	$NetBSD: sdmmc_mem.c,v 1.57 2017/06/04 15:00:02 jmcneill Exp $	*/
 /*	$OpenBSD: sdmmc_mem.c,v 1.10 2009/01/09 10:55:22 jsg Exp $	*/
 
 /*
@@ -45,7 +45,7 @@
 /* Routines for SD/MMC memory cards. */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: sdmmc_mem.c,v 1.56 2017/04/11 23:26:33 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sdmmc_mem.c,v 1.57 2017/06/04 15:00:02 jmcneill Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_sdmmc.h"
@@ -1641,6 +1641,8 @@ sdmmc_mem_read_block_subr(struct sdmmc_f
 	if (!ISSET(sf->flags, SFF_SDHC))
 		cmd.c_arg <<= SDMMC_SECTOR_SIZE_SB;
 	cmd.c_flags = SCF_CMD_ADTC | SCF_CMD_READ | SCF_RSP_R1 | SCF_RSP_SPI_R1;
+	if (ISSET(sf->flags, SFF_SDHC))
+		cmd.c_flags |= SCF_XFER_SDHC;
 	if (ISSET(sc->sc_caps, SMC_CAPS_DMA))
 		cmd.c_dmamap = dmap;
 
@@ -1866,6 +1868,8 @@ sdmmc_mem_write_block_subr(struct sdmmc_
 	if (!ISSET(sf->flags, SFF_SDHC))
 		cmd.c_arg <<= SDMMC_SECTOR_SIZE_SB;
 	cmd.c_flags = SCF_CMD_ADTC | SCF_RSP_R1;
+	if (ISSET(sf->flags, SFF_SDHC))
+		cmd.c_flags |= SCF_XFER_SDHC;
 	if (ISSET(sc->sc_caps, SMC_CAPS_DMA))
 		cmd.c_dmamap = dmap;
 

Index: src/sys/dev/sdmmc/sdmmcvar.h
diff -u src/sys/dev/sdmmc/sdmmcvar.h:1.23 src/sys/dev/sdmmc/sdmmcvar.h:1.24
--- src/sys/dev/sdmmc/sdmmcvar.h:1.23	Fri Feb 17 10:51:48 2017
+++ src/sys/dev/sdmmc/sdmmcvar.h	Sun Jun  4 15:00:02 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: sdmmcvar.h,v 1.23 2017/02/17 10:51:48 nonaka Exp $	*/
+/*	$NetBSD: sdmmcvar.h,v 1.24 2017/06/04 15:00:02 jmcneill Exp $	*/
 /*	$OpenBSD: sdmmcvar.h,v 1.13 2009/01/09 10:55:22 jsg Exp $	*/
 
 /*
@@ -122,6 +122,8 @@ struct sdmmc_command {
 #define SCF_RSP_SPI_BSY	(1U << 13)
 /* Probing */
 #define SCF_TOUT_OK	(1U << 14)	/* command timeout expected */
+/* Transfer hints */
+#define SCF_XFER_SDHC	(1U << 15)	/* card is SDHC */
 /* response types */
 #define SCF_RSP_R0	0	/* none */
 #define SCF_RSP_R1	(SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX)



CVS commit: src/share/misc

2017-06-04 Thread Marc Balmer
Module Name:src
Committed By:   mbalmer
Date:   Sun Jun  4 10:58:28 UTC 2017

Modified Files:
src/share/misc: airport

Log Message:
it's Rorschach, not Rorshach


To generate a diff of this commit:
cvs rdiff -u -r1.65 -r1.66 src/share/misc/airport

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

Modified files:

Index: src/share/misc/airport
diff -u src/share/misc/airport:1.65 src/share/misc/airport:1.66
--- src/share/misc/airport:1.65	Thu May 11 06:46:45 2017
+++ src/share/misc/airport	Sun Jun  4 10:58:28 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: airport,v 1.65 2017/05/11 06:46:45 mbalmer Exp $
+#	$NetBSD: airport,v 1.66 2017/06/04 10:58:28 mbalmer Exp $
 #	@(#)airport	8.1 (Berkeley) 6/8/93
 #
 # Some of this information is from http://www.mapping.com/airportcodes.html.
@@ -59,7 +59,7 @@ ACB:Bellaire (Antrim County Airport), MI
 ACC:Accra (Kotoka), Ghana
 ACD:Acandi, Colombia
 ACE:Arrecife (Lanzarote), Canary Islands, Spain
-ACH:Altenrhein (Rorshach), Switzerland
+ACH:Altenrhein (Rorschach), Switzerland
 ACI:Alderney, Channel Islands
 ACJ:Americus (Souther Field), GA, USA
 ACK:Nantucket Memorial Airport, MA, USA



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

2017-06-04 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Jun  4 10:45:50 UTC 2017

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

Log Message:
Initialise all the SGI/PPI priorities for all CPUs to mask the interrupts


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/arm/cortex/gic.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/gic.c
diff -u src/sys/arch/arm/cortex/gic.c:1.21 src/sys/arch/arm/cortex/gic.c:1.22
--- src/sys/arch/arm/cortex/gic.c:1.21	Tue May 30 22:00:25 2017
+++ src/sys/arch/arm/cortex/gic.c	Sun Jun  4 10:45:50 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: gic.c,v 1.21 2017/05/30 22:00:25 jmcneill Exp $	*/
+/*	$NetBSD: gic.c,v 1.22 2017/06/04 10:45:50 skrll Exp $	*/
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -34,7 +34,7 @@
 #define _INTR_PRIVATE
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: gic.c,v 1.21 2017/05/30 22:00:25 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gic.c,v 1.22 2017/06/04 10:45:50 skrll Exp $");
 
 #include 
 #include 
@@ -408,23 +408,25 @@ armgic_establish_irq(struct pic_softc *p
 static void
 armgic_cpu_init_priorities(struct armgic_softc *sc)
 {
+	/* Set lowest priority, i.e. disable interrupts */
+	for (size_t i = 0; i < 32; i += 4) {
+		const bus_size_t priority_reg = GICD_IPRIORITYRn(i / 4);
+		gicd_write(sc, priority_reg, ~0);
+	}
+}
+
+static void
+armgic_cpu_update_priorities(struct armgic_softc *sc)
+{
 	uint32_t enabled = sc->sc_enabled_local;
 	for (size_t i = 0; i < 32; i += 4, enabled >>= 4) {
-		/*
-		 * If there are no enabled interrupts for the priority register,
-		 * don't bother changing it.
-		 */
-		if ((enabled & 0x0f) == 0)
-			continue;
-		/*
-		 * Since priorities are in 3210 order, it'
-		 */
 		const bus_size_t priority_reg = GICD_IPRIORITYRn(i / 4);
 		uint32_t priority = gicd_read(sc, priority_reg);
 		uint32_t byte_mask = 0xff;
 		size_t byte_shift = 0;
 		for (size_t j = 0; j < 4; j++, byte_mask <<= 8, byte_shift += 8) {
 			struct intrsource * const is = sc->sc_pic.pic_sources[i+j];
+			priority |= byte_mask;
 			if (is == NULL || is == _dummy_source)
 continue;
 			priority &= ~byte_mask;
@@ -458,12 +460,13 @@ armgic_cpu_init(struct pic_softc *pic, s
 	struct armgic_softc * const sc = PICTOSOFTC(pic);
 	sc->sc_mptargets |= 1 << cpu_index(ci);
 	KASSERTMSG(ci->ci_cpl == IPL_HIGH, "ipl %d not IPL_HIGH", ci->ci_cpl);
+	armgic_cpu_init_priorities(sc);
 	if (!CPU_IS_PRIMARY(ci)) {
 		if (sc->sc_mptargets != 1) {
 			armgic_cpu_init_targets(sc);
 		}
 		if (sc->sc_enabled_local) {
-			armgic_cpu_init_priorities(sc);
+			armgic_cpu_update_priorities(sc);
 			gicd_write(sc, GICD_ISENABLERn(0),
 			sc->sc_enabled_local);
 		}
@@ -612,6 +615,8 @@ armgic_attach(device_t parent, device_t 
 	pic_handle_softint, (void *)SOFTINT_SERIAL);
 #endif
 #ifdef MULTIPROCESSOR
+	armgic_cpu_init(>sc_pic, curcpu());
+
 	intr_establish(ARMGIC_SGI_IPIBASE + IPI_AST, IPL_VM,
 	IST_MPSAFE | IST_EDGE, pic_ipi_ast, (void *)-1);
 	intr_establish(ARMGIC_SGI_IPIBASE + IPI_XCALL, IPL_HIGH,
@@ -630,7 +635,6 @@ armgic_attach(device_t parent, device_t 
 	intr_establish(ARMGIC_SGI_IPIBASE + IPI_KPREEMPT, IPL_VM,
 	IST_MPSAFE | IST_EDGE, pic_ipi_kpreempt, (void *)-1);
 #endif
-	armgic_cpu_init(>sc_pic, curcpu());
 #endif
 
 	const u_int ppis = popcount32(sc->sc_gic_valid_lines[0] >> 16);



CVS commit: src/share/dict

2017-06-04 Thread Abhinav Upadhyay
Module Name:src
Committed By:   abhinav
Date:   Sun Jun  4 09:08:06 UTC 2017

Modified Files:
src/share/dict: web2

Log Message:
Add downlink, uplink, and upload.


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/share/dict/web2

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

Modified files:

Index: src/share/dict/web2
diff -u src/share/dict/web2:1.28 src/share/dict/web2:1.29
--- src/share/dict/web2:1.28	Sat Jun  3 07:30:50 2017
+++ src/share/dict/web2	Sun Jun  4 09:08:06 2017
@@ -57252,6 +57252,7 @@ downlier
 downligging
 downlike
 downline
+downlink
 downlooked
 downlooker
 downlying
@@ -224559,6 +224560,8 @@ uplight
 uplimb
 uplimber
 upline
+uplink
+upload
 uplock
 uplong
 uplook



CVS commit: src/sys/dev/dm

2017-06-04 Thread Marc Balmer
Module Name:src
Committed By:   mbalmer
Date:   Sun Jun  4 08:54:38 UTC 2017

Modified Files:
src/sys/dev/dm: dm_target_linear.c dm_target_snapshot.c

Log Message:
more dependiences -> dependencies


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/dev/dm/dm_target_linear.c
cvs rdiff -u -r1.17 -r1.18 src/sys/dev/dm/dm_target_snapshot.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/dm/dm_target_linear.c
diff -u src/sys/dev/dm/dm_target_linear.c:1.15 src/sys/dev/dm/dm_target_linear.c:1.16
--- src/sys/dev/dm/dm_target_linear.c:1.15	Thu Jun  1 02:45:09 2017
+++ src/sys/dev/dm/dm_target_linear.c	Sun Jun  4 08:54:38 2017
@@ -1,4 +1,4 @@
-/*$NetBSD: dm_target_linear.c,v 1.15 2017/06/01 02:45:09 chs Exp $  */
+/*$NetBSD: dm_target_linear.c,v 1.16 2017/06/04 08:54:38 mbalmer Exp $  */
 
 /*
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -184,7 +184,7 @@ dm_target_linear_destroy(dm_table_entry_
 
 	return 0;
 }
-/* Add this target pdev dependiences to prop_array_t */
+/* Add this target pdev dependencies to prop_array_t */
 int
 dm_target_linear_deps(dm_table_entry_t * table_en, prop_array_t prop_array)
 {

Index: src/sys/dev/dm/dm_target_snapshot.c
diff -u src/sys/dev/dm/dm_target_snapshot.c:1.17 src/sys/dev/dm/dm_target_snapshot.c:1.18
--- src/sys/dev/dm/dm_target_snapshot.c:1.17	Mon Aug 18 17:16:19 2014
+++ src/sys/dev/dm/dm_target_snapshot.c	Sun Jun  4 08:54:38 2017
@@ -1,4 +1,4 @@
-/*$NetBSD: dm_target_snapshot.c,v 1.17 2014/08/18 17:16:19 agc Exp $  */
+/*$NetBSD: dm_target_snapshot.c,v 1.18 2017/06/04 08:54:38 mbalmer Exp $  */
 
 /*
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -343,7 +343,7 @@ dm_target_snapshot_destroy(dm_table_entr
 
 	return 0;
 }
-/* Add this target dependiences to prop_array_t */
+/* Add this target dependencies to prop_array_t */
 int
 dm_target_snapshot_deps(dm_table_entry_t * table_en,
 prop_array_t prop_array)



CVS commit: src/sys/rump/share/man/man7

2017-06-04 Thread Abhinav Upadhyay
Module Name:src
Committed By:   abhinav
Date:   Sun Jun  4 08:53:38 UTC 2017

Modified Files:
src/sys/rump/share/man/man7: rump_sp.7

Log Message:
Fix typo: s/analoguous/analogous/


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/share/man/man7/rump_sp.7

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

Modified files:

Index: src/sys/rump/share/man/man7/rump_sp.7
diff -u src/sys/rump/share/man/man7/rump_sp.7:1.1 src/sys/rump/share/man/man7/rump_sp.7:1.2
--- src/sys/rump/share/man/man7/rump_sp.7:1.1	Sun Nov  9 17:39:38 2014
+++ src/sys/rump/share/man/man7/rump_sp.7	Sun Jun  4 08:53:38 2017
@@ -1,4 +1,4 @@
-.\" $NetBSD: rump_sp.7,v 1.1 2014/11/09 17:39:38 pooka Exp $
+.\" $NetBSD: rump_sp.7,v 1.2 2017/06/04 08:53:38 abhinav Exp $
 .\"
 .\" Copyright (c) 2010 Antti Kantee.  All rights reserved.
 .\"
@@ -86,7 +86,7 @@ the environment variable
 .Ev RUMP_SERVER
 is used to specify the server URL.
 To keep track of which rump kernel the current shell is using,
-modifying the shell prompt is recommended -- this is analoguous
+modifying the shell prompt is recommended -- this is analogous
 to the visual clue you have when you login from one machine to
 another.
 .Ss Client credentials and access control



CVS commit: src/sys/dev/dm/doc

2017-06-04 Thread Marc Balmer
Module Name:src
Committed By:   mbalmer
Date:   Sun Jun  4 08:52:42 UTC 2017

Modified Files:
src/sys/dev/dm/doc: design.txt

Log Message:
more dependiences -> dependencies


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/dm/doc/design.txt

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/dm/doc/design.txt
diff -u src/sys/dev/dm/doc/design.txt:1.3 src/sys/dev/dm/doc/design.txt:1.4
--- src/sys/dev/dm/doc/design.txt:1.3	Mon Dec  9 09:35:16 2013
+++ src/sys/dev/dm/doc/design.txt	Sun Jun  4 08:52:42 2017
@@ -176,10 +176,10 @@
 
  in: dm-ioctl(name/uuid)
 
- out: list of dependiences devices
+ out: list of dependencies devices
 
  Function: 
-   Return set of device dependiences e.g. mirror device for mirror target etc..
+   Return set of device dependencies e.g. mirror device for mirror target etc..
 
  13) DM_TABLE_STATUS
 



CVS commit: src/sys/dev/dm

2017-06-04 Thread Marc Balmer
Module Name:src
Committed By:   mbalmer
Date:   Sun Jun  4 08:50:27 UTC 2017

Modified Files:
src/sys/dev/dm: netbsd-dm.h

Log Message:
fix typo in comment


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/dm/netbsd-dm.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/dm/netbsd-dm.h
diff -u src/sys/dev/dm/netbsd-dm.h:1.7 src/sys/dev/dm/netbsd-dm.h:1.8
--- src/sys/dev/dm/netbsd-dm.h:1.7	Sun Sep  6 06:01:00 2015
+++ src/sys/dev/dm/netbsd-dm.h	Sun Jun  4 08:50:27 2017
@@ -1,4 +1,4 @@
-/*$NetBSD: netbsd-dm.h,v 1.7 2015/09/06 06:01:00 dholland Exp $  */
+/*$NetBSD: netbsd-dm.h,v 1.8 2017/06/04 08:50:27 mbalmer Exp $  */
 
 /*
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -172,10 +172,10 @@
 
  /*
   * DM_TABLE_DEPS == "deps" 
-  * Request list active table device dependiences.
+  * Request list active table device dependencies.
   *
   * This command is also run to get dm-device
-  * dependiences for existing real block device.
+  * dependencies for existing real block device.
   *
   * eg. vgcreate calls DM_TABLE_DEPS
   *



CVS commit: src/usr.bin/find

2017-06-04 Thread Abhinav Upadhyay
Module Name:src
Committed By:   abhinav
Date:   Sun Jun  4 08:48:05 UTC 2017

Modified Files:
src/usr.bin/find: find.1

Log Message:
Fix typo: s/compatability/compatibility/


To generate a diff of this commit:
cvs rdiff -u -r1.87 -r1.88 src/usr.bin/find/find.1

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

Modified files:

Index: src/usr.bin/find/find.1
diff -u src/usr.bin/find/find.1:1.87 src/usr.bin/find/find.1:1.88
--- src/usr.bin/find/find.1:1.87	Mon Jun 13 06:17:19 2016
+++ src/usr.bin/find/find.1	Sun Jun  4 08:48:05 2017
@@ -1,4 +1,4 @@
-.\"	$NetBSD: find.1,v 1.87 2016/06/13 06:17:19 wiz Exp $
+.\"	$NetBSD: find.1,v 1.88 2017/06/04 08:48:05 abhinav Exp $
 .\"
 .\" Copyright (c) 1990, 1993
 .\"	The Regents of the University of California.  All rights reserved.
@@ -547,7 +547,7 @@ True if the current file has a more rece
 .Ar file .
 .Pp
 .It Ic -newerXY Ar reference
-For compatability with Gnu findutils.
+For compatibility with Gnu findutils.
 .Bl -column -offset indent ".Sy findutils" ".Sy equivalent"
 .It Sy findutils Ta Sy find
 .It Sy option Ta Sy equivalent



CVS commit: src/sbin/dmctl

2017-06-04 Thread Abhinav Upadhyay
Module Name:src
Committed By:   abhinav
Date:   Sun Jun  4 08:34:34 UTC 2017

Modified Files:
src/sbin/dmctl: dmctl.8

Log Message:
Fix typo


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

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

Modified files:

Index: src/sbin/dmctl/dmctl.8
diff -u src/sbin/dmctl/dmctl.8:1.4 src/sbin/dmctl/dmctl.8:1.5
--- src/sbin/dmctl/dmctl.8:1.4	Sun Sep 11 02:18:52 2016
+++ src/sbin/dmctl/dmctl.8	Sun Jun  4 08:34:34 2017
@@ -1,4 +1,4 @@
-.\" $NetBSD: dmctl.8,v 1.4 2016/09/11 02:18:52 sevan Exp $
+.\" $NetBSD: dmctl.8,v 1.5 2017/06/04 08:34:34 abhinav Exp $
 .\"
 .\" Copyright (c) 2004,2009 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -48,7 +48,7 @@ It can send and receive information and 
 .It Li remove Ta Remove device with [dm device name].
 .It Li resume Ta Resume IO on dm device [dm device name].
 .It Li suspend Ta Suspend IO on dm device [dm device name].
-.It Li deps Ta Print physical dependiences for dm device [dm device name].
+.It Li deps Ta Print physical dependencies for dm device [dm device name].
 .It Li reload Ta Switch active and passive tables for [dm device name].
 .It Li status Ta Print status for device with [dm device name].
 .It Li table Ta Print active table for device with [dm device name].



CVS commit: src

2017-06-04 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Sun Jun  4 08:05:42 UTC 2017

Modified Files:
src/share/man/man9: fstrans.9
src/sys/kern: vfs_mount.c vfs_trans.c vfs_vnode.c vnode_if.c
src/sys/miscfs/genfs: genfs_io.c layer_vnops.c
src/sys/rump/include/rump: rumpvnode_if.h
src/sys/rump/librump/rumpkern: emul.c
src/sys/rump/librump/rumpvfs: rumpvnode_if.c
src/sys/sys: fstrans.h vnode_if.h
src/sys/ufs/lfs: lfs_pages.c

Log Message:
Operations fstrans_start() and fstrans_start_nowait() now always
use FSTRANS_SHARED as lock type so remove the lock type argument.

File system state FSTRANS_SUSPENDING is now unused so remove it.

Regen vnode_if files.

Ride 8.99.1 less than a hour ago.


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/share/man/man9/fstrans.9
cvs rdiff -u -r1.65 -r1.66 src/sys/kern/vfs_mount.c
cvs rdiff -u -r1.45 -r1.46 src/sys/kern/vfs_trans.c
cvs rdiff -u -r1.95 -r1.96 src/sys/kern/vfs_vnode.c
cvs rdiff -u -r1.105 -r1.106 src/sys/kern/vnode_if.c
cvs rdiff -u -r1.68 -r1.69 src/sys/miscfs/genfs/genfs_io.c
cvs rdiff -u -r1.66 -r1.67 src/sys/miscfs/genfs/layer_vnops.c
cvs rdiff -u -r1.29 -r1.30 src/sys/rump/include/rump/rumpvnode_if.h
cvs rdiff -u -r1.181 -r1.182 src/sys/rump/librump/rumpkern/emul.c
cvs rdiff -u -r1.29 -r1.30 src/sys/rump/librump/rumpvfs/rumpvnode_if.c
cvs rdiff -u -r1.10 -r1.11 src/sys/sys/fstrans.h
cvs rdiff -u -r1.100 -r1.101 src/sys/sys/vnode_if.h
cvs rdiff -u -r1.11 -r1.12 src/sys/ufs/lfs/lfs_pages.c

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/fstrans.9
diff -u src/share/man/man9/fstrans.9:1.24 src/share/man/man9/fstrans.9:1.25
--- src/share/man/man9/fstrans.9:1.24	Mon May 29 08:03:13 2017
+++ src/share/man/man9/fstrans.9	Sun Jun  4 08:05:41 2017
@@ -1,4 +1,4 @@
-.\" $NetBSD: fstrans.9,v 1.24 2017/05/29 08:03:13 wiz Exp $
+.\" $NetBSD: fstrans.9,v 1.25 2017/06/04 08:05:41 hannken Exp $
 .\"
 .\" Copyright (c) 2007 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd May 29, 2017
+.Dd June 4, 2017
 .Dt FSTRANS 9
 .Os
 .Sh NAME
@@ -46,9 +46,9 @@
 .In sys/mount.h
 .In sys/fstrans.h
 .Ft void
-.Fn fstrans_start "struct mount *mp" "enum fstrans_lock_type lock_type"
+.Fn fstrans_start "struct mount *mp"
 .Ft int
-.Fn fstrans_start_nowait "struct mount *mp" "enum fstrans_lock_type lock_type"
+.Fn fstrans_start_nowait "struct mount *mp"
 .Ft void
 .Fn fstrans_done "struct mount *mp"
 .Ft int
@@ -81,17 +81,6 @@ in a
 transaction, which is blocked by suspending the file system and while
 it is suspended.
 .Pp
-Operations needed to sync the file system to its backing store must be
-bracketed by
-.Fn fstrans_start
-and
-.Fn fstrans_done
-in a
-.Em lazy
-transaction, which is allowed while suspending the file system in order
-to sync it to its backing store, but blocked while the file system is
-suspended.
-.Pp
 Transactions are per-thread and nestable: if a thread is already in a
 transaction, it can enter another transaction without blocking.
 Each
@@ -108,12 +97,8 @@ to:
 .Bl -dash
 .It
 enter the
-.Dv FSTRANS_SUSPENDING
-to suspend all normal operations but allow syncing,
-.It
-enter the
 .Dv FSTRANS_SUSPENDED
-state to suspend all operations once synced, and
+state to suspend all operations, and
 .It
 restore to the
 .Dv FSTRANS_NORMAL
@@ -140,24 +125,14 @@ The copy-on-write callback must be dises
 when the file system is done with it.
 .Sh FUNCTIONS
 .Bl -tag -width abcd
-.It Fn fstrans_start "mp" "lock_type"
-Enter a transaction of type
-.Fa lock_type
-on the file system
+.It Fn fstrans_start "mp"
+Enter a transaction on the file system
 .Fa mp
 in the current thread.
 If the file system is in a state that blocks such transactions, wait
 until it changes state to one that does not.
-.Bl -tag -width FSTRANS_SHARED
-.It Dv FSTRANS_SHARED
-If the file system is suspending or suspended, wait until it is
-resumed.
-Intended for normal file system operations.
-.It Dv FSTRANS_LAZY
+.Pp
 If the file system is suspended, wait until it is resumed.
-Intended for operations needed to sync the file system to its backing
-store in order to suspend it.
-.El
 .Pp
 However, if the current thread is already in a transaction on
 .Fa mp ,
@@ -166,14 +141,12 @@ will enter a nested transaction and retu
 waiting.
 .Pp
 May sleep.
-.It Fn fstrans_start_nowait "mp" "lock_type"
+.It Fn fstrans_start_nowait "mp"
 Like
 .Fn fstrans_start ,
 but return
 .Dv EBUSY
-immediately if
-.Fa lock_type
-transactions are blocked in its current state.
+immediately if transactions are blocked in its current state.
 .Pp
 May sleep nevertheless on internal locks.
 .It Fn fstrans_done "mp"
@@ -192,15 +165,9 @@ to
 and wait for all transactions not allowed in
 .Fa new_state
 

CVS commit: src/sys/kern

2017-06-04 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Sun Jun  4 08:03:26 UTC 2017

Modified Files:
src/sys/kern: vnode_if.sh

Log Message:
Operations fstrans_start() and fstrans_start_nowait() now always
use FSTRANS_SHARED as lock type so remove the lock type argument.


To generate a diff of this commit:
cvs rdiff -u -r1.65 -r1.66 src/sys/kern/vnode_if.sh

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/vnode_if.sh
diff -u src/sys/kern/vnode_if.sh:1.65 src/sys/kern/vnode_if.sh:1.66
--- src/sys/kern/vnode_if.sh:1.65	Sun Jun  4 07:59:17 2017
+++ src/sys/kern/vnode_if.sh	Sun Jun  4 08:03:26 2017
@@ -29,7 +29,7 @@ copyright="\
  * SUCH DAMAGE.
  */
 "
-SCRIPT_ID='$NetBSD: vnode_if.sh,v 1.65 2017/06/04 07:59:17 hannken Exp $'
+SCRIPT_ID='$NetBSD: vnode_if.sh,v 1.66 2017/06/04 08:03:26 hannken Exp $'
 
 # Script to produce VFS front-end sugar.
 #
@@ -335,7 +335,7 @@ vop_pre(vnode_t *vp, struct mount **mp, 
 		for (;;) {
 			*mp = vp->v_mount;
 			if (op == FST_TRY) {
-error = fstrans_start_nowait(*mp, FSTRANS_SHARED);
+error = fstrans_start_nowait(*mp);
 if (error) {
 	if (!*mpsafe) {
 		KERNEL_UNLOCK_ONE(curlwp);
@@ -343,7 +343,7 @@ vop_pre(vnode_t *vp, struct mount **mp, 
 	return error;
 }
 			} else {
-fstrans_start(*mp, FSTRANS_SHARED);
+fstrans_start(*mp);
 			}
 			if (__predict_true(*mp == vp->v_mount))
 break;



CVS commit: src/sys

2017-06-04 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Sun Jun  4 08:02:26 UTC 2017

Modified Files:
src/sys/kern: vfs_vnode.c
src/sys/miscfs/genfs: genfs_vnops.c layer_extern.h layer_vfsops.c
src/sys/miscfs/nullfs: null_vnops.c
src/sys/miscfs/overlay: overlay_vnops.c
src/sys/miscfs/umapfs: umap_vnops.c
src/sys/sys: vnode.h vnode_impl.h

Log Message:
Locking a layer vnode using the regular bypass routine is no longer
racy.  Undo the change from 2017-03-30 11:16:52, commitid eurqbzuGxGRlryLz
and make vi_lock a krwlock_t again.


To generate a diff of this commit:
cvs rdiff -u -r1.94 -r1.95 src/sys/kern/vfs_vnode.c
cvs rdiff -u -r1.196 -r1.197 src/sys/miscfs/genfs/genfs_vnops.c
cvs rdiff -u -r1.39 -r1.40 src/sys/miscfs/genfs/layer_extern.h
cvs rdiff -u -r1.50 -r1.51 src/sys/miscfs/genfs/layer_vfsops.c
cvs rdiff -u -r1.41 -r1.42 src/sys/miscfs/nullfs/null_vnops.c
cvs rdiff -u -r1.23 -r1.24 src/sys/miscfs/overlay/overlay_vnops.c
cvs rdiff -u -r1.59 -r1.60 src/sys/miscfs/umapfs/umap_vnops.c
cvs rdiff -u -r1.277 -r1.278 src/sys/sys/vnode.h
cvs rdiff -u -r1.14 -r1.15 src/sys/sys/vnode_impl.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/vfs_vnode.c
diff -u src/sys/kern/vfs_vnode.c:1.94 src/sys/kern/vfs_vnode.c:1.95
--- src/sys/kern/vfs_vnode.c:1.94	Sun Jun  4 07:58:29 2017
+++ src/sys/kern/vfs_vnode.c	Sun Jun  4 08:02:26 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: vfs_vnode.c,v 1.94 2017/06/04 07:58:29 hannken Exp $	*/
+/*	$NetBSD: vfs_vnode.c,v 1.95 2017/06/04 08:02:26 hannken Exp $	*/
 
 /*-
  * Copyright (c) 1997-2011 The NetBSD Foundation, Inc.
@@ -156,7 +156,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: vfs_vnode.c,v 1.94 2017/06/04 07:58:29 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_vnode.c,v 1.95 2017/06/04 08:02:26 hannken Exp $");
 
 #include 
 #include 
@@ -424,21 +424,6 @@ vnis_marker(vnode_t *vp)
 }
 
 /*
- * Set vnode to share another vnodes lock.
- */
-void
-vshare_lock(vnode_t *vp, vnode_t *src_vp)
-{
-	vnode_impl_t *vip = VNODE_TO_VIMPL(vp);
-	vnode_impl_t *src_vip = VNODE_TO_VIMPL(src_vp);
-	krwlock_t *oldlock = vip->vi_lock;
-
-	rw_obj_hold(src_vip->vi_lock);
-	vip->vi_lock = src_vip->vi_lock;
-	rw_obj_free(oldlock);
-}
-
-/*
  * Return the lru list this node should be on.
  */
 static vnodelst_t *
@@ -1123,7 +1108,7 @@ vcache_alloc(void)
 	vip = pool_cache_get(vcache_pool, PR_WAITOK);
 	memset(vip, 0, sizeof(*vip));
 
-	vip->vi_lock = rw_obj_alloc();
+	rw_init(>vi_lock);
 	/* SLIST_INIT(>vi_hash); */
 	/* LIST_INIT(>vi_nclist); */
 	/* LIST_INIT(>vi_dnclist); */
@@ -1185,7 +1170,7 @@ vcache_free(vnode_impl_t *vip)
 	if (vp->v_type == VBLK || vp->v_type == VCHR)
 		spec_node_destroy(vp);
 
-	rw_obj_free(vip->vi_lock);
+	rw_destroy(>vi_lock);
 	uvm_obj_destroy(>v_uobj, true);
 	cv_destroy(>v_cv);
 	pool_cache_put(vcache_pool, vip);

Index: src/sys/miscfs/genfs/genfs_vnops.c
diff -u src/sys/miscfs/genfs/genfs_vnops.c:1.196 src/sys/miscfs/genfs/genfs_vnops.c:1.197
--- src/sys/miscfs/genfs/genfs_vnops.c:1.196	Sun Jun  4 08:01:33 2017
+++ src/sys/miscfs/genfs/genfs_vnops.c	Sun Jun  4 08:02:26 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: genfs_vnops.c,v 1.196 2017/06/04 08:01:33 hannken Exp $	*/
+/*	$NetBSD: genfs_vnops.c,v 1.197 2017/06/04 08:02:26 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -57,7 +57,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: genfs_vnops.c,v 1.196 2017/06/04 08:01:33 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: genfs_vnops.c,v 1.197 2017/06/04 08:02:26 hannken Exp $");
 
 #include 
 #include 
@@ -294,10 +294,10 @@ genfs_deadlock(void *v)
 
 	op = (ISSET(flags, LK_EXCLUSIVE) ? RW_WRITER : RW_READER);
 	if (ISSET(flags, LK_NOWAIT)) {
-		if (! rw_tryenter(vip->vi_lock, op))
+		if (! rw_tryenter(>vi_lock, op))
 			return EBUSY;
 	} else {
-		rw_enter(vip->vi_lock, op);
+		rw_enter(>vi_lock, op);
 	}
 	VSTATE_ASSERT_UNLOCKED(vp, VS_RECLAIMED);
 	return 0;
@@ -315,7 +315,7 @@ genfs_deadunlock(void *v)
 	vnode_t *vp = ap->a_vp;
 	vnode_impl_t *vip = VNODE_TO_VIMPL(vp);
 
-	rw_exit(vip->vi_lock);
+	rw_exit(>vi_lock);
 
 	return 0;
 }
@@ -337,10 +337,10 @@ genfs_lock(void *v)
 
 	op = (ISSET(flags, LK_EXCLUSIVE) ? RW_WRITER : RW_READER);
 	if (ISSET(flags, LK_NOWAIT)) {
-		if (! rw_tryenter(vip->vi_lock, op))
+		if (! rw_tryenter(>vi_lock, op))
 			return EBUSY;
 	} else {
-		rw_enter(vip->vi_lock, op);
+		rw_enter(>vi_lock, op);
 	}
 	VSTATE_ASSERT_UNLOCKED(vp, VS_ACTIVE);
 	return 0;
@@ -358,7 +358,7 @@ genfs_unlock(void *v)
 	vnode_t *vp = ap->a_vp;
 	vnode_impl_t *vip = VNODE_TO_VIMPL(vp);
 
-	rw_exit(vip->vi_lock);
+	rw_exit(>vi_lock);
 
 	return 0;
 }
@@ -375,10 +375,10 @@ genfs_islocked(void *v)
 	vnode_t *vp = ap->a_vp;
 	vnode_impl_t *vip = VNODE_TO_VIMPL(vp);
 
-	if (rw_write_held(vip->vi_lock))
+	if (rw_write_held(>vi_lock))
 		return LK_EXCLUSIVE;
 
-	if (rw_read_held(vip->vi_lock))
+	if 

CVS commit: src/sys/miscfs/genfs

2017-06-04 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Sun Jun  4 08:01:33 UTC 2017

Modified Files:
src/sys/miscfs/genfs: genfs_vnops.c

Log Message:
Now that FSTRANS is part of VOP_*LOCK() remove FSTRANS and vdead_check()
from genfs_.*lock() and assert the vnode state once the vnode is locked.


To generate a diff of this commit:
cvs rdiff -u -r1.195 -r1.196 src/sys/miscfs/genfs/genfs_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/miscfs/genfs/genfs_vnops.c
diff -u src/sys/miscfs/genfs/genfs_vnops.c:1.195 src/sys/miscfs/genfs/genfs_vnops.c:1.196
--- src/sys/miscfs/genfs/genfs_vnops.c:1.195	Tue Apr 11 14:29:32 2017
+++ src/sys/miscfs/genfs/genfs_vnops.c	Sun Jun  4 08:01:33 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: genfs_vnops.c,v 1.195 2017/04/11 14:29:32 riastradh Exp $	*/
+/*	$NetBSD: genfs_vnops.c,v 1.196 2017/06/04 08:01:33 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -57,7 +57,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: genfs_vnops.c,v 1.195 2017/04/11 14:29:32 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: genfs_vnops.c,v 1.196 2017/06/04 08:01:33 hannken Exp $");
 
 #include 
 #include 
@@ -288,41 +288,18 @@ genfs_deadlock(void *v)
 	vnode_impl_t *vip = VNODE_TO_VIMPL(vp);
 	int flags = ap->a_flags;
 	krw_t op;
-	int error;
+
+	if (! ISSET(flags, LK_RETRY))
+		return ENOENT;
 
 	op = (ISSET(flags, LK_EXCLUSIVE) ? RW_WRITER : RW_READER);
 	if (ISSET(flags, LK_NOWAIT)) {
 		if (! rw_tryenter(vip->vi_lock, op))
 			return EBUSY;
-		if (mutex_tryenter(vp->v_interlock)) {
-			error = vdead_check(vp, VDEAD_NOWAIT);
-			if (error == ENOENT && ISSET(flags, LK_RETRY))
-error = 0;
-			mutex_exit(vp->v_interlock);
-		} else
-			error = EBUSY;
-		if (error)
-			rw_exit(vip->vi_lock);
-		return error;
-	}
-
-	rw_enter(vip->vi_lock, op);
-	mutex_enter(vp->v_interlock);
-	error = vdead_check(vp, VDEAD_NOWAIT);
-	if (error == EBUSY) {
-		rw_exit(vip->vi_lock);
-		error = vdead_check(vp, 0);
-		KASSERT(error == ENOENT);
-		mutex_exit(vp->v_interlock);
+	} else {
 		rw_enter(vip->vi_lock, op);
-		mutex_enter(vp->v_interlock);
-	}
-	KASSERT(error == ENOENT);
-	mutex_exit(vp->v_interlock);
-	if (! ISSET(flags, LK_RETRY)) {
-		rw_exit(vip->vi_lock);
-		return ENOENT;
 	}
+	VSTATE_ASSERT_UNLOCKED(vp, VS_RECLAIMED);
 	return 0;
 }
 
@@ -355,43 +332,18 @@ genfs_lock(void *v)
 	} */ *ap = v;
 	vnode_t *vp = ap->a_vp;
 	vnode_impl_t *vip = VNODE_TO_VIMPL(vp);
-	struct mount *mp = vp->v_mount;
 	int flags = ap->a_flags;
 	krw_t op;
-	int error;
 
 	op = (ISSET(flags, LK_EXCLUSIVE) ? RW_WRITER : RW_READER);
 	if (ISSET(flags, LK_NOWAIT)) {
-		if (fstrans_start_nowait(mp, FSTRANS_SHARED))
-			return EBUSY;
-		if (! rw_tryenter(vip->vi_lock, op)) {
-			fstrans_done(mp);
+		if (! rw_tryenter(vip->vi_lock, op))
 			return EBUSY;
-		}
-		if (mutex_tryenter(vp->v_interlock)) {
-			error = vdead_check(vp, VDEAD_NOWAIT);
-			mutex_exit(vp->v_interlock);
-		} else
-			error = EBUSY;
-		if (error) {
-			rw_exit(vip->vi_lock);
-			fstrans_done(mp);
-		}
-		return error;
-	}
-
-	fstrans_start(mp, FSTRANS_SHARED);
-	rw_enter(vip->vi_lock, op);
-	mutex_enter(vp->v_interlock);
-	error = vdead_check(vp, VDEAD_NOWAIT);
-	if (error) {
-		rw_exit(vip->vi_lock);
-		fstrans_done(mp);
-		error = vdead_check(vp, 0);
-		KASSERT(error == ENOENT);
+	} else {
+		rw_enter(vip->vi_lock, op);
 	}
-	mutex_exit(vp->v_interlock);
-	return error;
+	VSTATE_ASSERT_UNLOCKED(vp, VS_ACTIVE);
+	return 0;
 }
 
 /*
@@ -405,10 +357,8 @@ genfs_unlock(void *v)
 	} */ *ap = v;
 	vnode_t *vp = ap->a_vp;
 	vnode_impl_t *vip = VNODE_TO_VIMPL(vp);
-	struct mount *mp = vp->v_mount;
 
 	rw_exit(vip->vi_lock);
-	fstrans_done(mp);
 
 	return 0;
 }



CVS commit: src/sys

2017-06-04 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Sun Jun  4 08:00:27 UTC 2017

Modified Files:
src/sys/kern: vnode_if.c
src/sys/rump/include/rump: rumpvnode_if.h
src/sys/rump/librump/rumpvfs: rumpvnode_if.c
src/sys/sys: vnode_if.h

Log Message:
Regen.


To generate a diff of this commit:
cvs rdiff -u -r1.104 -r1.105 src/sys/kern/vnode_if.c
cvs rdiff -u -r1.28 -r1.29 src/sys/rump/include/rump/rumpvnode_if.h
cvs rdiff -u -r1.28 -r1.29 src/sys/rump/librump/rumpvfs/rumpvnode_if.c
cvs rdiff -u -r1.99 -r1.100 src/sys/sys/vnode_if.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/vnode_if.c
diff -u src/sys/kern/vnode_if.c:1.104 src/sys/kern/vnode_if.c:1.105
--- src/sys/kern/vnode_if.c:1.104	Fri May 26 14:21:54 2017
+++ src/sys/kern/vnode_if.c	Sun Jun  4 08:00:27 2017
@@ -1,13 +1,13 @@
-/*	$NetBSD: vnode_if.c,v 1.104 2017/05/26 14:21:54 riastradh Exp $	*/
+/*	$NetBSD: vnode_if.c,v 1.105 2017/06/04 08:00:27 hannken Exp $	*/
 
 /*
  * Warning: DO NOT EDIT! This file is automatically generated!
  * (Modifications made here may easily be lost!)
  *
  * Created from the file:
- *	NetBSD: vnode_if.src,v 1.75 2017/05/26 14:21:00 riastradh Exp
+ *	NetBSD: vnode_if.src,v 1.76 2017/06/04 07:59:17 hannken Exp
  * by the script:
- *	NetBSD: vnode_if.sh,v 1.64 2017/04/16 17:18:28 riastradh Exp
+ *	NetBSD: vnode_if.sh,v 1.65 2017/06/04 07:59:17 hannken Exp
  */
 
 /*
@@ -40,7 +40,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: vnode_if.c,v 1.104 2017/05/26 14:21:54 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vnode_if.c,v 1.105 2017/06/04 08:00:27 hannken Exp $");
 
 #include 
 #include 
@@ -49,6 +49,57 @@ __KERNEL_RCSID(0, "$NetBSD: vnode_if.c,v
 #include 
 #include 
 
+enum fst_op { FST_NO, FST_YES, FST_TRY };
+
+static inline int
+vop_pre(vnode_t *vp, struct mount **mp, bool *mpsafe, enum fst_op op)
+{
+	int error;
+
+	*mpsafe = (vp->v_vflag & VV_MPSAFE);
+
+	if (!*mpsafe) {
+		KERNEL_LOCK(1, curlwp);
+	}
+
+	if (op == FST_YES || op == FST_TRY) {
+		for (;;) {
+			*mp = vp->v_mount;
+			if (op == FST_TRY) {
+error = fstrans_start_nowait(*mp, FSTRANS_SHARED);
+if (error) {
+	if (!*mpsafe) {
+		KERNEL_UNLOCK_ONE(curlwp);
+	}
+	return error;
+}
+			} else {
+fstrans_start(*mp, FSTRANS_SHARED);
+			}
+			if (__predict_true(*mp == vp->v_mount))
+break;
+			fstrans_done(*mp);
+		}
+	} else {
+		*mp = vp->v_mount;
+	}
+
+	return 0;
+}
+
+static inline void
+vop_post(vnode_t *vp, struct mount *mp, bool mpsafe, enum fst_op op)
+{
+
+	if (op == FST_YES) {
+		fstrans_done(mp);
+	}
+
+	if (!mpsafe) {
+		KERNEL_UNLOCK_ONE(curlwp);
+	}
+}
+
 const struct vnodeop_desc vop_default_desc = {
 	0,
 	"default",
@@ -80,16 +131,15 @@ VOP_BWRITE(struct vnode *vp,
 	int error;
 	bool mpsafe;
 	struct vop_bwrite_args a;
-	struct mount *mp = vp->v_mount;
+	struct mount *mp;
 	a.a_desc = VDESC(vop_bwrite);
 	a.a_vp = vp;
 	a.a_bp = bp;
-	mpsafe = (vp->v_vflag & VV_MPSAFE);
-	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
-	fstrans_start(mp, FSTRANS_SHARED);
+	error = vop_pre(vp, , , FST_YES);
+	if (error)
+		return error;
 	error = (VCALL(vp, VOFFSET(vop_bwrite), ));
-	fstrans_done(mp);
-	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	vop_post(vp, mp, mpsafe, FST_YES);
 	return error;
 }
 
@@ -114,14 +164,16 @@ VOP_LOOKUP(struct vnode *dvp,
 	int error;
 	bool mpsafe;
 	struct vop_lookup_v2_args a;
+	struct mount *mp;
 	a.a_desc = VDESC(vop_lookup);
 	a.a_dvp = dvp;
 	a.a_vpp = vpp;
 	a.a_cnp = cnp;
-	mpsafe = (dvp->v_vflag & VV_MPSAFE);
-	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
+	error = vop_pre(dvp, , , FST_NO);
+	if (error)
+		return error;
 	error = (VCALL(dvp, VOFFSET(vop_lookup), ));
-	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	vop_post(dvp, mp, mpsafe, FST_NO);
 #ifdef DIAGNOSTIC
 	if (error == 0)
 		KASSERT((*vpp)->v_size != VSIZENOTSET
@@ -152,15 +204,17 @@ VOP_CREATE(struct vnode *dvp,
 	int error;
 	bool mpsafe;
 	struct vop_create_v3_args a;
+	struct mount *mp;
 	a.a_desc = VDESC(vop_create);
 	a.a_dvp = dvp;
 	a.a_vpp = vpp;
 	a.a_cnp = cnp;
 	a.a_vap = vap;
-	mpsafe = (dvp->v_vflag & VV_MPSAFE);
-	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
+	error = vop_pre(dvp, , , FST_NO);
+	if (error)
+		return error;
 	error = (VCALL(dvp, VOFFSET(vop_create), ));
-	if (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }
+	vop_post(dvp, mp, mpsafe, FST_NO);
 #ifdef DIAGNOSTIC
 	if (error == 0)
 		KASSERT((*vpp)->v_size != VSIZENOTSET
@@ -191,15 +245,17 @@ VOP_MKNOD(struct vnode *dvp,
 	int error;
 	bool mpsafe;
 	struct vop_mknod_v3_args a;
+	struct mount *mp;
 	a.a_desc = VDESC(vop_mknod);
 	a.a_dvp = dvp;
 	a.a_vpp = vpp;
 	a.a_cnp = cnp;
 	a.a_vap = vap;
-	mpsafe = (dvp->v_vflag & VV_MPSAFE);
-	if (!mpsafe) { KERNEL_LOCK(1, curlwp); }
+	error = vop_pre(dvp, , , FST_NO);
+	if (error)
+		return error;
 	error = (VCALL(dvp, VOFFSET(vop_mknod), ));
-	if (!mpsafe) { 

CVS commit: src/sys/kern

2017-06-04 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Sun Jun  4 07:59:17 UTC 2017

Modified Files:
src/sys/kern: vnode_if.sh vnode_if.src

Log Message:
Add "FSTRANS=LOCK" and "FSTRANS=UNLOCK" to vop_lock and vop_unlock.

Add two "static inline" functions to vnode_if.c to handle MPSAFE
and FSTRANS before and after the "VCALL()".

Take FSTRANS and handle error before "VCALL(...vop_lock...)" and
release it after "VCALL(...vop_unlock...)".


To generate a diff of this commit:
cvs rdiff -u -r1.64 -r1.65 src/sys/kern/vnode_if.sh
cvs rdiff -u -r1.75 -r1.76 src/sys/kern/vnode_if.src

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/vnode_if.sh
diff -u src/sys/kern/vnode_if.sh:1.64 src/sys/kern/vnode_if.sh:1.65
--- src/sys/kern/vnode_if.sh:1.64	Sun Apr 16 17:18:28 2017
+++ src/sys/kern/vnode_if.sh	Sun Jun  4 07:59:17 2017
@@ -29,7 +29,7 @@ copyright="\
  * SUCH DAMAGE.
  */
 "
-SCRIPT_ID='$NetBSD: vnode_if.sh,v 1.64 2017/04/16 17:18:28 riastradh Exp $'
+SCRIPT_ID='$NetBSD: vnode_if.sh,v 1.65 2017/06/04 07:59:17 hannken Exp $'
 
 # Script to produce VFS front-end sugar.
 #
@@ -100,7 +100,7 @@ awk_parser='
 	args_name=$1;
 	argc=0;
 	willmake=-1;
-	fstrans=0;
+	fstrans="";
 	next;
 }
 # Last line of description
@@ -113,11 +113,9 @@ awk_parser='
 	if ($1 == "VERSION") {
 		args_name=args_name "_v" $2;
 		next;
-	} else if ($1 == "FSTRANS=YES") {
-		fstrans = 1;
-		next;
-	} else if ($1 == "FSTRANS=NO") {
-		fstrans = -1;
+	} else if ($1 ~ "^FSTRANS=") {
+		fstrans = $1;
+		sub("FSTRANS=", "", fstrans);
 		next;
 	}
 
@@ -147,8 +145,12 @@ awk_parser='
 		willmake=argc;
 		i++;
 	}
-	if (argc == 0 && fstrans == 0 && lockstate[0] != 1)
-		fstrans = 1;
+	if (argc == 0 && fstrans == "") {
+		if (lockstate[0] == 1)
+			fstrans = "NO";
+		else
+			fstrans = "YES";
+	}
 
 	# XXX: replace non-portable types for rump.  We should really
 	# nuke the types from the kernel, but that is a battle for
@@ -316,6 +318,57 @@ echo '
 
 if [ -z "${rump}" ] ; then
 	echo "
+enum fst_op { FST_NO, FST_YES, FST_TRY };
+
+static inline int
+vop_pre(vnode_t *vp, struct mount **mp, bool *mpsafe, enum fst_op op)
+{
+	int error;
+
+	*mpsafe = (vp->v_vflag & VV_MPSAFE);
+
+	if (!*mpsafe) {
+		KERNEL_LOCK(1, curlwp);
+	}
+
+	if (op == FST_YES || op == FST_TRY) {
+		for (;;) {
+			*mp = vp->v_mount;
+			if (op == FST_TRY) {
+error = fstrans_start_nowait(*mp, FSTRANS_SHARED);
+if (error) {
+	if (!*mpsafe) {
+		KERNEL_UNLOCK_ONE(curlwp);
+	}
+	return error;
+}
+			} else {
+fstrans_start(*mp, FSTRANS_SHARED);
+			}
+			if (__predict_true(*mp == vp->v_mount))
+break;
+			fstrans_done(*mp);
+		}
+	} else {
+		*mp = vp->v_mount;
+	}
+
+	return 0;
+}
+
+static inline void
+vop_post(vnode_t *vp, struct mount *mp, bool mpsafe, enum fst_op op)
+{
+
+	if (op == FST_YES) {
+		fstrans_done(mp);
+	}
+
+	if (!mpsafe) {
+		KERNEL_UNLOCK_ONE(curlwp);
+	}
+}
+
 const struct vnodeop_desc vop_default_desc = {"
 echo '	0,
 	"default",
@@ -402,8 +455,7 @@ function bodyrump() {
 function bodynorm() {
 	printf("{\n\tint error;\n\tbool mpsafe;\n\tstruct %s_args a;\n",
 		args_name);
-	if (fstrans == 1)
-		printf("\tstruct mount *mp = %s->v_mount;\n", argname[0]);
+	printf("\tstruct mount *mp;\n");
 	if (lockdebug) {
 		printf("#ifdef VNODE_LOCKDEBUG\n");
 		for (i=0; iv_vflag & VV_MPSAFE);\n", argname[0]);
-	printf("\tif (!mpsafe) { KERNEL_LOCK(1, curlwp); }\n");
-	if (fstrans == 1)
-		printf("\tfstrans_start(mp, FSTRANS_SHARED);\n");
+	if (fstrans == "LOCK")
+		printf("\terror = vop_pre(%s, , , %s);\n",
+			argname[0], "(flags & LK_NOWAIT ? FST_TRY : FST_YES)");
+	else if (fstrans == "UNLOCK")
+		printf("\terror = vop_pre(%s, , , FST_%s);\n",
+			argname[0], "NO");
+	else
+		printf("\terror = vop_pre(%s, , , FST_%s);\n",
+			argname[0], fstrans);
+	printf("\tif (error)\n\t\treturn error;\n");
 	printf("\terror = (VCALL(%s, VOFFSET(%s), ));\n",
 		argname[0], name);
-	if (fstrans == 1)
-		printf("\tfstrans_done(mp);\n");
-	printf("\tif (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }\n");
+	if (fstrans == "LOCK")
+		printf("\tvop_post(%s, mp, mpsafe, %s);\n",
+			argname[0], "(error ? FST_YES : FST_NO)");
+	else if (fstrans == "UNLOCK")
+		printf("\tvop_post(%s, mp, mpsafe, FST_%s);\n",
+			argname[0], "YES");
+	else
+		printf("\tvop_post(%s, mp, mpsafe, FST_%s);\n",
+			argname[0], fstrans);
 	if (willmake != -1) {
 		printf("#ifdef DIAGNOSTIC\n");
 		printf("\tif (error == 0)\n"\

Index: src/sys/kern/vnode_if.src
diff -u src/sys/kern/vnode_if.src:1.75 src/sys/kern/vnode_if.src:1.76
--- src/sys/kern/vnode_if.src:1.75	Fri May 26 14:21:00 2017
+++ src/sys/kern/vnode_if.src	Sun Jun  4 07:59:17 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: vnode_if.src,v 1.75 2017/05/26 14:21:00 riastradh Exp $
+#	$NetBSD: vnode_if.src,v 1.76 

CVS commit: src/sys

2017-06-04 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Sun Jun  4 07:58:30 UTC 2017

Modified Files:
src/sys/kern: vfs_subr.c vfs_vnode.c
src/sys/sys: vnode_impl.h

Log Message:
A vnode is usually called "active", if it has an associated file system
node and a usecount greater zero.  Therefore rename state "VS_ACTIVE"
to "VS_LOADED" and add a new synthetic state "VS_ACTIVE" for VSTATE_ASSERT()
to assert an active vnode.

Add VSTATE_ASSERT_UNLOCKED() to be used with v_interlock unheld and
move the state assertion macros to sys/vnode_impl.h.


To generate a diff of this commit:
cvs rdiff -u -r1.467 -r1.468 src/sys/kern/vfs_subr.c
cvs rdiff -u -r1.93 -r1.94 src/sys/kern/vfs_vnode.c
cvs rdiff -u -r1.13 -r1.14 src/sys/sys/vnode_impl.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/vfs_subr.c
diff -u src/sys/kern/vfs_subr.c:1.467 src/sys/kern/vfs_subr.c:1.468
--- src/sys/kern/vfs_subr.c:1.467	Fri May 26 14:34:19 2017
+++ src/sys/kern/vfs_subr.c	Sun Jun  4 07:58:29 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: vfs_subr.c,v 1.467 2017/05/26 14:34:19 riastradh Exp $	*/
+/*	$NetBSD: vfs_subr.c,v 1.468 2017/06/04 07:58:29 hannken Exp $	*/
 
 /*-
  * Copyright (c) 1997, 1998, 2004, 2005, 2007, 2008 The NetBSD Foundation, Inc.
@@ -68,7 +68,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: vfs_subr.c,v 1.467 2017/05/26 14:34:19 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_subr.c,v 1.468 2017/06/04 07:58:29 hannken Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ddb.h"
@@ -1055,12 +1055,14 @@ vstate_name(enum vnode_state state)
 {
 
 	switch (state) {
+	case VS_ACTIVE:
+		return "ACTIVE";
 	case VS_MARKER:
 		return "MARKER";
 	case VS_LOADING:
 		return "LOADING";
-	case VS_ACTIVE:
-		return "ACTIVE";
+	case VS_LOADED:
+		return "LOADED";
 	case VS_BLOCKED:
 		return "BLOCKED";
 	case VS_RECLAIMING:

Index: src/sys/kern/vfs_vnode.c
diff -u src/sys/kern/vfs_vnode.c:1.93 src/sys/kern/vfs_vnode.c:1.94
--- src/sys/kern/vfs_vnode.c:1.93	Sun May 28 16:39:41 2017
+++ src/sys/kern/vfs_vnode.c	Sun Jun  4 07:58:29 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: vfs_vnode.c,v 1.93 2017/05/28 16:39:41 hannken Exp $	*/
+/*	$NetBSD: vfs_vnode.c,v 1.94 2017/06/04 07:58:29 hannken Exp $	*/
 
 /*-
  * Copyright (c) 1997-2011 The NetBSD Foundation, Inc.
@@ -100,7 +100,7 @@
  *			will never change its state.
  *	- LOADING	Vnode is associating underlying file system and not
  *			yet ready to use.
- *	- ACTIVE	Vnode has associated underlying file system and is
+ *	- LOADED	Vnode has associated underlying file system and is
  *			ready to use.
  *	- BLOCKED	Vnode is active but cannot get new references.
  *	- RECLAIMING	Vnode is disassociating from the underlying file
@@ -109,19 +109,19 @@
  *			and is dead.
  *
  *	Valid state changes are:
- *	LOADING -> ACTIVE
+ *	LOADING -> LOADED
  *			Vnode has been initialised in vcache_get() or
  *			vcache_new() and is ready to use.
- *	ACTIVE -> RECLAIMING
+ *	LOADED -> RECLAIMING
  *			Vnode starts disassociation from underlying file
  *			system in vcache_reclaim().
  *	RECLAIMING -> RECLAIMED
  *			Vnode finished disassociation from underlying file
  *			system in vcache_reclaim().
- *	ACTIVE -> BLOCKED
+ *	LOADED -> BLOCKED
  *			Either vcache_rekey*() is changing the vnode key or
  *			vrelel() is about to call VOP_INACTIVE().
- *	BLOCKED -> ACTIVE
+ *	BLOCKED -> LOADED
  *			The block condition is over.
  *	LOADING -> RECLAIMED
  *			Either vcache_get() or vcache_new() failed to
@@ -156,7 +156,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: vfs_vnode.c,v 1.93 2017/05/28 16:39:41 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_vnode.c,v 1.94 2017/06/04 07:58:29 hannken Exp $");
 
 #include 
 #include 
@@ -231,26 +231,30 @@ extern struct vfsops	dead_vfsops;
 
 #if defined(DIAGNOSTIC)
 
+#define VSTATE_VALID(state) \
+	((state) != VS_ACTIVE && (state) != VS_MARKER)
 #define VSTATE_GET(vp) \
 	vstate_assert_get((vp), __func__, __LINE__)
 #define VSTATE_CHANGE(vp, from, to) \
 	vstate_assert_change((vp), (from), (to), __func__, __LINE__)
 #define VSTATE_WAIT_STABLE(vp) \
 	vstate_assert_wait_stable((vp), __func__, __LINE__)
-#define VSTATE_ASSERT(vp, state) \
-	vstate_assert((vp), (state), __func__, __LINE__)
 
-static void
-vstate_assert(vnode_t *vp, enum vnode_state state, const char *func, int line)
+void
+_vstate_assert(vnode_t *vp, enum vnode_state state, const char *func, int line)
 {
 	vnode_impl_t *vip = VNODE_TO_VIMPL(vp);
 
 	KASSERTMSG(mutex_owned(vp->v_interlock), "at %s:%d", func, line);
 
-	if (__predict_true(vip->vi_state == state))
+	if (state == VS_ACTIVE && vp->v_usecount > 0 &&
+	(vip->vi_state == VS_LOADED || vip->vi_state == VS_BLOCKED))
 		return;
-	vnpanic(vp, "state is %s, expected %s at %s:%d",
-	vstate_name(vip->vi_state), vstate_name(state), func, line);
+	if (vip->vi_state == state)
+		return;
+	vnpanic(vp, "state is %s, usecount %d, expected %s at 

CVS commit: src/doc

2017-06-04 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Sun Jun  4 07:18:22 UTC 2017

Modified Files:
src/doc: CHANGES.prev

Log Message:
roll 8.0 changes into CHANGES.prev


To generate a diff of this commit:
cvs rdiff -u -r1.131 -r1.132 src/doc/CHANGES.prev

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.prev
diff -u src/doc/CHANGES.prev:1.131 src/doc/CHANGES.prev:1.132
--- src/doc/CHANGES.prev:1.131	Fri Aug  7 15:53:24 2015
+++ src/doc/CHANGES.prev	Sun Jun  4 07:18:22 2017
@@ -1,4 +1,4 @@
-LIST OF CHANGES FROM PREVIOUS RELEASES:			<$Revision: 1.131 $>
+LIST OF CHANGES FROM PREVIOUS RELEASES:			<$Revision: 1.132 $>
 
 
 Changes from 386bsd 0.1 + patchkit 0.2.2 to NetBSD 0.8:
@@ -11723,3 +11723,501 @@ Changes from NetBSD 6.0 to NetBSD 7.0:
 	malloc(9): Interface obsoleted and cleaned up. [maxv 20150325]
 	ixg(4): Add X540 support [msaitoh 20150327]
 	veriexec(4): Several improvements and bug fixes. [maxv 20150519]
+
+Changes from NetBSD 7.0 to NetBSD 8.0:
+	libc: Update to tzcode2014f. [christos 20140815]
+	gmake:	Update to gmake-3.81 in external/gpl2/gmake and remove 
+		gnu/dist/gmake (3.80) [christos 20140818]
+	module(7): Create MODULAR_DEFAULT_AUTOLOAD config flag to control
+		whether module autoloading is on by default.
+		[jnemeth 20140824]
+	kernel: Option SYMTAB_SPACE has been replaced with COPY_SYMTAB.
+		The related changes to src/sys/conf require a rebuild of
+		config(1). [joerg 20140824]
+	zoneinfo: Import tzdata2014g. [apb 20140831]
+	wm(4): Add internal SERDES support for 82575 and newer controllers.
+		[msaitoh 20140903]
+	or1k: Add new port.  [matt 20140903]
+	awindma(4): Add support for Allwinner A10/A20 DMA controller.
+		[jmcneill 20140906]
+	awinac(4): Add support for Allwinner A10/A20 audio codec.
+		[jmcneill 20140906]
+	awinrtc(4): Add support for Allwinner A10/A20 real-time clock.
+		[jmcneill 20140907]
+	awinmmc(4): Use DMA for MMC transfers. [jmcneill 20140908]
+	axp20x(4): Add AXP20x PMU driver. [jmcneill 20140909]
+	rtsol(8): Removed in favour of dhcpcd. [roy 20140911]
+	rtsold(8): Removed in favour of dhcpcd. [roy 20140911]
+	dhcpcd(8): Import dhcpcd-6.4.5. [roy 20140918]
+	arm: Add support for i.MX6 SoC. [ryo 20140925]
+	gpt(8): Completed overhaul, including adding follwing subcommands:
+		resize, set, unset, backup, restore, and resizedisk.
+		[jnemeth 20140926]
+	dhcpcd(8): Import dhcpcd-6.4.7. [roy 20140927]
+	mpt(4): added bio(4) support. [jmcneill 20140927]
+	gpt(8): added type subcommand to modify partition type.
+		[jnemeth 20140927]
+	zoneinfo: Import tzdata2014h. [apb 20141004]
+	dhcpcd(8): Import dhcpcd-6.5.0. [roy 20141006]
+	libc: Update to tzcode2014h. [christos 20141007]
+	file(1): Upgraded to 5.20. [christos 20141010]
+	arm: Add support for Allwinner A31 SoC. [jmcneill 20141010]
+	awiniic(4): Add support for Allwinner A31 SoC. [jmcneill 20141012]
+	awinp2wi(4): Add support for Allwinner A31 Push-Pull Two Wire
+		Interface. [jmcneill 20141012]
+	axp22x(4): Add AXP22x PMU driver. [jmcneill 20141012]
+	awinrtc(4): Add support for Allwinner A31 real-time clock.
+		[jmcneill 20141012]
+	awindma(4): Add support for Allwinner A31 DMA controller.
+		[jmcneill 20141013]
+	awinac(4): Add support for Allwinner A31 audio codec.
+		[jmcneill 20141013]
+	motg(4): Add support for Allwinner A10/A20 SoC. [jmcneill 20141015]
+	wpa: Import wpa_supplicant and hostapd 2.3. [christos 20141016]
+	dhcpcd(8): Import dhcpcd-6.5.1. [roy 20141018]
+	OpenSSH: Imported 6.7. [christos 20141018]
+	resolvconf(8): Import openresolv-3.6.0 [roy 20141020]
+	gcc: Support -fsanitize=address [christos 20141022]
+	zoneinfo: Import tzdata2014i. [apb 20141023]
+	libc: Update to tzcode2014i. [christos 20141023]
+	openpam(3): update to 20140912 (ourouparia) [christos 20141024]
+	pppd(8): updated to version 2.4.7. [christos 20141025]
+	acpi(4): Updated ACPICA to 20140926. [christos 20141025]
+	dhcpcd(8): Import dhcpcd-6.6.0 [roy 20141029]
+	resolvconf(8): Import openresolv-3.6.1 [roy 20141029]
+	rtsx(4): Add support for Realtek RTS5227/RTL8402/RTL8411/RTL8411B.
+		[nonaka 20141029]
+	flex(1): Import flex-2.5.37 [christos 20141029]
+	iwn(4): Add support for Intel Centrino Wireless-N
+		100/105/130/135/2200/2230. From OpenBSD. [nonaka 20141030]
+	awge(4): Add support for gigabit ethernet found on various
+		Allwinner SOCs. [martin 20141101]
+	dhcpcd(8): Import dhcpcd-6.6.1. [roy 20141107]
+	awinhdmi(4): Add support for Allwinner A20/A31 HDMI controller.
+		[jmcneill 20141110]
+	awintcon(4): Add support for Allwinner A20/A31 TV/LCD controller.
+		[jmcneill 20141110]
+	awindebe(4): Add support for Allwinner A20/A31 Display engine
+		backend (DE-BE). [jmcneill 20141110]
+	awinhdmiaudio(4): Add support for Allwinner A20/A31 HDMI audio
+		controller. [jmcneill 2014]
+	dhcpcd(8): Import dhcpcd-6.6.2. [roy 20141114]
+	awinir(4): Add support for Allwinner A20/A31 IR receiver.
+		[jmcneill 

CVS commit: src/doc

2017-06-04 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Sun Jun  4 07:18:39 UTC 2017

Modified Files:
src/doc: CHANGES

Log Message:
zero out for 9.0


To generate a diff of this commit:
cvs rdiff -u -r1.2286 -r1.2287 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.2286 src/doc/CHANGES:1.2287
--- src/doc/CHANGES:1.2286	Sat May 27 21:05:02 2017
+++ src/doc/CHANGES	Sun Jun  4 07:18:39 2017
@@ -1,4 +1,4 @@
-# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2286 $>
+# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2287 $>
 #
 #
 # [Note: This file does not mention every change made to the NetBSD source tree.
@@ -24,500 +24,4 @@
 # 
 
 
-Changes from NetBSD 7.0 to NetBSD 8.0:
-	libc: Update to tzcode2014f. [christos 20140815]
-	gmake:	Update to gmake-3.81 in external/gpl2/gmake and remove 
-		gnu/dist/gmake (3.80) [christos 20140818]
-	module(7): Create MODULAR_DEFAULT_AUTOLOAD config flag to control
-		whether module autoloading is on by default.
-		[jnemeth 20140824]
-	kernel: Option SYMTAB_SPACE has been replaced with COPY_SYMTAB.
-		The related changes to src/sys/conf require a rebuild of
-		config(1). [joerg 20140824]
-	zoneinfo: Import tzdata2014g. [apb 20140831]
-	wm(4): Add internal SERDES support for 82575 and newer controllers.
-		[msaitoh 20140903]
-	or1k: Add new port.  [matt 20140903]
-	awindma(4): Add support for Allwinner A10/A20 DMA controller.
-		[jmcneill 20140906]
-	awinac(4): Add support for Allwinner A10/A20 audio codec.
-		[jmcneill 20140906]
-	awinrtc(4): Add support for Allwinner A10/A20 real-time clock.
-		[jmcneill 20140907]
-	awinmmc(4): Use DMA for MMC transfers. [jmcneill 20140908]
-	axp20x(4): Add AXP20x PMU driver. [jmcneill 20140909]
-	rtsol(8): Removed in favour of dhcpcd. [roy 20140911]
-	rtsold(8): Removed in favour of dhcpcd. [roy 20140911]
-	dhcpcd(8): Import dhcpcd-6.4.5. [roy 20140918]
-	arm: Add support for i.MX6 SoC. [ryo 20140925]
-	gpt(8): Completed overhaul, including adding follwing subcommands:
-		resize, set, unset, backup, restore, and resizedisk.
-		[jnemeth 20140926]
-	dhcpcd(8): Import dhcpcd-6.4.7. [roy 20140927]
-	mpt(4): added bio(4) support. [jmcneill 20140927]
-	gpt(8): added type subcommand to modify partition type.
-		[jnemeth 20140927]
-	zoneinfo: Import tzdata2014h. [apb 20141004]
-	dhcpcd(8): Import dhcpcd-6.5.0. [roy 20141006]
-	libc: Update to tzcode2014h. [christos 20141007]
-	file(1): Upgraded to 5.20. [christos 20141010]
-	arm: Add support for Allwinner A31 SoC. [jmcneill 20141010]
-	awiniic(4): Add support for Allwinner A31 SoC. [jmcneill 20141012]
-	awinp2wi(4): Add support for Allwinner A31 Push-Pull Two Wire
-		Interface. [jmcneill 20141012]
-	axp22x(4): Add AXP22x PMU driver. [jmcneill 20141012]
-	awinrtc(4): Add support for Allwinner A31 real-time clock.
-		[jmcneill 20141012]
-	awindma(4): Add support for Allwinner A31 DMA controller.
-		[jmcneill 20141013]
-	awinac(4): Add support for Allwinner A31 audio codec.
-		[jmcneill 20141013]
-	motg(4): Add support for Allwinner A10/A20 SoC. [jmcneill 20141015]
-	wpa: Import wpa_supplicant and hostapd 2.3. [christos 20141016]
-	dhcpcd(8): Import dhcpcd-6.5.1. [roy 20141018]
-	OpenSSH: Imported 6.7. [christos 20141018]
-	resolvconf(8): Import openresolv-3.6.0 [roy 20141020]
-	gcc: Support -fsanitize=address [christos 20141022]
-	zoneinfo: Import tzdata2014i. [apb 20141023]
-	libc: Update to tzcode2014i. [christos 20141023]
-	openpam(3): update to 20140912 (ourouparia) [christos 20141024]
-	pppd(8): updated to version 2.4.7. [christos 20141025]
-	acpi(4): Updated ACPICA to 20140926. [christos 20141025]
-	dhcpcd(8): Import dhcpcd-6.6.0 [roy 20141029]
-	resolvconf(8): Import openresolv-3.6.1 [roy 20141029]
-	rtsx(4): Add support for Realtek RTS5227/RTL8402/RTL8411/RTL8411B.
-		[nonaka 20141029]
-	flex(1): Import flex-2.5.37 [christos 20141029]
-	iwn(4): Add support for Intel Centrino Wireless-N
-		100/105/130/135/2200/2230. From OpenBSD. [nonaka 20141030]
-	awge(4): Add support for gigabit ethernet found on various
-		Allwinner SOCs. [martin 20141101]
-	dhcpcd(8): Import dhcpcd-6.6.1. [roy 20141107]
-	awinhdmi(4): Add support for Allwinner A20/A31 HDMI controller.
-		[jmcneill 20141110]
-	awintcon(4): Add support for Allwinner A20/A31 TV/LCD controller.
-		[jmcneill 20141110]
-	awindebe(4): Add support for Allwinner A20/A31 Display engine
-		backend (DE-BE). [jmcneill 20141110]
-	awinhdmiaudio(4): Add support for Allwinner A20/A31 HDMI audio
-		controller. [jmcneill 2014]
-	dhcpcd(8): Import dhcpcd-6.6.2. [roy 20141114]
-	awinir(4): Add support for Allwinner A20/A31 IR receiver.
-		[jmcneill 20141115]
-	zoneinfo: Import tzdata2014j. [apb 20141116]
-	libc: Change arc4random(3) to use ChaCha20 and per-thread state.
-		[riastradh 20141116]
-	libc: Update to 

CVS commit: src/doc

2017-06-04 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Sun Jun  4 07:17:09 UTC 2017

Modified Files:
src/doc: BRANCHES

Log Message:
note netbsd-8


To generate a diff of this commit:
cvs rdiff -u -r1.341 -r1.342 src/doc/BRANCHES

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

Modified files:

Index: src/doc/BRANCHES
diff -u src/doc/BRANCHES:1.341 src/doc/BRANCHES:1.342
--- src/doc/BRANCHES:1.341	Sat May 27 21:06:26 2017
+++ src/doc/BRANCHES	Sun Jun  4 07:17:09 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: BRANCHES,v 1.341 2017/05/27 21:06:26 bouyer Exp $
+#	$NetBSD: BRANCHES,v 1.342 2017/06/04 07:17:09 snj Exp $
 #
 # This file contains a list of branches that exist in the NetBSD CVS
 # tree and their current state.
@@ -310,6 +310,18 @@ Maintainer:	NetBSD 7 Release Engineering
 Scope:		Entire tree. (src + xsrc)
 Notes:
 		Commits restricted to Release Engineering.
+
+Branch:		netbsd-8
+Description:	The NetBSD 8 release branch
+Status:		Active
+Start Date:	2017-06-04
+End Date:
+Base Tag:	netbsd-8-base
+Maintainer:	Release Engineering 
+Scope:		Entire tree. (src + xsrc)
+Notes:
+		Commits restricted to Release Engineering.
+
 
 # Individual developers' branches (Active/Dormant):
 



CVS commit: src/external/gpl2/groff/tmac

2017-06-04 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Sun Jun  4 07:16:34 UTC 2017

Modified Files:
src/external/gpl2/groff/tmac: mdoc.local

Log Message:
8.0 update, and add 9.0 for THE FUTURE


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/gpl2/groff/tmac/mdoc.local

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

Modified files:

Index: src/external/gpl2/groff/tmac/mdoc.local
diff -u src/external/gpl2/groff/tmac/mdoc.local:1.2 src/external/gpl2/groff/tmac/mdoc.local:1.3
--- src/external/gpl2/groff/tmac/mdoc.local:1.2	Sun Jan 29 05:12:17 2017
+++ src/external/gpl2/groff/tmac/mdoc.local	Sun Jun  4 07:16:34 2017
@@ -1,4 +1,4 @@
-.\" $NetBSD: mdoc.local,v 1.2 2017/01/29 05:12:17 snj Exp $
+.\" $NetBSD: mdoc.local,v 1.3 2017/06/04 07:16:34 snj Exp $
 .\"
 .\" Copyright (c) 2003, 2004 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -44,9 +44,9 @@
 .as doc-str-St--ieee1275-94 " (\*[Lq]\*[doc-Tn-font-size]Open Firmware\*[doc-str-St]\*[Rq])
 .
 .\" Default .Os value
-.ds doc-operating-system NetBSD\~7.0
+.ds doc-operating-system NetBSD\~8.0
 .\" Default footer operating system value
-.ds doc-default-operating-system NetBSD\~7.0
+.ds doc-default-operating-system NetBSD\~8.0
 .\" Other known versions, not yet in groff distribution
 .ds doc-operating-system-NetBSD-1.3.3  1.3.3
 .ds doc-operating-system-NetBSD-1.6.3  1.6.3
@@ -63,6 +63,7 @@
 .ds doc-operating-system-NetBSD-7.07.0
 .ds doc-operating-system-NetBSD-7.17.1
 .ds doc-operating-system-NetBSD-8.08.0
+.ds doc-operating-system-NetBSD-9.09.0
 .ds doc-operating-system-FreeBSD-4.11  4.11
 .ds doc-operating-system-FreeBSD-5.4   5.4
 .ds doc-operating-system-FreeBSD-5.5   5.5



CVS commit: src/sys/sys

2017-06-04 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Sun Jun  4 07:14:56 UTC 2017

Modified Files:
src/sys/sys: param.h

Log Message:
8.99.1


To generate a diff of this commit:
cvs rdiff -u -r1.542 -r1.543 src/sys/sys/param.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/sys/param.h
diff -u src/sys/sys/param.h:1.542 src/sys/sys/param.h:1.543
--- src/sys/sys/param.h:1.542	Sun May 28 16:39:42 2017
+++ src/sys/sys/param.h	Sun Jun  4 07:14:56 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: param.h,v 1.542 2017/05/28 16:39:42 hannken Exp $	*/
+/*	$NetBSD: param.h,v 1.543 2017/06/04 07:14:56 snj Exp $	*/
 
 /*-
  * Copyright (c) 1982, 1986, 1989, 1993
@@ -67,7 +67,7 @@
  *	2.99.9		(299000900)
  */
 
-#define	__NetBSD_Version__	799007500	/* NetBSD 7.99.75 */
+#define	__NetBSD_Version__	899000100	/* NetBSD 8.99.1 */
 
 #define __NetBSD_Prereq__(M,m,p) (M) * 1) + \
 (m) * 100) + (p) * 100) <= __NetBSD_Version__)



CVS commit: [netbsd-8] src

2017-06-04 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Sun Jun  4 07:12:09 UTC 2017

Modified Files:
src/doc [netbsd-8]: LAST_MINUTE README.files
src/external/gpl2/groff/tmac [netbsd-8]: mdoc.local
src/sys/sys [netbsd-8]: param.h
Added Files:
src/doc [netbsd-8]: CHANGES-8.0

Log Message:
hello there, 8.0_BETA


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1.2.1 src/doc/CHANGES-8.0
cvs rdiff -u -r1.2 -r1.2.60.1 src/doc/LAST_MINUTE
cvs rdiff -u -r1.5 -r1.5.20.1 src/doc/README.files
cvs rdiff -u -r1.2 -r1.2.4.1 src/external/gpl2/groff/tmac/mdoc.local
cvs rdiff -u -r1.542 -r1.542.2.1 src/sys/sys/param.h

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

Modified files:

Index: src/doc/LAST_MINUTE
diff -u src/doc/LAST_MINUTE:1.2 src/doc/LAST_MINUTE:1.2.60.1
--- src/doc/LAST_MINUTE:1.2	Mon Sep 23 07:52:18 2002
+++ src/doc/LAST_MINUTE	Sun Jun  4 07:12:09 2017
@@ -1,7 +1,7 @@
-#	$NetBSD: LAST_MINUTE,v 1.2 2002/09/23 07:52:18 lukem Exp $
+#	$NetBSD: LAST_MINUTE,v 1.2.60.1 2017/06/04 07:12:09 snj Exp $
 
-This file contains important information on the NetBSD XXX.XXX release that
+This file contains important information on the NetBSD 8.0 release that
 did not make it into the main documentation.
 
 [all]
-	Nothing pertinent; this is NetBSD-current...
+	Nothing pertinent

Index: src/doc/README.files
diff -u src/doc/README.files:1.5 src/doc/README.files:1.5.20.1
--- src/doc/README.files:1.5	Thu Sep  6 22:20:38 2012
+++ src/doc/README.files	Sun Jun  4 07:12:09 2017
@@ -1,8 +1,11 @@
-#	$NetBSD: README.files,v 1.5 2012/09/06 22:20:38 riz Exp $
+#	$NetBSD: README.files,v 1.5.20.1 2017/06/04 07:12:09 snj Exp $
 
 What's in this directory:
 
-CHANGES		Changes between the XXX.XXX-1 and XXX.XXX releases.
+CHANGES		Changes between the 7.0 and 8.0 releases.
+
+CHANGES-8.0	Changes between the creation of the netbsd-8 branch and
+		the 8.0 release.
 
 CHANGES.prev	Changes in previous NetBSD releases.
 
@@ -26,7 +29,7 @@ source/patches/	Post-release source code
 
 In addition to the files and directories listed above, there is one
 directory per architecture, for each of the architectures for which
-NetBSD XXX.XXX has a binary distribution.  The contents of each
+NetBSD 8.0 has a binary distribution.  The contents of each
 architecture's directory are described in an "INSTALL" file found in
 that directory.
 

Index: src/external/gpl2/groff/tmac/mdoc.local
diff -u src/external/gpl2/groff/tmac/mdoc.local:1.2 src/external/gpl2/groff/tmac/mdoc.local:1.2.4.1
--- src/external/gpl2/groff/tmac/mdoc.local:1.2	Sun Jan 29 05:12:17 2017
+++ src/external/gpl2/groff/tmac/mdoc.local	Sun Jun  4 07:12:09 2017
@@ -1,4 +1,4 @@
-.\" $NetBSD: mdoc.local,v 1.2 2017/01/29 05:12:17 snj Exp $
+.\" $NetBSD: mdoc.local,v 1.2.4.1 2017/06/04 07:12:09 snj Exp $
 .\"
 .\" Copyright (c) 2003, 2004 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -44,9 +44,9 @@
 .as doc-str-St--ieee1275-94 " (\*[Lq]\*[doc-Tn-font-size]Open Firmware\*[doc-str-St]\*[Rq])
 .
 .\" Default .Os value
-.ds doc-operating-system NetBSD\~7.0
+.ds doc-operating-system NetBSD\~8.0
 .\" Default footer operating system value
-.ds doc-default-operating-system NetBSD\~7.0
+.ds doc-default-operating-system NetBSD\~8.0
 .\" Other known versions, not yet in groff distribution
 .ds doc-operating-system-NetBSD-1.3.3  1.3.3
 .ds doc-operating-system-NetBSD-1.6.3  1.6.3

Index: src/sys/sys/param.h
diff -u src/sys/sys/param.h:1.542 src/sys/sys/param.h:1.542.2.1
--- src/sys/sys/param.h:1.542	Sun May 28 16:39:42 2017
+++ src/sys/sys/param.h	Sun Jun  4 07:12:09 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: param.h,v 1.542 2017/05/28 16:39:42 hannken Exp $	*/
+/*	$NetBSD: param.h,v 1.542.2.1 2017/06/04 07:12:09 snj Exp $	*/
 
 /*-
  * Copyright (c) 1982, 1986, 1989, 1993
@@ -67,7 +67,7 @@
  *	2.99.9		(299000900)
  */
 
-#define	__NetBSD_Version__	799007500	/* NetBSD 7.99.75 */
+#define	__NetBSD_Version__	8	/* NetBSD 8.0_BETA */
 
 #define __NetBSD_Prereq__(M,m,p) (M) * 1) + \
 (m) * 100) + (p) * 100) <= __NetBSD_Version__)

Added files:

Index: src/doc/CHANGES-8.0
diff -u /dev/null src/doc/CHANGES-8.0:1.1.2.1
--- /dev/null	Sun Jun  4 07:12:10 2017
+++ src/doc/CHANGES-8.0	Sun Jun  4 07:12:09 2017
@@ -0,0 +1,13 @@
+# $NetBSD: CHANGES-8.0,v 1.1.2.1 2017/06/04 07:12:09 snj Exp $
+
+A complete list of changes from the initial NetBSD 8.0 branch on 2017-06-04
+until the 8.0 release:
+
+doc/CHANGES-8.0	patched by hand
+doc/LAST_MINUTE	patched by hand
+doc/README.filespatched by hand
+external/gpl2/groff/tmac/mdoc.local		patched by hand
+sys/sys/param.h	patched by hand
+
+	Welcome to 8.0_BETA!
+