From owner-svn-src-projects@freebsd.org Fri Sep 2 19:44:27 2016 Return-Path: Delivered-To: svn-src-projects@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 AC994BCDFF8 for ; Fri, 2 Sep 2016 19:44:27 +0000 (UTC) (envelope-from dim@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 5061986A; Fri, 2 Sep 2016 19:44:27 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u82JiQBP073304; Fri, 2 Sep 2016 19:44:26 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u82JiOsk073275; Fri, 2 Sep 2016 19:44:24 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201609021944.u82JiOsk073275@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 2 Sep 2016 19:44:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r305301 - in projects/clang390-import: . lib lib/libc/gen lib/libc/stdio lib/libifc lib/libifconfig lib/libusb lib/msun/tests release/doc/en_US.ISO8859-1/hardware rescue/rescue share/ex... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2016 19:44:27 -0000 Author: dim Date: Fri Sep 2 19:44:23 2016 New Revision: 305301 URL: https://svnweb.freebsd.org/changeset/base/305301 Log: Merge ^/head r305220 through r305300. Added: projects/clang390-import/lib/libifconfig/ - copied from r305300, head/lib/libifconfig/ projects/clang390-import/share/examples/libifconfig/ - copied from r305300, head/share/examples/libifconfig/ Deleted: projects/clang390-import/lib/libifc/ projects/clang390-import/share/examples/libifc/ projects/clang390-import/share/man/man4/digi.4 projects/clang390-import/sys/dev/cxgbe/cxgbei/cxgbei_ulp2_ddp.c projects/clang390-import/sys/dev/cxgbe/cxgbei/cxgbei_ulp2_ddp.h projects/clang390-import/sys/modules/digi/ Modified: projects/clang390-import/Makefile.inc1 projects/clang390-import/ObsoleteFiles.inc projects/clang390-import/lib/Makefile projects/clang390-import/lib/libc/gen/siglist.c projects/clang390-import/lib/libc/stdio/fgetwln.c projects/clang390-import/lib/libusb/libusb20.c projects/clang390-import/lib/msun/tests/ctrig_test.c projects/clang390-import/release/doc/en_US.ISO8859-1/hardware/article.xml projects/clang390-import/rescue/rescue/Makefile.depend projects/clang390-import/share/man/man4/Makefile projects/clang390-import/share/man/man9/pci.9 projects/clang390-import/share/mk/bsd.crunchgen.mk projects/clang390-import/share/mk/bsd.libnames.mk projects/clang390-import/share/mk/src.libnames.mk projects/clang390-import/share/timedef/zh_CN.GB2312.src projects/clang390-import/share/timedef/zh_CN.GBK.src projects/clang390-import/share/timedef/zh_CN.UTF-8.src projects/clang390-import/share/timedef/zh_CN.eucCN.src projects/clang390-import/share/timedef/zh_TW.Big5.src projects/clang390-import/share/timedef/zh_TW.UTF-8.src projects/clang390-import/sys/arm/allwinner/axp81x.c projects/clang390-import/sys/arm/allwinner/clk/aw_pll.c projects/clang390-import/sys/arm64/arm64/machdep.c projects/clang390-import/sys/arm64/include/pcpu.h projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h projects/clang390-import/sys/conf/files projects/clang390-import/sys/dev/cxgbe/cxgbei/cxgbei.c projects/clang390-import/sys/dev/cxgbe/cxgbei/cxgbei.h projects/clang390-import/sys/dev/cxgbe/cxgbei/icl_cxgbei.c projects/clang390-import/sys/dev/cxgbe/offload.h projects/clang390-import/sys/dev/cxgbe/t4_main.c projects/clang390-import/sys/dev/cxgbe/t4_sge.c projects/clang390-import/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/clang390-import/sys/dev/hyperv/netvsc/hv_rndis_filter.c projects/clang390-import/sys/dev/hyperv/netvsc/if_hnreg.h projects/clang390-import/sys/dev/hyperv/netvsc/if_hnvar.h projects/clang390-import/sys/dev/hyperv/netvsc/ndis.h projects/clang390-import/sys/dev/hyperv/utilities/hv_heartbeat.c projects/clang390-import/sys/dev/hyperv/utilities/hv_shutdown.c projects/clang390-import/sys/dev/hyperv/utilities/hv_timesync.c projects/clang390-import/sys/dev/hyperv/utilities/vmbus_icreg.h projects/clang390-import/sys/dev/ioat/ioat.c projects/clang390-import/sys/dev/syscons/syscons.c projects/clang390-import/sys/dev/syscons/syscons.h projects/clang390-import/sys/kern/kern_sig.c projects/clang390-import/sys/modules/cxgbe/cxgbei/Makefile projects/clang390-import/sys/net/rndis.h projects/clang390-import/sys/sys/param.h projects/clang390-import/targets/pseudo/bootstrap-tools/Makefile projects/clang390-import/targets/pseudo/hosttools/Makefile.depend.host projects/clang390-import/tools/bsdbox/Makefile.depend projects/clang390-import/tools/tools/locale/tools/cldr2def.pl projects/clang390-import/usr.bin/w/w.1 projects/clang390-import/usr.bin/w/w.c projects/clang390-import/usr.sbin/cron/cron/cron.h projects/clang390-import/usr.sbin/cron/crontab/crontab.c projects/clang390-import/usr.sbin/crunch/crunchgen/crunchgen.c Directory Properties: projects/clang390-import/ (props changed) projects/clang390-import/sys/cddl/contrib/opensolaris/ (props changed) Modified: projects/clang390-import/Makefile.inc1 ============================================================================== --- projects/clang390-import/Makefile.inc1 Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/Makefile.inc1 Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/ObsoleteFiles.inc ============================================================================== --- projects/clang390-import/ObsoleteFiles.inc Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/ObsoleteFiles.inc Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/lib/Makefile ============================================================================== --- projects/clang390-import/lib/Makefile Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/lib/Makefile Fri Sep 2 19:44:23 2016 (r305301) @@ -60,7 +60,7 @@ SUBDIR= ${SUBDIR_BOOTSTRAP} \ ${_libgssapi} \ ${_librpcsec_gss} \ ${_libiconv_modules} \ - libifc \ + libifconfig \ libipsec \ libjail \ libkiconv \ Modified: projects/clang390-import/lib/libc/gen/siglist.c ============================================================================== --- projects/clang390-import/lib/libc/gen/siglist.c Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/lib/libc/gen/siglist.c Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/lib/libc/stdio/fgetwln.c ============================================================================== --- projects/clang390-import/lib/libc/stdio/fgetwln.c Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/lib/libc/stdio/fgetwln.c Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/lib/libusb/libusb20.c ============================================================================== --- projects/clang390-import/lib/libusb/libusb20.c Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/lib/libusb/libusb20.c Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/lib/msun/tests/ctrig_test.c ============================================================================== --- projects/clang390-import/lib/msun/tests/ctrig_test.c Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/lib/msun/tests/ctrig_test.c Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/release/doc/en_US.ISO8859-1/hardware/article.xml ============================================================================== --- projects/clang390-import/release/doc/en_US.ISO8859-1/hardware/article.xml Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/release/doc/en_US.ISO8859-1/hardware/article.xml Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/rescue/rescue/Makefile.depend ============================================================================== --- projects/clang390-import/rescue/rescue/Makefile.depend Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/rescue/rescue/Makefile.depend Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/share/man/man4/Makefile ============================================================================== --- projects/clang390-import/share/man/man4/Makefile Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/share/man/man4/Makefile Fri Sep 2 19:44:23 2016 (r305301) @@ -122,7 +122,6 @@ MAN= aac.4 \ ddb.4 \ de.4 \ devctl.4 \ - digi.4 \ disc.4 \ divert.4 \ ${_dpms.4} \ Modified: projects/clang390-import/share/man/man9/pci.9 ============================================================================== --- projects/clang390-import/share/man/man9/pci.9 Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/share/man/man9/pci.9 Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/share/mk/bsd.crunchgen.mk ============================================================================== --- projects/clang390-import/share/mk/bsd.crunchgen.mk Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/share/mk/bsd.crunchgen.mk Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/share/mk/bsd.libnames.mk ============================================================================== --- projects/clang390-import/share/mk/bsd.libnames.mk Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/share/mk/bsd.libnames.mk Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/share/mk/src.libnames.mk ============================================================================== --- projects/clang390-import/share/mk/src.libnames.mk Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/share/mk/src.libnames.mk Fri Sep 2 19:44:23 2016 (r305301) @@ -105,7 +105,7 @@ _LIBRARIES= \ heimntlm \ heimsqlite \ hx509 \ - ifc \ + ifconfig \ ipsec \ jail \ kadm5clnt \ Modified: projects/clang390-import/share/timedef/zh_CN.GB2312.src ============================================================================== --- projects/clang390-import/share/timedef/zh_CN.GB2312.src Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/share/timedef/zh_CN.GB2312.src Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/share/timedef/zh_CN.GBK.src ============================================================================== --- projects/clang390-import/share/timedef/zh_CN.GBK.src Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/share/timedef/zh_CN.GBK.src Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/share/timedef/zh_CN.UTF-8.src ============================================================================== Binary file (source and/or target). No diff available. Modified: projects/clang390-import/share/timedef/zh_CN.eucCN.src ============================================================================== --- projects/clang390-import/share/timedef/zh_CN.eucCN.src Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/share/timedef/zh_CN.eucCN.src Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/share/timedef/zh_TW.Big5.src ============================================================================== --- projects/clang390-import/share/timedef/zh_TW.Big5.src Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/share/timedef/zh_TW.Big5.src Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/share/timedef/zh_TW.UTF-8.src ============================================================================== --- projects/clang390-import/share/timedef/zh_TW.UTF-8.src Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/share/timedef/zh_TW.UTF-8.src Fri Sep 2 19:44:23 2016 (r305301) @@ -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: projects/clang390-import/sys/arm/allwinner/axp81x.c ============================================================================== --- projects/clang390-import/sys/arm/allwinner/axp81x.c Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/sys/arm/allwinner/axp81x.c Fri Sep 2 19:44:23 2016 (r305301) @@ -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); + struct axp81x_reg_sc *sc; + uint8_t val; + + sc = regnode_get_softc(regnode); + + if (!sc->def->voltage_step1 || !sc->def->voltage_step2) + return (ENXIO); + + axp81x_read(sc->base_dev, sc->def->voltage_reg, &val, 1); + axp81x_regnode_reg_to_voltage(sc, val & AXP_VOLTCTL_MASK, uvolt); + + return (0); } static regnode_method_t axp81x_regnode_methods[] = { @@ -519,6 +610,10 @@ axp81x_reg_attach(device_t dev, phandle_ memset(&initdef, 0, sizeof(initdef)); regulator_parse_ofw_stdparam(dev, node, &initdef); + if (initdef.std_param.min_uvolt == 0) + initdef.std_param.min_uvolt = def->voltage_min * 1000; + if (initdef.std_param.max_uvolt == 0) + initdef.std_param.max_uvolt = def->voltage_max * 1000; initdef.id = def->id; initdef.ofw_node = node; regnode = regnode_create(dev, &axp81x_regnode_class, &initdef); Modified: projects/clang390-import/sys/arm/allwinner/clk/aw_pll.c ============================================================================== --- projects/clang390-import/sys/arm/allwinner/clk/aw_pll.c Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/sys/arm/allwinner/clk/aw_pll.c Fri Sep 2 19:44:23 2016 (r305301) @@ -110,14 +110,14 @@ __FBSDID("$FreeBSD$"); #define A13_PLL2_PRE_DIV (0x1f << 0) #define A13_PLL2_PRE_DIV_SHIFT 0 +#define A23_PLL1_FACTOR_P (0x3 << 16) +#define A23_PLL1_FACTOR_P_SHIFT 16 #define A23_PLL1_FACTOR_N (0x1f << 8) #define A23_PLL1_FACTOR_N_SHIFT 8 #define A23_PLL1_FACTOR_K (0x3 << 4) #define A23_PLL1_FACTOR_K_SHIFT 4 #define A23_PLL1_FACTOR_M (0x3 << 0) #define A23_PLL1_FACTOR_M_SHIFT 0 -#define A23_PLL1_FACTOR_P (0x3 << 16) -#define A23_PLL1_FACTOR_P_SHIFT 16 #define A31_PLL1_LOCK (1 << 28) #define A31_PLL1_CPU_SIGMA_DELTA_EN (1 << 24) @@ -171,6 +171,24 @@ __FBSDID("$FreeBSD$"); #define CLKID_A31_PLL6 0 #define CLKID_A31_PLL6_X2 1 +struct aw_pll_factor { + unsigned int n; + unsigned int k; + unsigned int m; + unsigned int p; + uint64_t freq; +}; +#define PLLFACTOR(_n, _k, _m, _p, _freq) \ + { .n = (_n), .k = (_k), .m = (_m), .p = (_p), .freq = (_freq) } + +static struct aw_pll_factor aw_a23_pll1_factors[] = { + PLLFACTOR(16, 0, 0, 0, 408000000), + PLLFACTOR(26, 0, 0, 0, 648000000), + PLLFACTOR(16, 1, 0, 0, 816000000), + PLLFACTOR(20, 1, 0, 0, 1008000000), + PLLFACTOR(24, 1, 0, 0, 1200000000), +}; + enum aw_pll_type { AWPLL_A10_PLL1 = 1, AWPLL_A10_PLL2, @@ -557,6 +575,39 @@ a13_pll2_set_freq(struct aw_pll_sc *sc, } static int +a23_pll1_set_freq(struct aw_pll_sc *sc, uint64_t fin, uint64_t *fout, + int flags) +{ + struct aw_pll_factor *f; + uint32_t val; + int n; + + f = NULL; + for (n = 0; n < nitems(aw_a23_pll1_factors); n++) { + if (aw_a23_pll1_factors[n].freq == *fout) { + f = &aw_a23_pll1_factors[n]; + break; + } + } + if (f == NULL) + return (EINVAL); + + DEVICE_LOCK(sc); + PLL_READ(sc, &val); + val &= ~(A23_PLL1_FACTOR_N|A23_PLL1_FACTOR_K|A23_PLL1_FACTOR_M| + A23_PLL1_FACTOR_P); + val |= (f->n << A23_PLL1_FACTOR_N_SHIFT); + val |= (f->k << A23_PLL1_FACTOR_K_SHIFT); + val |= (f->m << A23_PLL1_FACTOR_M_SHIFT); + val |= (f->p << A23_PLL1_FACTOR_P_SHIFT); + PLL_WRITE(sc, val); + DEVICE_UNLOCK(sc); + + return (0); + +} + +static int a23_pll1_recalc(struct aw_pll_sc *sc, uint64_t *freq) { uint32_t val, m, n, k, p; @@ -719,7 +770,7 @@ static struct aw_pll_funcs aw_pll_func[] PLL(AWPLL_A10_PLL5, a10_pll5_recalc, NULL, NULL), PLL(AWPLL_A10_PLL6, a10_pll6_recalc, a10_pll6_set_freq, a10_pll6_init), PLL(AWPLL_A13_PLL2, a13_pll2_recalc, a13_pll2_set_freq, NULL), - PLL(AWPLL_A23_PLL1, a23_pll1_recalc, NULL, NULL), + PLL(AWPLL_A23_PLL1, a23_pll1_recalc, a23_pll1_set_freq, NULL), PLL(AWPLL_A31_PLL1, a31_pll1_recalc, NULL, NULL), PLL(AWPLL_A31_PLL6, a31_pll6_recalc, NULL, a31_pll6_init), PLL(AWPLL_A80_PLL4, a80_pll4_recalc, NULL, NULL), Modified: projects/clang390-import/sys/arm64/arm64/machdep.c ============================================================================== --- projects/clang390-import/sys/arm64/arm64/machdep.c Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/sys/arm64/arm64/machdep.c Fri Sep 2 19:44:23 2016 (r305301) @@ -416,8 +416,17 @@ cpu_flush_dcache(void *ptr, size_t len) int cpu_est_clockrate(int cpu_id, uint64_t *rate) { + struct pcpu *pc; - panic("ARM64TODO: cpu_est_clockrate"); + pc = pcpu_find(cpu_id); + if (pc == NULL || rate == NULL) + return (EINVAL); + + if (pc->pc_clock == 0) + return (EOPNOTSUPP); + + *rate = pc->pc_clock; + return (0); } void Modified: projects/clang390-import/sys/arm64/include/pcpu.h ============================================================================== --- projects/clang390-import/sys/arm64/include/pcpu.h Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/sys/arm64/include/pcpu.h Fri Sep 2 19:44:23 2016 (r305301) @@ -38,7 +38,8 @@ #define PCPU_MD_FIELDS \ u_int pc_acpi_id; /* ACPI CPU id */ \ u_int pc_midr; /* stored MIDR value */ \ - char __pad[121] + uint64_t pc_clock; \ + char __pad[113] #ifdef _KERNEL Modified: projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c ============================================================================== --- projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c Fri Sep 2 19:44:23 2016 (r305301) @@ -791,11 +791,17 @@ dmu_objset_create_impl(spa_t *spa, dsl_d /* * Determine the number of levels necessary for the meta-dnode - * to contain DN_MAX_OBJECT dnodes. + * to contain DN_MAX_OBJECT dnodes. Note that in order to + * ensure that we do not overflow 64 bits, there has to be + * a nlevels that gives us a number of blocks > DN_MAX_OBJECT + * but < 2^64. Therefore, + * (mdn->dn_indblkshift - SPA_BLKPTRSHIFT) (10) must be + * less than (64 - log2(DN_MAX_OBJECT)) (16). */ - while ((uint64_t)mdn->dn_nblkptr << (mdn->dn_datablkshift + + while ((uint64_t)mdn->dn_nblkptr << + (mdn->dn_datablkshift - DNODE_SHIFT + (levels - 1) * (mdn->dn_indblkshift - SPA_BLKPTRSHIFT)) < - DN_MAX_OBJECT * sizeof (dnode_phys_t)) + DN_MAX_OBJECT) levels++; mdn->dn_next_nlevels[tx->tx_txg & TXG_MASK] = Modified: projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c ============================================================================== --- projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Fri Sep 2 19:28:24 2016 (r305300) +++ projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Fri Sep 2 19:44:23 2016 (r305301) @@ -151,6 +151,8 @@ const zio_taskq_info_t zio_taskqs[ZIO_TY { ZTI_ONE, ZTI_NULL, ZTI_ONE, ZTI_NULL }, /* IOCTL */ }; +static sysevent_t *spa_event_create(spa_t *spa, vdev_t *vd, const char *name); +static void spa_event_post(sysevent_t *ev); static void spa_sync_version(void *arg, dmu_tx_t *tx); static void spa_sync_props(void *arg, dmu_tx_t *tx); static boolean_t spa_has_active_shared_spare(spa_t *spa); @@ -5738,6 +5740,7 @@ int spa_vdev_remove(spa_t *spa, uint64_t guid, boolean_t unspare) { vdev_t *vd; + sysevent_t *ev = NULL; metaslab_group_t *mg; nvlist_t **spares, **l2cache, *nv; uint64_t txg = 0; @@ -5761,6 +5764,9 @@ spa_vdev_remove(spa_t *spa, uint64_t gui * in this pool. */ if (vd == NULL || unspare) { + if (vd == NULL) + vd = spa_lookup_by_guid(spa, guid, B_TRUE); + ev = spa_event_create(spa, vd, ESC_ZFS_VDEV_REMOVE_AUX); spa_vdev_remove_aux(spa->spa_spares.sav_config, ZPOOL_CONFIG_SPARES, spares, nspares, nv); spa_load_spares(spa); @@ -5768,7 +5774,6 @@ spa_vdev_remove(spa_t *spa, uint64_t gui } else { error = SET_ERROR(EBUSY); } - spa_event_notify(spa, vd, ESC_ZFS_VDEV_REMOVE_AUX); } else if (spa->spa_l2cache.sav_vdevs != NULL && nvlist_lookup_nvlist_array(spa->spa_l2cache.sav_config, ZPOOL_CONFIG_L2CACHE, &l2cache, &nl2cache) == 0 && @@ -5776,11 +5781,12 @@ spa_vdev_remove(spa_t *spa, uint64_t gui /* * Cache devices can always be removed. */ + vd = spa_lookup_by_guid(spa, guid, B_TRUE); + ev = spa_event_create(spa, vd, ESC_ZFS_VDEV_REMOVE_AUX); spa_vdev_remove_aux(spa->spa_l2cache.sav_config, ZPOOL_CONFIG_L2CACHE, l2cache, nl2cache, nv); spa_load_l2cache(spa); spa->spa_l2cache.sav_sync = B_TRUE; - spa_event_notify(spa, vd, ESC_ZFS_VDEV_REMOVE_AUX); } else if (vd != NULL && vd->vdev_islog) { ASSERT(!locked); ASSERT(vd == vd->vdev_top); @@ -5817,9 +5823,9 @@ spa_vdev_remove(spa_t *spa, uint64_t gui /* * Clean up the vdev namespace. */ + ev = spa_event_create(spa, vd, ESC_ZFS_VDEV_REMOVE_DEV); spa_vdev_remove_from_namespace(spa, vd); - spa_event_notify(spa, vd, ESC_ZFS_VDEV_REMOVE_DEV); } else if (vd != NULL) { /* * Normal vdevs cannot be removed (yet). @@ -5835,6 +5841,9 @@ spa_vdev_remove(spa_t *spa, uint64_t gui if (!locked) error = spa_vdev_exit(spa, NULL, txg, error); + if (ev) + spa_event_post(ev); + return (error); } @@ -7229,24 +7238,17 @@ spa_has_active_shared_spare(spa_t *spa) return (B_FALSE); } -/* - * Post a sysevent corresponding to the given event. The 'name' must be one of - * the event definitions in sys/sysevent/eventdefs.h. The payload will be - * filled in from the spa and (optionally) the vdev. This doesn't do anything - * in the userland libzpool, as we don't want consumers to misinterpret ztest - * or zdb as real changes. - */ -void -spa_event_notify(spa_t *spa, vdev_t *vd, const char *name) +static sysevent_t * +spa_event_create(spa_t *spa, vdev_t *vd, const char *name) { + sysevent_t *ev = NULL; #ifdef _KERNEL - sysevent_t *ev; sysevent_attr_list_t *attr = NULL; sysevent_value_t value; - sysevent_id_t eid; ev = sysevent_alloc(EC_ZFS, (char *)name, SUNW_KERN_PUB "zfs", SE_SLEEP); + ASSERT(ev != NULL); value.value_type = SE_DATA_TYPE_STRING; value.value.sv_string = spa_name(spa); @@ -7278,11 +7280,34 @@ spa_event_notify(spa_t *spa, vdev_t *vd, goto done; attr = NULL; - (void) log_sysevent(ev, SE_SLEEP, &eid); - done: if (attr) sysevent_free_attr(attr); *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***