From owner-svn-src-user@freebsd.org Sat Sep 3 04:53:17 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 25443BCE3BA for ; Sat, 3 Sep 2016 04:53:17 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D9CB317F; Sat, 3 Sep 2016 04:53:16 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u834rGxO080544; Sat, 3 Sep 2016 04:53:16 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u834rC6Y080508; Sat, 3 Sep 2016 04:53:12 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201609030453.u834rC6Y080508@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Sat, 3 Sep 2016 04:53:12 +0000 (UTC) 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... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Sep 2016 04:53:17 -0000 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 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 @@ [&arch.i386;] STB 4 port card using shared IRQ - [&arch.i386;] DigiBoard intelligent serial cards (digi - driver) - [&arch.amd64;, &arch.i386;] PCI-Based multi-port serial boards (&man.puc.4; driver) 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 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 +#include #include @@ -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 @@ -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 ***