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...
Alan Cox
alc at FreeBSD.org
Sat Sep 3 04:53:17 UTC 2016
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
+¡¡£±ÔÂ
+¡¡£²ÔÂ
+¡¡£³ÔÂ
+¡¡£´ÔÂ
+¡¡£µÔÂ
+¡¡£¶ÔÂ
+¡¡£·ÔÂ
+¡¡£¸ÔÂ
+¡¡£¹ÔÂ
+£±£°ÔÂ
+£±£±ÔÂ
+£±£²ÔÂ
#
# 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 @@
¤U¤È
#
# 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 ***
More information about the svn-src-user
mailing list