CVS commit: src/bin/sh
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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! +