Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Sep 2016 04:53:12 +0000 (UTC)
From:      Alan Cox <alc@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r305322 - in user/alc/PQ_LAUNDRY: . bin/sh/tests/builtins contrib/llvm/lib/Target/AArch64 lib lib/libc/gen lib/libc/stdio lib/libifc lib/libifconfig lib/libusb lib/msun/tests release/do...
Message-ID:  <201609030453.u834rC6Y080508@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: alc
Date: Sat Sep  3 04:53:12 2016
New Revision: 305322
URL: https://svnweb.freebsd.org/changeset/base/305322

Log:
  MFH r305321

Added:
  user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/echo1.0
     - copied unchanged from r305321, head/bin/sh/tests/builtins/echo1.0
  user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/echo2.0
     - copied unchanged from r305321, head/bin/sh/tests/builtins/echo2.0
  user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/echo3.0
     - copied unchanged from r305321, head/bin/sh/tests/builtins/echo3.0
  user/alc/PQ_LAUNDRY/lib/libifconfig/
     - copied from r305321, head/lib/libifconfig/
  user/alc/PQ_LAUNDRY/share/examples/libifconfig/
     - copied from r305321, head/share/examples/libifconfig/
  user/alc/PQ_LAUNDRY/tools/tools/crypto/cryptorun.sh
     - copied unchanged from r305321, head/tools/tools/crypto/cryptorun.sh
Deleted:
  user/alc/PQ_LAUNDRY/lib/libifc/
  user/alc/PQ_LAUNDRY/share/examples/libifc/
  user/alc/PQ_LAUNDRY/share/man/man4/digi.4
  user/alc/PQ_LAUNDRY/sys/dev/cxgbe/cxgbei/cxgbei_ulp2_ddp.c
  user/alc/PQ_LAUNDRY/sys/dev/cxgbe/cxgbei/cxgbei_ulp2_ddp.h
  user/alc/PQ_LAUNDRY/sys/modules/digi/
Modified:
  user/alc/PQ_LAUNDRY/Makefile.inc1
  user/alc/PQ_LAUNDRY/ObsoleteFiles.inc
  user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/Makefile
  user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
  user/alc/PQ_LAUNDRY/lib/Makefile
  user/alc/PQ_LAUNDRY/lib/libc/gen/siglist.c
  user/alc/PQ_LAUNDRY/lib/libc/stdio/fgetwc.c
  user/alc/PQ_LAUNDRY/lib/libc/stdio/fgetwln.c
  user/alc/PQ_LAUNDRY/lib/libusb/libusb20.c
  user/alc/PQ_LAUNDRY/lib/msun/tests/ctrig_test.c
  user/alc/PQ_LAUNDRY/release/doc/en_US.ISO8859-1/hardware/article.xml
  user/alc/PQ_LAUNDRY/rescue/rescue/Makefile.depend
  user/alc/PQ_LAUNDRY/sbin/dhclient/clparse.c
  user/alc/PQ_LAUNDRY/sbin/dhclient/dhclient.c
  user/alc/PQ_LAUNDRY/sbin/dhclient/dhcpd.h
  user/alc/PQ_LAUNDRY/sbin/dhclient/dispatch.c
  user/alc/PQ_LAUNDRY/sbin/dhclient/privsep.c
  user/alc/PQ_LAUNDRY/sbin/dhclient/privsep.h
  user/alc/PQ_LAUNDRY/share/man/man4/Makefile
  user/alc/PQ_LAUNDRY/share/man/man9/pci.9
  user/alc/PQ_LAUNDRY/share/misc/bsd-family-tree
  user/alc/PQ_LAUNDRY/share/mk/bsd.crunchgen.mk
  user/alc/PQ_LAUNDRY/share/mk/bsd.dep.mk
  user/alc/PQ_LAUNDRY/share/mk/bsd.libnames.mk
  user/alc/PQ_LAUNDRY/share/mk/src.libnames.mk
  user/alc/PQ_LAUNDRY/share/timedef/zh_CN.GB2312.src
  user/alc/PQ_LAUNDRY/share/timedef/zh_CN.GBK.src
  user/alc/PQ_LAUNDRY/share/timedef/zh_CN.UTF-8.src
  user/alc/PQ_LAUNDRY/share/timedef/zh_CN.eucCN.src
  user/alc/PQ_LAUNDRY/share/timedef/zh_TW.Big5.src
  user/alc/PQ_LAUNDRY/share/timedef/zh_TW.UTF-8.src
  user/alc/PQ_LAUNDRY/sys/arm/allwinner/axp81x.c
  user/alc/PQ_LAUNDRY/sys/arm/allwinner/clk/aw_pll.c
  user/alc/PQ_LAUNDRY/sys/arm/arm/pmap-v6.c
  user/alc/PQ_LAUNDRY/sys/arm64/arm64/machdep.c
  user/alc/PQ_LAUNDRY/sys/arm64/include/pcpu.h
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h
  user/alc/PQ_LAUNDRY/sys/conf/files
  user/alc/PQ_LAUNDRY/sys/dev/cxgbe/cxgbei/cxgbei.c
  user/alc/PQ_LAUNDRY/sys/dev/cxgbe/cxgbei/cxgbei.h
  user/alc/PQ_LAUNDRY/sys/dev/cxgbe/cxgbei/icl_cxgbei.c
  user/alc/PQ_LAUNDRY/sys/dev/cxgbe/offload.h
  user/alc/PQ_LAUNDRY/sys/dev/cxgbe/t4_main.c
  user/alc/PQ_LAUNDRY/sys/dev/cxgbe/t4_sge.c
  user/alc/PQ_LAUNDRY/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  user/alc/PQ_LAUNDRY/sys/dev/hyperv/netvsc/hv_rndis_filter.c
  user/alc/PQ_LAUNDRY/sys/dev/hyperv/netvsc/if_hnreg.h
  user/alc/PQ_LAUNDRY/sys/dev/hyperv/netvsc/if_hnvar.h
  user/alc/PQ_LAUNDRY/sys/dev/hyperv/netvsc/ndis.h
  user/alc/PQ_LAUNDRY/sys/dev/hyperv/utilities/hv_heartbeat.c
  user/alc/PQ_LAUNDRY/sys/dev/hyperv/utilities/hv_shutdown.c
  user/alc/PQ_LAUNDRY/sys/dev/hyperv/utilities/hv_timesync.c
  user/alc/PQ_LAUNDRY/sys/dev/hyperv/utilities/vmbus_icreg.h
  user/alc/PQ_LAUNDRY/sys/dev/ioat/ioat.c
  user/alc/PQ_LAUNDRY/sys/dev/syscons/syscons.c
  user/alc/PQ_LAUNDRY/sys/dev/syscons/syscons.h
  user/alc/PQ_LAUNDRY/sys/kern/kern_sig.c
  user/alc/PQ_LAUNDRY/sys/modules/cxgbe/cxgbei/Makefile
  user/alc/PQ_LAUNDRY/sys/net/rndis.h
  user/alc/PQ_LAUNDRY/sys/powerpc/mpc85xx/mpc85xx.c
  user/alc/PQ_LAUNDRY/sys/powerpc/powerpc/cpu.c
  user/alc/PQ_LAUNDRY/sys/sys/param.h
  user/alc/PQ_LAUNDRY/targets/pseudo/bootstrap-tools/Makefile
  user/alc/PQ_LAUNDRY/targets/pseudo/hosttools/Makefile.depend.host
  user/alc/PQ_LAUNDRY/tools/bsdbox/Makefile.depend
  user/alc/PQ_LAUNDRY/tools/tools/crypto/cryptotest.c
  user/alc/PQ_LAUNDRY/tools/tools/locale/tools/cldr2def.pl
  user/alc/PQ_LAUNDRY/usr.bin/w/w.1
  user/alc/PQ_LAUNDRY/usr.bin/w/w.c
  user/alc/PQ_LAUNDRY/usr.sbin/cron/cron/cron.h
  user/alc/PQ_LAUNDRY/usr.sbin/cron/crontab/crontab.c
  user/alc/PQ_LAUNDRY/usr.sbin/crunch/crunchgen/crunchgen.c
  user/alc/PQ_LAUNDRY/usr.sbin/ypldap/Makefile.depend
Directory Properties:
  user/alc/PQ_LAUNDRY/   (props changed)
  user/alc/PQ_LAUNDRY/contrib/llvm/   (props changed)
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/   (props changed)

Modified: user/alc/PQ_LAUNDRY/Makefile.inc1
==============================================================================
--- user/alc/PQ_LAUNDRY/Makefile.inc1	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/Makefile.inc1	Sat Sep  3 04:53:12 2016	(r305322)
@@ -1628,8 +1628,10 @@ _crunchide=	usr.sbin/crunch/crunchide
 
 # r285986 crunchen: use STRIPBIN rather than STRIP
 # 1100113: Support MK_AUTO_OBJ
+# 1200006: META_MODE fixes
 .if ${BOOTSTRAPPING} < 1100078 || \
-    (${MK_AUTO_OBJ} == "yes" && ${BOOTSTRAPPING} < 1100114)
+    (${MK_AUTO_OBJ} == "yes" && ${BOOTSTRAPPING} < 1100114) || \
+    (${MK_META_MODE} == "yes" && ${BOOTSTRAPPING} < 1200006)
 _crunchgen=	usr.sbin/crunch/crunchgen
 .endif
 

Modified: user/alc/PQ_LAUNDRY/ObsoleteFiles.inc
==============================================================================
--- user/alc/PQ_LAUNDRY/ObsoleteFiles.inc	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/ObsoleteFiles.inc	Sat Sep  3 04:53:12 2016	(r305322)
@@ -38,6 +38,8 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20160901: Remove digi(4)
+OLD_FILES+=usr/share/man/man4/digi.4.gz
 # 20160819: Remove ie(4)
 OLD_FILES+=usr/share/man/man4/i386/ie.4.gz
 # 20160819: Remove spic(4)

Modified: user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/Makefile
==============================================================================
--- user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/Makefile	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/Makefile	Sat Sep  3 04:53:12 2016	(r305322)
@@ -68,6 +68,9 @@ ${PACKAGE}FILES+=		dot1.0
 ${PACKAGE}FILES+=		dot2.0
 ${PACKAGE}FILES+=		dot3.0
 ${PACKAGE}FILES+=		dot4.0
+${PACKAGE}FILES+=		echo1.0
+${PACKAGE}FILES+=		echo2.0
+${PACKAGE}FILES+=		echo3.0
 ${PACKAGE}FILES+=		eval1.0
 ${PACKAGE}FILES+=		eval2.0
 ${PACKAGE}FILES+=		eval3.0

Copied: user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/echo1.0 (from r305321, head/bin/sh/tests/builtins/echo1.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/echo1.0	Sat Sep  3 04:53:12 2016	(r305322, copy of r305321, head/bin/sh/tests/builtins/echo1.0)
@@ -0,0 +1,6 @@
+# $FreeBSD$
+
+# Not specified by POSIX.
+
+[ "`echo -n a b; echo c d; echo e f`" = "a bc d
+e f" ]

Copied: user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/echo2.0 (from r305321, head/bin/sh/tests/builtins/echo2.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/echo2.0	Sat Sep  3 04:53:12 2016	(r305322, copy of r305321, head/bin/sh/tests/builtins/echo2.0)
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+# Not specified by POSIX.
+
+a=`echo -e '\a\b\e\f\n\r\t\v\\\\\0041\c'; echo .`
+b=`printf '\a\b\033\f\n\r\t\v\\\\!.'`
+[ "$a" = "$b" ]

Copied: user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/echo3.0 (from r305321, head/bin/sh/tests/builtins/echo3.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/echo3.0	Sat Sep  3 04:53:12 2016	(r305322, copy of r305321, head/bin/sh/tests/builtins/echo3.0)
@@ -0,0 +1,5 @@
+# $FreeBSD$
+
+# Not specified by POSIX.
+
+[ "`echo -e 'a\cb' c; echo d`" = "ad" ]

Modified: user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
==============================================================================
--- user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp	Sat Sep  3 04:53:12 2016	(r305322)
@@ -52,6 +52,9 @@ unsigned AArch64InstrInfo::GetInstSizeIn
   case TargetOpcode::IMPLICIT_DEF:
   case TargetOpcode::KILL:
     return 0;
+  case AArch64::TLSDESC_CALLSEQ:
+    // This gets lowered to an instruction sequence which takes 16 bytes
+    return 16;
   }
 
   llvm_unreachable("GetInstSizeInBytes()- Unable to determin insn size");

Modified: user/alc/PQ_LAUNDRY/lib/Makefile
==============================================================================
--- user/alc/PQ_LAUNDRY/lib/Makefile	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/lib/Makefile	Sat Sep  3 04:53:12 2016	(r305322)
@@ -60,7 +60,7 @@ SUBDIR=	${SUBDIR_BOOTSTRAP} \
 	${_libgssapi} \
 	${_librpcsec_gss} \
 	${_libiconv_modules} \
-	libifc \
+	libifconfig \
 	libipsec \
 	libjail \
 	libkiconv \

Modified: user/alc/PQ_LAUNDRY/lib/libc/gen/siglist.c
==============================================================================
--- user/alc/PQ_LAUNDRY/lib/libc/gen/siglist.c	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/lib/libc/gen/siglist.c	Sat Sep  3 04:53:12 2016	(r305322)
@@ -36,72 +36,72 @@ __FBSDID("$FreeBSD$");
 #include <signal.h>
 
 const char *const sys_signame[NSIG] = {
-	"Signal 0",
-	"HUP",				/* SIGHUP */
-	"INT",				/* SIGINT */
-	"QUIT",				/* SIGQUIT */
-	"ILL",				/* SIGILL */
-	"TRAP",				/* SIGTRAP */
-	"ABRT",				/* SIGABRT */
-	"EMT",				/* SIGEMT */
-	"FPE",				/* SIGFPE */
-	"KILL",				/* SIGKILL */
-	"BUS",				/* SIGBUS */
-	"SEGV",				/* SIGSEGV */
-	"SYS",				/* SIGSYS */
-	"PIPE",				/* SIGPIPE */
-	"ALRM",				/* SIGALRM */
-	"TERM",				/* SIGTERM */
-	"URG",				/* SIGURG */
-	"STOP",				/* SIGSTOP */
-	"TSTP",				/* SIGTSTP */
-	"CONT",				/* SIGCONT */
-	"CHLD",				/* SIGCHLD */
-	"TTIN",				/* SIGTTIN */
-	"TTOU",				/* SIGTTOU */
-	"IO",				/* SIGIO */
-	"XCPU",				/* SIGXCPU */
-	"XFSZ",				/* SIGXFSZ */
-	"VTALRM",			/* SIGVTALRM */
-	"PROF",				/* SIGPROF */
-	"WINCH",			/* SIGWINCH */
-	"INFO",				/* SIGINFO */
-	"USR1",				/* SIGUSR1 */
-	"USR2"				/* SIGUSR2 */
+	[0] =		"Signal 0",
+	[SIGHUP] =	"HUP",
+	[SIGINT] =	"INT",
+	[SIGQUIT] =	"QUIT",
+	[SIGILL] =	"ILL",
+	[SIGTRAP] =	"TRAP",
+	[SIGABRT] =	"ABRT",
+	[SIGEMT] =	"EMT",
+	[SIGFPE] =	"FPE",
+	[SIGKILL] =	"KILL",
+	[SIGBUS] =	"BUS",
+	[SIGSEGV] =	"SEGV",
+	[SIGSYS] =	"SYS",
+	[SIGPIPE] =	"PIPE",
+	[SIGALRM] =	"ALRM",
+	[SIGTERM] =	"TERM",
+	[SIGURG] =	"URG",
+	[SIGSTOP] =	"STOP",
+	[SIGTSTP] =	"TSTP",
+	[SIGCONT] =	"CONT",
+	[SIGCHLD] =	"CHLD",
+	[SIGTTIN] =	"TTIN",
+	[SIGTTOU] =	"TTOU",
+	[SIGIO] =	"IO",
+	[SIGXCPU] =	"XCPU",
+	[SIGXFSZ] =	"XFSZ",
+	[SIGVTALRM] =	"VTALRM",
+	[SIGPROF] =	"PROF",
+	[SIGWINCH] =	"WINCH",
+	[SIGINFO] =	"INFO",
+	[SIGUSR1] =	"USR1",
+	[SIGUSR2] =	"USR2",
 };
 
 const char *const sys_siglist[NSIG] = {
-	"Signal 0",
-	"Hangup",			/* SIGHUP */
-	"Interrupt",			/* SIGINT */
-	"Quit",				/* SIGQUIT */
-	"Illegal instruction",		/* SIGILL */
-	"Trace/BPT trap",		/* SIGTRAP */
-	"Abort trap",			/* SIGABRT */
-	"EMT trap",			/* SIGEMT */
-	"Floating point exception",	/* SIGFPE */
-	"Killed",			/* SIGKILL */
-	"Bus error",			/* SIGBUS */
-	"Segmentation fault",		/* SIGSEGV */
-	"Bad system call",		/* SIGSYS */
-	"Broken pipe",			/* SIGPIPE */
-	"Alarm clock",			/* SIGALRM */
-	"Terminated",			/* SIGTERM */
-	"Urgent I/O condition",		/* SIGURG */
-	"Suspended (signal)",		/* SIGSTOP */
-	"Suspended",			/* SIGTSTP */
-	"Continued",			/* SIGCONT */
-	"Child exited",			/* SIGCHLD */
-	"Stopped (tty input)",		/* SIGTTIN */
-	"Stopped (tty output)",		/* SIGTTOU */
-	"I/O possible",			/* SIGIO */
-	"Cputime limit exceeded",	/* SIGXCPU */
-	"Filesize limit exceeded",	/* SIGXFSZ */
-	"Virtual timer expired",	/* SIGVTALRM */
-	"Profiling timer expired",	/* SIGPROF */
-	"Window size changes",		/* SIGWINCH */
-	"Information request",		/* SIGINFO */
-	"User defined signal 1",	/* SIGUSR1 */
-	"User defined signal 2"		/* SIGUSR2 */
+	[0] =		"Signal 0",
+	[SIGHUP] =	"Hangup",
+	[SIGINT] =	"Interrupt",
+	[SIGQUIT] =	"Quit",
+	[SIGILL] =	"Illegal instruction",
+	[SIGTRAP] =	"Trace/BPT trap",
+	[SIGABRT] =	"Abort trap",
+	[SIGEMT] =	"EMT trap",
+	[SIGFPE] =	"Floating point exception",
+	[SIGKILL] =	"Killed",
+	[SIGBUS] =	"Bus error",
+	[SIGSEGV] =	"Segmentation fault",
+	[SIGSYS] =	"Bad system call",
+	[SIGPIPE] =	"Broken pipe",
+	[SIGALRM] =	"Alarm clock",
+	[SIGTERM] =	"Terminated",
+	[SIGURG] =	"Urgent I/O condition",
+	[SIGSTOP] =	"Suspended (signal)",
+	[SIGTSTP] =	"Suspended",
+	[SIGCONT] =	"Continued",
+	[SIGCHLD] =	"Child exited",
+	[SIGTTIN] =	"Stopped (tty input)",
+	[SIGTTOU] =	"Stopped (tty output)",
+	[SIGIO] =	"I/O possible",
+	[SIGXCPU] =	"Cputime limit exceeded",
+	[SIGXFSZ] =	"Filesize limit exceeded",
+	[SIGVTALRM] =	"Virtual timer expired",
+	[SIGPROF] =	"Profiling timer expired",
+	[SIGWINCH] =	"Window size changes",
+	[SIGINFO] =	"Information request",
+	[SIGUSR1] =	"User defined signal 1",
+	[SIGUSR2] =	"User defined signal 2",
 };
 const int sys_nsig = sizeof(sys_siglist) / sizeof(sys_siglist[0]);

Modified: user/alc/PQ_LAUNDRY/lib/libc/stdio/fgetwc.c
==============================================================================
--- user/alc/PQ_LAUNDRY/lib/libc/stdio/fgetwc.c	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/lib/libc/stdio/fgetwc.c	Sat Sep  3 04:53:12 2016	(r305322)
@@ -84,9 +84,10 @@ __fgetwc_mbs(FILE *fp, mbstate_t *mbs, i
 		return (WEOF);
 	do {
 		nconv = l->__mbrtowc(&wc, fp->_p, fp->_r, mbs);
-		if (nconv == (size_t)-1)
-			break;
-		else if (nconv == (size_t)-2)
+		if (nconv == (size_t)-1) {
+			fp->_flags |= __SERR;
+			return (WEOF);
+		} else if (nconv == (size_t)-2)
 			continue;
 		else if (nconv == 0) {
 			fp->_p++;
@@ -100,7 +101,9 @@ __fgetwc_mbs(FILE *fp, mbstate_t *mbs, i
 			return (wc);
 		}
 	} while (__srefill(fp) == 0);
-	fp->_flags |= __SERR;
-	errno = EILSEQ;
+	if (__sfeof(fp)) {
+		fp->_flags |= __SERR;
+		errno = EILSEQ;
+	}
 	return (WEOF);
 }

Modified: user/alc/PQ_LAUNDRY/lib/libc/stdio/fgetwln.c
==============================================================================
--- user/alc/PQ_LAUNDRY/lib/libc/stdio/fgetwln.c	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/lib/libc/stdio/fgetwln.c	Sat Sep  3 04:53:12 2016	(r305322)
@@ -47,11 +47,16 @@ fgetwln_l(FILE * __restrict fp, size_t *
 {
 	wint_t wc;
 	size_t len;
+	int savserr;
+
 	FIX_LOCALE(locale);
 
 	FLOCKFILE(fp);
 	ORIENT(fp, 1);
 
+	savserr = fp->_flags & __SERR;
+	fp->_flags &= ~__SERR;
+
 	len = 0;
 	while ((wc = __fgetwc(fp, locale)) != WEOF) {
 #define	GROW	512
@@ -64,7 +69,12 @@ fgetwln_l(FILE * __restrict fp, size_t *
 		if (wc == L'\n')
 			break;
 	}
-	if (len == 0 || (wc == WEOF && !__sfeof(fp)))
+	/* fgetwc(3) may set both __SEOF and __SERR at once. */
+	if (__sferror(fp))
+		goto error;
+
+	fp->_flags |= savserr;
+	if (len == 0)
 		goto error;
 
 	FUNLOCKFILE(fp);

Modified: user/alc/PQ_LAUNDRY/lib/libusb/libusb20.c
==============================================================================
--- user/alc/PQ_LAUNDRY/lib/libusb/libusb20.c	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/lib/libusb/libusb20.c	Sat Sep  3 04:53:12 2016	(r305322)
@@ -176,6 +176,12 @@ libusb20_tr_open_stream(struct libusb20_
 		return (LIBUSB20_ERROR_BUSY);
 	if (MaxFrameCount & LIBUSB20_MAX_FRAME_PRE_SCALE) {
 		MaxFrameCount &= ~LIBUSB20_MAX_FRAME_PRE_SCALE;
+		/*
+		 * The kernel can setup 8 times more frames when
+		 * pre-scaling ISOCHRONOUS transfers. Make sure the
+		 * length and pointer buffers are big enough:
+		 */
+		MaxFrameCount *= 8;
 		pre_scale = 1;
 	} else {
 		pre_scale = 0;
@@ -200,8 +206,13 @@ libusb20_tr_open_stream(struct libusb20_
 	}
 	memset(xfer->ppBuffer, 0, size);
 
-	error = xfer->pdev->methods->tr_open(xfer, MaxBufSize,
-	    MaxFrameCount, ep_no, stream_id, pre_scale);
+	if (pre_scale) {
+		error = xfer->pdev->methods->tr_open(xfer, MaxBufSize,
+		    MaxFrameCount / 8, ep_no, stream_id, 1);
+	} else {
+		error = xfer->pdev->methods->tr_open(xfer, MaxBufSize,
+		    MaxFrameCount, ep_no, stream_id, 0);
+	}
 
 	if (error) {
 		free(xfer->ppBuffer);

Modified: user/alc/PQ_LAUNDRY/lib/msun/tests/ctrig_test.c
==============================================================================
--- user/alc/PQ_LAUNDRY/lib/msun/tests/ctrig_test.c	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/lib/msun/tests/ctrig_test.c	Sat Sep  3 04:53:12 2016	(r305322)
@@ -427,7 +427,6 @@ test_large(void)
 	test_odd_tol(ctanh, z,
 		     CMPLXL(1.0, 8.95257245135025991216632140458264468e-309L),
 		     DBL_ULP());
-#if !defined(__i386__)
 	z = CMPLXL(30, 0x1p1023L);
 	test_odd_tol(ctanh, z,
 		     CMPLXL(1.0, -1.62994325413993477997492170229268382e-26L),
@@ -437,7 +436,6 @@ test_large(void)
 		     CMPLXL(0.878606311888306869546254022621986509L,
 			    -0.225462792499754505792678258169527424L),
 		     DBL_ULP());
-#endif
 
 	z = CMPLXL(710.6, 0.78539816339744830961566084581987572L);
 	test_odd_tol(csinh, z,
@@ -475,8 +473,12 @@ main(int argc, char *argv[])
 	test_small();
 	printf("ok 5 - ctrig small\n");
 
+#if defined(__i386__)
+	printf("ok 6 # SKIP ctrig large # fails on i386 because of bug 205446\n");
+#else
 	test_large();
 	printf("ok 6 - ctrig large\n");
+#endif
 
 	return (0);
 }

Modified: user/alc/PQ_LAUNDRY/release/doc/en_US.ISO8859-1/hardware/article.xml
==============================================================================
--- user/alc/PQ_LAUNDRY/release/doc/en_US.ISO8859-1/hardware/article.xml	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/release/doc/en_US.ISO8859-1/hardware/article.xml	Sat Sep  3 04:53:12 2016	(r305322)
@@ -1098,9 +1098,6 @@
 
       <para>[&arch.i386;] STB 4 port card using shared IRQ</para>
 
-      <para>[&arch.i386;] DigiBoard intelligent serial cards (digi
-	driver)</para>
-
       <para>[&arch.amd64;, &arch.i386;] PCI-Based multi-port serial
 	boards (&man.puc.4; driver)</para>
 

Modified: user/alc/PQ_LAUNDRY/rescue/rescue/Makefile.depend
==============================================================================
--- user/alc/PQ_LAUNDRY/rescue/rescue/Makefile.depend	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/rescue/rescue/Makefile.depend	Sat Sep  3 04:53:12 2016	(r305322)
@@ -52,6 +52,7 @@ DIRDEPS = \
 	usr.bin/lex/lib \
 	usr.bin/yacc.host \
 	usr.sbin/crunch/crunchgen.host \
+	usr.sbin/crunch/crunchide.host \
 
 
 .include <dirdeps.mk>

Modified: user/alc/PQ_LAUNDRY/sbin/dhclient/clparse.c
==============================================================================
--- user/alc/PQ_LAUNDRY/sbin/dhclient/clparse.c	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/sbin/dhclient/clparse.c	Sat Sep  3 04:53:12 2016	(r305322)
@@ -102,6 +102,8 @@ read_client_conf(void)
 	    [top_level_config.requested_option_count++] = DHO_HOST_NAME;
 	top_level_config.requested_options
 	    [top_level_config.requested_option_count++] = DHO_DOMAIN_SEARCH;
+	top_level_config.requested_options
+	    [top_level_config.requested_option_count++] = DHO_INTERFACE_MTU;
 
 	if ((cfile = fopen(path_dhclient_conf, "r")) != NULL) {
 		do {

Modified: user/alc/PQ_LAUNDRY/sbin/dhclient/dhclient.c
==============================================================================
--- user/alc/PQ_LAUNDRY/sbin/dhclient/dhclient.c	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/sbin/dhclient/dhclient.c	Sat Sep  3 04:53:12 2016	(r305322)
@@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$");
 #include "privsep.h"
 
 #include <sys/capsicum.h>
+#include <sys/endian.h>
 
 #include <net80211/ieee80211_freebsd.h>
 
@@ -132,6 +133,9 @@ int		 fork_privchld(int, int);
 	    ((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long))
 #define	ADVANCE(x, n) (x += ROUNDUP((n)->sa_len))
 
+/* Minimum MTU is 68 as per RFC791, p. 24 */
+#define MIN_MTU 68
+
 static time_t	scripttime;
 
 int
@@ -798,9 +802,20 @@ dhcpack(struct packet *packet)
 void
 bind_lease(struct interface_info *ip)
 {
+	struct option_data *opt;
+
 	/* Remember the medium. */
 	ip->client->new->medium = ip->client->medium;
 
+	opt = &ip->client->new->options[DHO_INTERFACE_MTU];
+	if (opt->len == sizeof(u_int16_t)) {
+		u_int16_t mtu = be16dec(opt->data);
+		if (mtu < MIN_MTU)
+			warning("mtu size %u < %d: ignored", (unsigned)mtu, MIN_MTU);
+		else
+			interface_set_mtu_unpriv(privfd, mtu);
+	}
+
 	/* Write out the new lease. */
 	write_client_lease(ip, ip->client->new, 0);
 

Modified: user/alc/PQ_LAUNDRY/sbin/dhclient/dhcpd.h
==============================================================================
--- user/alc/PQ_LAUNDRY/sbin/dhclient/dhcpd.h	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/sbin/dhclient/dhcpd.h	Sat Sep  3 04:53:12 2016	(r305322)
@@ -319,6 +319,8 @@ void cancel_timeout(void (*)(void *), vo
 void add_protocol(char *, int, void (*)(struct protocol *), void *);
 void remove_protocol(struct protocol *);
 int interface_link_status(char *);
+void interface_set_mtu_unpriv(int, u_int16_t);
+void interface_set_mtu_priv(char *, u_int16_t); 
 
 /* hash.c */
 struct hash_table *new_hash(void);

Modified: user/alc/PQ_LAUNDRY/sbin/dhclient/dispatch.c
==============================================================================
--- user/alc/PQ_LAUNDRY/sbin/dhclient/dispatch.c	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/sbin/dhclient/dispatch.c	Sat Sep  3 04:53:12 2016	(r305322)
@@ -43,6 +43,7 @@
 __FBSDID("$FreeBSD$");
 
 #include "dhcpd.h"
+#include "privsep.h"
 
 #include <sys/ioctl.h>
 
@@ -501,3 +502,46 @@ interface_link_status(char *ifname)
 	}
 	return (1);
 }
+
+void
+interface_set_mtu_unpriv(int privfd, u_int16_t mtu)
+{
+	struct imsg_hdr hdr;
+	struct buf *buf;
+	int errs = 0;
+
+	hdr.code = IMSG_SET_INTERFACE_MTU;
+	hdr.len = sizeof(hdr) +
+		sizeof(u_int16_t);
+
+	if ((buf = buf_open(hdr.len)) == NULL)
+		error("buf_open: %m");
+
+	errs += buf_add(buf, &hdr, sizeof(hdr));
+	errs += buf_add(buf, &mtu, sizeof(mtu));
+	if (errs)
+		error("buf_add: %m");
+	
+	if (buf_close(privfd, buf) == -1)
+		error("buf_close: %m");
+}
+
+void
+interface_set_mtu_priv(char *ifname, u_int16_t mtu)
+{
+	struct ifreq ifr;
+	int sock;
+
+	if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
+		error("Can't create socket");
+
+	memset(&ifr, 0, sizeof(ifr));
+
+	strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+	ifr.ifr_mtu = mtu;
+
+	if (ioctl(sock, SIOCSIFMTU, &ifr) == -1)
+		warning("SIOCSIFMTU failed (%d): %s", mtu,
+			strerror(errno));
+	close(sock);
+}

Modified: user/alc/PQ_LAUNDRY/sbin/dhclient/privsep.c
==============================================================================
--- user/alc/PQ_LAUNDRY/sbin/dhclient/privsep.c	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/sbin/dhclient/privsep.c	Sat Sep  3 04:53:12 2016	(r305322)
@@ -111,6 +111,7 @@ dispatch_imsg(struct interface_info *ifi
 	struct client_lease	 lease;
 	int			 ret, i, optlen;
 	struct buf		*buf;
+	u_int16_t		mtu;
 
 	buf_read(fd, &hdr, sizeof(hdr));
 
@@ -235,6 +236,13 @@ dispatch_imsg(struct interface_info *ifi
 	case IMSG_SEND_PACKET:
 		send_packet_priv(ifi, &hdr, fd);
 		break;
+	case IMSG_SET_INTERFACE_MTU:
+		if (hdr.len < sizeof(hdr) + sizeof(u_int16_t))
+			error("corrupted message received");	
+	
+		buf_read(fd, &mtu, sizeof(u_int16_t));
+		interface_set_mtu_priv(ifi->name, mtu);
+		break;
 	default:
 		error("received unknown message, code %d", hdr.code);
 	}

Modified: user/alc/PQ_LAUNDRY/sbin/dhclient/privsep.h
==============================================================================
--- user/alc/PQ_LAUNDRY/sbin/dhclient/privsep.h	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/sbin/dhclient/privsep.h	Sat Sep  3 04:53:12 2016	(r305322)
@@ -36,7 +36,8 @@ enum imsg_code {
 	IMSG_SCRIPT_WRITE_PARAMS,
 	IMSG_SCRIPT_GO,
 	IMSG_SCRIPT_GO_RET,
-	IMSG_SEND_PACKET
+	IMSG_SEND_PACKET,
+	IMSG_SET_INTERFACE_MTU,
 };
 
 struct imsg_hdr {

Modified: user/alc/PQ_LAUNDRY/share/man/man4/Makefile
==============================================================================
--- user/alc/PQ_LAUNDRY/share/man/man4/Makefile	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/share/man/man4/Makefile	Sat Sep  3 04:53:12 2016	(r305322)
@@ -122,7 +122,6 @@ MAN=	aac.4 \
 	ddb.4 \
 	de.4 \
 	devctl.4 \
-	digi.4 \
 	disc.4 \
 	divert.4 \
 	${_dpms.4} \

Modified: user/alc/PQ_LAUNDRY/share/man/man9/pci.9
==============================================================================
--- user/alc/PQ_LAUNDRY/share/man/man9/pci.9	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/share/man/man9/pci.9	Sat Sep  3 04:53:12 2016	(r305322)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 3, 2016
+.Dd September 1, 2016
 .Dt PCI 9
 .Os
 .Sh NAME
@@ -910,11 +910,6 @@ with one in the new distribution.
 The
 .Fn pci_remap_msix
 function will fail if this condition is not met.
-.Sh IMPLEMENTATION NOTES
-The
-.Vt pci_addr_t
-type varies according to the size of the PCI bus address
-space on the target architecture.
 .Sh SEE ALSO
 .Xr pci 4 ,
 .Xr pciconf 8 ,

Modified: user/alc/PQ_LAUNDRY/share/misc/bsd-family-tree
==============================================================================
--- user/alc/PQ_LAUNDRY/share/misc/bsd-family-tree	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/share/misc/bsd-family-tree	Sat Sep  3 04:53:12 2016	(r305322)
@@ -339,7 +339,7 @@ FreeBSD 5.2           |      |          
  |  FreeBSD           |      |            OpenBSD 5.9                  |
  |   10.3             |      |                 |                       |
  |                    |      |                 |               DragonFly 4.6.0
- *--FreeBSD           |      |                 |                       |
+ *--FreeBSD           |      |            OpenBSD 6.0                  |
  |   11.0             |      |                 |                       |
  |                    |      |                 |                       |
  |                    |      |                 |                       |
@@ -692,6 +692,7 @@ DragonFly 4.4.1		2015-12-07 [DFB]
 OpenBSD 5.9		2016-03-29 [OBD]
 FreeBSD 10.3		2016-04-04 [FBD]
 DragonFly 4.6.0		2016-08-02 [DFB]
+OpenBSD 6.0		2016-09-01 [OBD]
 
 Bibliography
 ------------------------

Modified: user/alc/PQ_LAUNDRY/share/mk/bsd.crunchgen.mk
==============================================================================
--- user/alc/PQ_LAUNDRY/share/mk/bsd.crunchgen.mk	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/share/mk/bsd.crunchgen.mk	Sat Sep  3 04:53:12 2016	(r305322)
@@ -112,6 +112,7 @@ CRUNCHENV+= MK_TESTS=no \
 	    _RECURSING_CRUNCH=1
 .ORDER: ${OUTPUTS} objs
 ${OUTPUTS:[1]}: .META
+${OUTPUTS:[2..-1]}: .NOMETA
 ${OUTPUTS}: ${CONF}
 	MAKE=${MAKE} ${CRUNCHENV:NMK_AUTO_OBJ=*} MAKEOBJDIRPREFIX=${CRUNCHOBJS} \
 	    MK_AUTO_OBJ=${MK_AUTO_OBJ} \
@@ -122,11 +123,13 @@ ${OUTPUTS}: ${CONF}
 
 # These 2 targets cannot use .MAKE since they depend on the generated
 # ${OUTMK} above.
-${PROG}: ${OUTPUTS} objs .META
+${PROG}: ${OUTPUTS} objs .NOMETA .PHONY
 	${CRUNCHENV} \
 	    CC="${CC} ${CFLAGS} ${LDFLAGS}" \
 	    CXX="${CXX} ${CXXFLAGS} ${LDFLAGS}" \
-	    ${MAKE} .MAKE.MODE=normal -f ${OUTMK} exe
+	    ${MAKE} .MAKE.MODE="${.MAKE.MODE} curdirOk=yes" \
+	    .MAKE.META.IGNORE_PATHS="${.MAKE.META.IGNORE_PATHS}" \
+	    -f ${OUTMK} exe
 
 objs: ${OUTMK} .META
 	${CRUNCHENV} MAKEOBJDIRPREFIX=${CRUNCHOBJS} \
@@ -166,3 +169,5 @@ clean:
 	fi
 
 META_XTRAS+=	${find ${CRUNCHOBJS}${SRCTOP} -name '*.meta' 2>/dev/null || true:L:sh}
+META_XTRAS+=	${echo ${CRUNCHOBJS}/*.lo.meta 2>/dev/null || true:L:sh}
+META_XTRAS+=	${PROG}.meta

Modified: user/alc/PQ_LAUNDRY/share/mk/bsd.dep.mk
==============================================================================
--- user/alc/PQ_LAUNDRY/share/mk/bsd.dep.mk	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/share/mk/bsd.dep.mk	Sat Sep  3 04:53:12 2016	(r305322)
@@ -181,7 +181,7 @@ DEPEND_CFLAGS+=	-MT${.TARGET}
 .if defined(.PARSEDIR)
 # Only add in DEPEND_CFLAGS for CFLAGS on files we expect from DEPENDOBJS
 # as those are the only ones we will include.
-DEPEND_CFLAGS_CONDITION= "${DEPENDOBJS:M${.TARGET:${DEPEND_FILTER}}}" != ""
+DEPEND_CFLAGS_CONDITION= "${DEPENDOBJS:${DEPEND_FILTER}:M${.TARGET:${DEPEND_FILTER}}}" != ""
 CFLAGS+=	${${DEPEND_CFLAGS_CONDITION}:?${DEPEND_CFLAGS}:}
 .else
 CFLAGS+=	${DEPEND_CFLAGS}
@@ -216,8 +216,17 @@ afterdepend: beforedepend
 # For meta+filemon the .meta file is checked for since it is the dependency
 # file used.
 .for __obj in ${DEPENDOBJS:O:u}
-.if (defined(_meta_filemon) && !exists(${.OBJDIR}/${__obj}.meta)) || \
-    (!defined(_meta_filemon) && !exists(${.OBJDIR}/${DEPENDFILE}.${__obj}))
+# If the obj has any '/', then replace with '_'.  For meta files, this is
+# mimicing what bmake's meta_name() does and adding in the full path
+# as well to ensure that the expected meta file is read.
+.if ${__obj:M*/*}
+_meta_obj=	${.OBJDIR:C,/,_,g}_${__obj:C,/,_,g}.meta
+.else
+_meta_obj=	${__obj}.meta
+.endif
+_dep_obj=	${DEPENDFILE}.${__obj:${DEPEND_FILTER}}
+.if (defined(_meta_filemon) && !exists(${.OBJDIR}/${_meta_obj})) || \
+    (!defined(_meta_filemon) && !exists(${.OBJDIR}/${_dep_obj}))
 ${__obj}: ${OBJS_DEPEND_GUESS}
 ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}}
 .elif defined(_meta_filemon)

Modified: user/alc/PQ_LAUNDRY/share/mk/bsd.libnames.mk
==============================================================================
--- user/alc/PQ_LAUNDRY/share/mk/bsd.libnames.mk	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/share/mk/bsd.libnames.mk	Sat Sep  3 04:53:12 2016	(r305322)
@@ -82,7 +82,7 @@ LIBIBMAD?=	${DESTDIR}${LIBDIR}/libibmad.
 LIBIBSDP?=	${DESTDIR}${LIBDIR}/libibsdp.a
 LIBIBUMAD?=	${DESTDIR}${LIBDIR}/libibumad.a
 LIBIBVERBS?=	${DESTDIR}${LIBDIR}/libibverbs.a
-LIBIFC?=	${DESTDIR}${LIBDIR}/libifc.a
+LIBIFCONFIG?=	${DESTDIR}${LIBDIR}/libifconfig.a
 LIBIPSEC?=	${DESTDIR}${LIBDIR}/libipsec.a
 LIBJAIL?=	${DESTDIR}${LIBDIR}/libjail.a
 LIBKADM5CLNT?=	${DESTDIR}${LIBDIR}/libkadm5clnt.a

Modified: user/alc/PQ_LAUNDRY/share/mk/src.libnames.mk
==============================================================================
--- user/alc/PQ_LAUNDRY/share/mk/src.libnames.mk	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/share/mk/src.libnames.mk	Sat Sep  3 04:53:12 2016	(r305322)
@@ -105,7 +105,7 @@ _LIBRARIES=	\
 		heimntlm \
 		heimsqlite \
 		hx509 \
-		ifc \
+		ifconfig \
 		ipsec \
 		jail \
 		kadm5clnt \

Modified: user/alc/PQ_LAUNDRY/share/timedef/zh_CN.GB2312.src
==============================================================================
--- user/alc/PQ_LAUNDRY/share/timedef/zh_CN.GB2312.src	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/share/timedef/zh_CN.GB2312.src	Sat Sep  3 04:53:12 2016	(r305322)
@@ -4,18 +4,18 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
+!!#1TB
+!!#2TB
+!!#3TB
+!!#4TB
+!!#5TB
+!!#6TB
+!!#7TB
+!!#8TB
+!!#9TB
+#1#0TB
+#1#1TB
+#1#2TB
 #
 # Long month names (as in a date)
 一月
@@ -63,7 +63,7 @@
 下午
 #
 # date_fmt
-%Y年%b月%e日 %A %X %Z
+%Y年%_m月%e日 %A %X %Z
 #
 # Long month names (without case ending)
 一月

Modified: user/alc/PQ_LAUNDRY/share/timedef/zh_CN.GBK.src
==============================================================================
--- user/alc/PQ_LAUNDRY/share/timedef/zh_CN.GBK.src	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/share/timedef/zh_CN.GBK.src	Sat Sep  3 04:53:12 2016	(r305322)
@@ -4,18 +4,18 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
+ 1月
+ 2月
+ 3月
+ 4月
+ 5月
+ 6月
+ 7月
+ 8月
+ 9月
+10月
+11月
+12月
 #
 # Long month names (as in a date)
 一月
@@ -63,7 +63,7 @@
 下午
 #
 # date_fmt
-%Y年%b月%e日 %A %X %Z
+%Y年%_m月%e日 %A %X %Z
 #
 # Long month names (without case ending)
 一月

Modified: user/alc/PQ_LAUNDRY/share/timedef/zh_CN.UTF-8.src
==============================================================================
Binary file (source and/or target). No diff available.

Modified: user/alc/PQ_LAUNDRY/share/timedef/zh_CN.eucCN.src
==============================================================================
--- user/alc/PQ_LAUNDRY/share/timedef/zh_CN.eucCN.src	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/share/timedef/zh_CN.eucCN.src	Sat Sep  3 04:53:12 2016	(r305322)
@@ -4,18 +4,18 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
+ 1月
+ 2月
+ 3月
+ 4月
+ 5月
+ 6月
+ 7月
+ 8月
+ 9月
+10月
+11月
+12月
 #
 # Long month names (as in a date)
 一月
@@ -63,7 +63,7 @@
 下午
 #
 # date_fmt
-%Y年%b月%e日 %A %X %Z
+%Y年%_m月%e日 %A %X %Z
 #
 # Long month names (without case ending)
 一月

Modified: user/alc/PQ_LAUNDRY/share/timedef/zh_TW.Big5.src
==============================================================================
--- user/alc/PQ_LAUNDRY/share/timedef/zh_TW.Big5.src	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/share/timedef/zh_TW.Big5.src	Sat Sep  3 04:53:12 2016	(r305322)
@@ -4,18 +4,18 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
+る
+⒈る
+⒉る
+⒊る
+⒋る
+⒌る
+⒍る
+⒎る
+⒏る
+る
+る
+⒈る
 #
 # Long month names (as in a date)
 1る
@@ -63,7 +63,7 @@
 と
 #
 # date_fmt
-%Y%bる%eら %A %X %Z
+%Y%_mる%eら %A %X %Z
 #
 # Long month names (without case ending)
 1る

Modified: user/alc/PQ_LAUNDRY/share/timedef/zh_TW.UTF-8.src
==============================================================================
--- user/alc/PQ_LAUNDRY/share/timedef/zh_TW.UTF-8.src	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/share/timedef/zh_TW.UTF-8.src	Sat Sep  3 04:53:12 2016	(r305322)
@@ -4,18 +4,18 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
+ 1鏈
+ 2鏈
+ 3鏈
+ 4鏈
+ 5鏈
+ 6鏈
+ 7鏈
+ 8鏈
+ 9鏈
+10鏈
+11鏈
+12鏈
 #
 # Long month names (as in a date)
 1鏈
@@ -63,7 +63,7 @@
 涓嬪崍
 #
 # date_fmt
-%Y骞%b鏈%e鏃 %A %X %Z
+%Y骞%_m鏈%e鏃 %A %X %Z
 #
 # Long month names (without case ending)
 1鏈

Modified: user/alc/PQ_LAUNDRY/sys/arm/allwinner/axp81x.c
==============================================================================
--- user/alc/PQ_LAUNDRY/sys/arm/allwinner/axp81x.c	Sat Sep  3 04:21:40 2016	(r305321)
+++ user/alc/PQ_LAUNDRY/sys/arm/allwinner/axp81x.c	Sat Sep  3 04:53:12 2016	(r305322)
@@ -61,8 +61,13 @@ __FBSDID("$FreeBSD$");
 MALLOC_DEFINE(M_AXP81X_REG, "AXP81x regulator", "AXP81x power regulator");
 
 #define	AXP_ICTYPE		0x03
+#define	AXP_POWERCTL1		0x10
+#define	 AXP_POWERCTL1_DCDC2	(1 << 1)
 #define	AXP_POWERCTL2		0x12
 #define	 AXP_POWERCTL2_DC1SW	(1 << 7)
+#define	AXP_VOLTCTL_DCDC2	0x21
+#define	 AXP_VOLTCTL_STATUS	(1 << 7)
+#define	 AXP_VOLTCTL_MASK	0x7f
 #define	AXP_POWERBAT		0x32
 #define	 AXP_POWERBAT_SHUTDOWN	(1 << 7)
 #define	AXP_IRQEN1		0x40
@@ -109,10 +114,18 @@ struct axp81x_regdef {
 	char			*supply_name;
 	uint8_t			enable_reg;
 	uint8_t			enable_mask;
+	uint8_t			voltage_reg;
+	int			voltage_min;
+	int			voltage_max;
+	int			voltage_step1;
+	int			voltage_nstep1;
+	int			voltage_step2;
+	int			voltage_nstep2;
 };
 
 enum axp81x_reg_id {
-	AXP81X_REG_ID_DC1SW
+	AXP81X_REG_ID_DC1SW,
+	AXP81X_REG_ID_DCDC2,
 };
 
 static struct axp81x_regdef axp81x_regdefs[] = {
@@ -122,6 +135,19 @@ static struct axp81x_regdef axp81x_regde
 		.enable_reg = AXP_POWERCTL2,
 		.enable_mask = AXP_POWERCTL2_DC1SW,
 	},
+	{
+		.id = AXP81X_REG_ID_DCDC2,
+		.name = "dcdc2",
+		.enable_reg = AXP_POWERCTL1,
+		.enable_mask = AXP_POWERCTL1_DCDC2,
+		.voltage_reg = AXP_VOLTCTL_DCDC2,
+		.voltage_min = 500,
+		.voltage_max = 1300,
+		.voltage_step1 = 10,
+		.voltage_nstep1 = 70,
+		.voltage_step2 = 20,
+		.voltage_nstep2 = 5,
+	},
 };
 
 struct axp81x_softc;
@@ -218,17 +244,82 @@ axp81x_regnode_enable(struct regnode *re
 	return (0);
 }
 
+static void
+axp81x_regnode_reg_to_voltage(struct axp81x_reg_sc *sc, uint8_t val, int *uv)
+{
+	if (val < sc->def->voltage_nstep1)
+		*uv = sc->def->voltage_min + val * sc->def->voltage_step1;
+	else
+		*uv = sc->def->voltage_min +
+		    (sc->def->voltage_nstep1 * sc->def->voltage_step1) +
+		    ((val - sc->def->voltage_nstep1) * sc->def->voltage_step2);
+	*uv *= 1000;
+}
+
+static int
+axp81x_regnode_voltage_to_reg(struct axp81x_reg_sc *sc, int min_uvolt,
+    int max_uvolt, uint8_t *val)
+{
+	uint8_t nval;
+	int nstep, uvolt;
+
+	nval = 0;
+	uvolt = sc->def->voltage_min * 1000;
+
+	for (nstep = 0; nstep < sc->def->voltage_nstep1 && uvolt < min_uvolt;
+	     nstep++) {
+		++nval;
+		uvolt += (sc->def->voltage_step1 * 1000);
+	}
+	for (nstep = 0; nstep < sc->def->voltage_nstep2 && uvolt < min_uvolt;
+	     nstep++) {
+		++nval;
+		uvolt += (sc->def->voltage_step2 * 1000);
+	}
+	if (uvolt > max_uvolt)
+		return (EINVAL);
+
+	*val = nval;
+	return (0);
+}
+
 static int
 axp81x_regnode_set_voltage(struct regnode *regnode, int min_uvolt,
     int max_uvolt, int *udelay)
 {
-	return (ENXIO);
+	struct axp81x_reg_sc *sc;
+	uint8_t val;
+
+	sc = regnode_get_softc(regnode);
+
+	if (!sc->def->voltage_step1 || !sc->def->voltage_step2)
+		return (ENXIO);
+
+	if (axp81x_regnode_voltage_to_reg(sc, min_uvolt, max_uvolt, &val) != 0)
+		return (ERANGE);
+
+	axp81x_write(sc->base_dev, sc->def->voltage_reg, val);
+
+	*udelay = 0;
+
+	return (0);
 }
 
 static int
 axp81x_regnode_get_voltage(struct regnode *regnode, int *uvolt)
 {
-	return (ENXIO);

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609030453.u834rC6Y080508>