Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Jun 2015 20:01:02 +0000 (UTC)
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r284461 - in projects/release-pkg: . cddl/lib/libzfs cddl/lib/libzfs_core contrib/sendmail/src lib/libc/arm/aeabi lib/libelftc lib/msun/src share/man/man9 share/mk sys/arm/arm sys/compa...
Message-ID:  <201506162001.t5GK126i068254@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bapt
Date: Tue Jun 16 20:01:01 2015
New Revision: 284461
URL: https://svnweb.freebsd.org/changeset/base/284461

Log:
  Merge from head@274131

Added:
  projects/release-pkg/lib/libelftc/Makefile.depend
     - copied unchanged from r284459, head/lib/libelftc/Makefile.depend
  projects/release-pkg/usr.bin/elfcopy/Makefile.depend
     - copied unchanged from r284459, head/usr.bin/elfcopy/Makefile.depend
Modified:
  projects/release-pkg/Makefile
  projects/release-pkg/Makefile.inc1
  projects/release-pkg/UPDATING
  projects/release-pkg/cddl/lib/libzfs/Makefile
  projects/release-pkg/cddl/lib/libzfs_core/Makefile
  projects/release-pkg/contrib/sendmail/src/tls.c
  projects/release-pkg/lib/libc/arm/aeabi/Makefile.inc
  projects/release-pkg/lib/libc/arm/aeabi/Symbol.map
  projects/release-pkg/lib/msun/src/s_ccosh.c
  projects/release-pkg/lib/msun/src/s_ccoshf.c
  projects/release-pkg/lib/msun/src/s_csinh.c
  projects/release-pkg/lib/msun/src/s_csinhf.c
  projects/release-pkg/lib/msun/src/s_ctanh.c
  projects/release-pkg/lib/msun/src/s_ctanhf.c
  projects/release-pkg/share/man/man9/ifnet.9
  projects/release-pkg/share/mk/local.init.mk
  projects/release-pkg/share/mk/local.sys.mk
  projects/release-pkg/share/mk/src.libnames.mk
  projects/release-pkg/sys/arm/arm/locore-v6.S
  projects/release-pkg/sys/arm/arm/trap.c
  projects/release-pkg/sys/compat/linux/linux_file.c
  projects/release-pkg/sys/compat/svr4/svr4_misc.c
  projects/release-pkg/sys/conf/kmod.mk
  projects/release-pkg/sys/dev/atkbdc/psm.c
  projects/release-pkg/sys/dev/cxgbe/adapter.h
  projects/release-pkg/sys/dev/cxgbe/common/t4_hw.c
  projects/release-pkg/sys/dev/cxgbe/t4_main.c
  projects/release-pkg/sys/dev/drm2/ttm/ttm_page_alloc.c
  projects/release-pkg/sys/dev/mii/mii.h
  projects/release-pkg/sys/fs/fdescfs/fdesc_vnops.c
  projects/release-pkg/sys/i386/ibcs2/ibcs2_misc.c
  projects/release-pkg/sys/kern/kern_descrip.c
  projects/release-pkg/sys/kern/vfs_acl.c
  projects/release-pkg/sys/kern/vfs_extattr.c
  projects/release-pkg/sys/kern/vfs_syscalls.c
  projects/release-pkg/sys/ofed/include/linux/file.h
  projects/release-pkg/sys/security/audit/audit_arg.c
  projects/release-pkg/sys/sys/filedesc.h
  projects/release-pkg/sys/ufs/ffs/ffs_alloc.c
  projects/release-pkg/targets/pseudo/toolchain/Makefile.depend
  projects/release-pkg/usr.bin/clang/lldb/Makefile
  projects/release-pkg/usr.bin/xlint/llib/Makefile
  projects/release-pkg/usr.sbin/crunch/crunchgen/crunchgen.c
  projects/release-pkg/usr.sbin/freebsd-update/freebsd-update.sh
Directory Properties:
  projects/release-pkg/   (props changed)
  projects/release-pkg/cddl/   (props changed)
  projects/release-pkg/contrib/sendmail/   (props changed)
  projects/release-pkg/lib/libc/   (props changed)
  projects/release-pkg/share/   (props changed)
  projects/release-pkg/sys/   (props changed)
  projects/release-pkg/sys/conf/   (props changed)
  projects/release-pkg/targets/   (props changed)

Modified: projects/release-pkg/Makefile
==============================================================================
--- projects/release-pkg/Makefile	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/Makefile	Tue Jun 16 20:01:01 2015	(r284461)
@@ -99,7 +99,10 @@
 #
 # For more information, see the build(7) manual page.
 #
-.if ${MK_META_MODE:Uno} == "yes"
+
+# Note: we use this awkward construct to be compatible with FreeBSD's
+# old make used in 10.0 and 9.2 and earlier.
+.if defined(MK_META_MODE) && ${MK_META_MODE} == "yes"
 # targets/Makefile plays the role of top-level
 .include "targets/Makefile"
 .else
@@ -436,9 +439,13 @@ universe_epilogue: universe_${target}
 universe_${target}: universe_${target}_prologue
 universe_${target}_prologue: universe_prologue
 	@echo ">> ${target} started on `LC_ALL=C date`"
+universe_${target}_worlds:
+
 .if !defined(MAKE_JUST_KERNELS)
 .for target_arch in ${TARGET_ARCHES_${target}}
 universe_${target}: universe_${target}_${target_arch}
+universe_${target}_worlds: universe_${target}_${target_arch}
+universe_${target}_done: universe_${target}_worlds
 universe_${target}_${target_arch}: universe_${target}_prologue .MAKE
 	@echo ">> ${target}.${target_arch} ${UNIVERSE_TARGET} started on `LC_ALL=C date`"
 	@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
@@ -451,15 +458,12 @@ universe_${target}_${target_arch}: unive
 	    ${MAKEFAIL}))
 	@echo ">> ${target}.${target_arch} ${UNIVERSE_TARGET} completed on `LC_ALL=C date`"
 .endfor
-.endif
+.endif # !MAKE_JUST_KERNELS
+
 .if !defined(MAKE_JUST_WORLDS)
-# If we are building world and kernels wait for the required worlds to finish
-.if !defined(MAKE_JUST_KERNELS)
-.for target_arch in ${TARGET_ARCHES_${target}}
-universe_${target}_kernels: universe_${target}_${target_arch}
-.endfor
-.endif
 universe_${target}: universe_${target}_kernels
+universe_${target}_done: universe_${target}_kernels
+universe_${target}_kernels: universe_${target}_worlds
 universe_${target}_kernels: universe_${target}_prologue .MAKE
 .if exists(${KERNSRCDIR}/${target}/conf/NOTES)
 	@(cd ${KERNSRCDIR}/${target}/conf && env __MAKE_CONF=/dev/null \
@@ -469,7 +473,11 @@ universe_${target}_kernels: universe_${t
 .endif
 	@cd ${.CURDIR} && ${SUB_MAKE} ${.MAKEFLAGS} TARGET=${target} \
 	    universe_kernels
-.endif
+.endif # !MAKE_JUST_WORLDS
+
+# Tell the user the worlds and kernels have completed
+universe_${target}: universe_${target}_done
+universe_${target}_done:
 	@echo ">> ${target} completed on `LC_ALL=C date`"
 .endfor
 universe_kernels: universe_kernconfs
@@ -522,6 +530,7 @@ universe_epilogue:
 buildLINT:
 	${MAKE} -C ${.CURDIR}/sys/${_TARGET}/conf LINT
 
+.if defined(.PARSEDIR)
 # This makefile does not run in meta mode
 .MAKE.MODE= normal
 # Normally the things we run from here don't either.
@@ -539,5 +548,6 @@ UPDATE_DEPENDFILE= NO
 MAKE_JOB_ERROR_TOKEN= no
 .export MAKE_JOB_ERROR_TOKEN
 .endif
+.endif # bmake
 
 .endif				# META_MODE

Modified: projects/release-pkg/Makefile.inc1
==============================================================================
--- projects/release-pkg/Makefile.inc1	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/Makefile.inc1	Tue Jun 16 20:01:01 2015	(r284461)
@@ -466,6 +466,8 @@ LIB32WMAKEENV+=	MAKEOBJDIRPREFIX=${LIB32
 LIB32WMAKEFLAGS+= CC="${XCC} ${LIB32FLAGS}" \
 		CXX="${XCXX} ${LIB32FLAGS}" \
 		DESTDIR=${LIB32TMP} \
+		SHLIBDIR=/usr/lib32 \
+		LIBDIR=/usr/lib32 \
 		-DCOMPAT_32BIT \
 		-DLIBRARIES_ONLY \
 		-DNO_CPU_CFLAGS \

Modified: projects/release-pkg/UPDATING
==============================================================================
--- projects/release-pkg/UPDATING	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/UPDATING	Tue Jun 16 20:01:01 2015	(r284461)
@@ -31,6 +31,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20150615:
+	The fix for the issue described in the 20150614 sendmail entry
+	below has been been committed in revision 284436.  The work
+	around described in that entry is no longer needed unless the
+	default setting is overridden by a confDH_PARAMETERS configuration
+	setting of '5' or pointing to a 512 bit DH parameter file.
+
 20150614:
 	ALLOW_DEPRECATED_ATF_TOOLS/ATFFILE support has been removed from
 	atf.test.mk (included from bsd.test.mk). Please upgrade devel/atf

Modified: projects/release-pkg/cddl/lib/libzfs/Makefile
==============================================================================
--- projects/release-pkg/cddl/lib/libzfs/Makefile	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/cddl/lib/libzfs/Makefile	Tue Jun 16 20:01:01 2015	(r284461)
@@ -37,7 +37,6 @@ SRCS+=	libzfs_changelist.c \
 	zfs_comutil.c \
 	zfs_deleg.c \
 	zfs_fletcher.c \
-	zfs_ioctl_compat.c \
 	zfs_namecheck.c \
 	zfs_prop.c \
 	zpool_prop.c \

Modified: projects/release-pkg/cddl/lib/libzfs_core/Makefile
==============================================================================
--- projects/release-pkg/cddl/lib/libzfs_core/Makefile	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/cddl/lib/libzfs_core/Makefile	Tue Jun 16 20:01:01 2015	(r284461)
@@ -11,7 +11,8 @@ DPADD=	${LIBNVPAIR}
 LDADD=	-lnvpair
 
 SRCS=	libzfs_core.c \
-	libzfs_core_compat.c
+	libzfs_core_compat.c \
+	zfs_ioctl_compat.c
 
 SRCS+=	libzfs_compat.c
 

Modified: projects/release-pkg/contrib/sendmail/src/tls.c
==============================================================================
--- projects/release-pkg/contrib/sendmail/src/tls.c	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/contrib/sendmail/src/tls.c	Tue Jun 16 20:01:01 2015	(r284461)
@@ -650,7 +650,7 @@ inittls(ctx, req, options, srv, certfile
 	**  1024	generate 1024 bit parameters
 	**  2048	generate 2048 bit parameters
 	**  /file/name	read parameters from /file/name
-	**  default is: 1024 for server, 512 for client (OK? XXX)
+	**  default is: 1024
 	*/
 
 	if (bitset(TLS_I_TRY_DH, req))
@@ -676,8 +676,8 @@ inittls(ctx, req, options, srv, certfile
 		}
 		if (dhparam == NULL)
 		{
-			dhparam = srv ? "1" : "5";
-			req |= (srv ? TLS_I_DH1024 : TLS_I_DH512);
+			dhparam = "1";
+			req |= TLS_I_DH1024;
 		}
 		else if (*dhparam == '/')
 		{

Modified: projects/release-pkg/lib/libc/arm/aeabi/Makefile.inc
==============================================================================
--- projects/release-pkg/lib/libc/arm/aeabi/Makefile.inc	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/lib/libc/arm/aeabi/Makefile.inc	Tue Jun 16 20:01:01 2015	(r284461)
@@ -27,13 +27,5 @@ SRCS+=	aeabi_memcmp.S		\
 	aeabi_memmove.S		\
 	aeabi_memset.S
 
-# Mark the functions as hidden so they are not available outside of libc.
-CFLAGS.aeabi_memcmp.S=	-DVISIBILITY_HIDDEN
-CFLAGS.aeabi_memcpy.S=	-DVISIBILITY_HIDDEN
-CFLAGS.aeabi_memmove.S=	-DVISIBILITY_HIDDEN
-CFLAGS.aeabi_memset.S=	-DVISIBILITY_HIDDEN
-CFLAGS+=		${CFLAGS.${.IMPSRC:T}}
-
-
 SYM_MAPS+=${LIBC_SRCTOP}/arm/aeabi/Symbol.map
 

Modified: projects/release-pkg/lib/libc/arm/aeabi/Symbol.map
==============================================================================
--- projects/release-pkg/lib/libc/arm/aeabi/Symbol.map	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/lib/libc/arm/aeabi/Symbol.map	Tue Jun 16 20:01:01 2015	(r284461)
@@ -52,4 +52,21 @@ FBSDprivate_1.0 {
 
 	__aeabi_i2d;
 	__aeabi_i2f;
+
+
+	__aeabi_memclr;
+	__aeabi_memclr4;
+	__aeabi_memclr8;
+	__aeabi_memcmp;
+	__aeabi_memcmp4;
+	__aeabi_memcmp8;
+	__aeabi_memcpy;
+	__aeabi_memcpy4;
+	__aeabi_memcpy8;
+	__aeabi_memmove;
+	__aeabi_memmove4;
+	__aeabi_memmove8;
+	__aeabi_memset;
+	__aeabi_memset4;
+	__aeabi_memset8;
 };

Copied: projects/release-pkg/lib/libelftc/Makefile.depend (from r284459, head/lib/libelftc/Makefile.depend)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-pkg/lib/libelftc/Makefile.depend	Tue Jun 16 20:01:01 2015	(r284461, copy of r284459, head/lib/libelftc/Makefile.depend)
@@ -0,0 +1,14 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+	include \
+	include/xlocale \
+	lib/libelf \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif

Modified: projects/release-pkg/lib/msun/src/s_ccosh.c
==============================================================================
--- projects/release-pkg/lib/msun/src/s_ccosh.c	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/lib/msun/src/s_ccosh.c	Tue Jun 16 20:01:01 2015	(r284461)
@@ -32,6 +32,8 @@
  *
  * Exceptional values are noted in the comments within the source code.
  * These values and the return value were taken from n1124.pdf.
+ * The sign of the result for some exceptional values is unspecified but
+ * must satisfy both cosh(conj(z)) == conj(cosh(z)) and cosh(-z) == cosh(z).
  */
 
 #include <sys/cdefs.h>
@@ -63,7 +65,7 @@ ccosh(double complex z)
 	if (ix < 0x7ff00000 && iy < 0x7ff00000) {
 		if ((iy | ly) == 0)
 			return (CMPLX(cosh(x), x * y));
-		if (ix < 0x40360000)	/* small x: normal case */
+		if (ix < 0x40360000)	/* |x| < 22: normal case */
 			return (CMPLX(cosh(x) * cos(y), sinh(x) * sin(y)));
 
 		/* |x| >= 22, so cosh(x) ~= exp(|x|) */
@@ -83,28 +85,27 @@ ccosh(double complex z)
 	}
 
 	/*
-	 * cosh(+-0 +- I Inf) = dNaN + I sign(d(+-0, dNaN))0.
-	 * The sign of 0 in the result is unspecified.  Choice = normally
-	 * the same as dNaN.  Raise the invalid floating-point exception.
-	 *
-	 * cosh(+-0 +- I NaN) = d(NaN) + I sign(d(+-0, NaN))0.
-	 * The sign of 0 in the result is unspecified.  Choice = normally
-	 * the same as d(NaN).
+	 * cosh(+-0 +- I Inf) = dNaN + I (+-)(+-)0.
+	 * The sign of 0 in the result is unspecified.  Choice = product
+	 * of the signs of the argument.  Raise the invalid floating-point
+	 * exception.
+	 *
+	 * cosh(+-0 +- I NaN) = d(NaN) + I (+-)(+-)0.
+	 * The sign of 0 in the result is unspecified.  Choice = product
+	 * of the signs of the argument.
 	 */
-	if ((ix | lx) == 0 && iy >= 0x7ff00000)
-		return (CMPLX(y - y, copysign(0, x * (y - y))));
+	if ((ix | lx) == 0)		/* && iy >= 0x7ff00000 */
+		return (CMPLX(y - y, x * copysign(0, y)));
 
 	/*
 	 * cosh(+-Inf +- I 0) = +Inf + I (+-)(+-)0.
 	 *
-	 * cosh(NaN +- I 0)   = d(NaN) + I sign(d(NaN, +-0))0.
-	 * The sign of 0 in the result is unspecified.
+	 * cosh(NaN +- I 0)   = d(NaN) + I (+-)(+-)0.
+	 * The sign of 0 in the result is unspecified.  Choice = product
+	 * of the signs of the argument.
 	 */
-	if ((iy | ly) == 0 && ix >= 0x7ff00000) {
-		if (((hx & 0xfffff) | lx) == 0)
-			return (CMPLX(x * x, copysign(0, x) * y));
-		return (CMPLX(x * x, copysign(0, (x + x) * y)));
-	}
+	if ((iy | ly) == 0)		/* && ix >= 0x7ff00000 */
+		return (CMPLX(x * x, copysign(0, x) * y));
 
 	/*
 	 * cosh(x +- I Inf) = dNaN + I dNaN.
@@ -114,7 +115,7 @@ ccosh(double complex z)
 	 * Optionally raises the invalid floating-point exception for finite
 	 * nonzero x.  Choice = don't raise (except for signaling NaNs).
 	 */
-	if (ix < 0x7ff00000 && iy >= 0x7ff00000)
+	if (ix < 0x7ff00000)		/* && iy >= 0x7ff00000 */
 		return (CMPLX(y - y, x * (y - y)));
 
 	/*
@@ -126,10 +127,10 @@ ccosh(double complex z)
 	 *
 	 * cosh(+-Inf + I y)   = +Inf cos(y) +- I Inf sin(y)
 	 */
-	if (ix >= 0x7ff00000 && ((hx & 0xfffff) | lx) == 0) {
+	if (ix == 0x7ff00000 && lx == 0) {
 		if (iy >= 0x7ff00000)
-			return (CMPLX(x * x, x * (y - y)));
-		return (CMPLX((x * x) * cos(y), x * sin(y)));
+			return (CMPLX(INFINITY, x * (y - y)));
+		return (CMPLX(INFINITY * cos(y), x * sin(y)));
 	}
 
 	/*

Modified: projects/release-pkg/lib/msun/src/s_ccoshf.c
==============================================================================
--- projects/release-pkg/lib/msun/src/s_ccoshf.c	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/lib/msun/src/s_ccoshf.c	Tue Jun 16 20:01:01 2015	(r284461)
@@ -25,7 +25,7 @@
  */
 
 /*
- * Hyperbolic cosine of a complex argument.  See s_ccosh.c for details.
+ * Float version of ccosh().  See s_ccosh.c for details.
  */
 
 #include <sys/cdefs.h>
@@ -56,13 +56,13 @@ ccoshf(float complex z)
 	if (ix < 0x7f800000 && iy < 0x7f800000) {
 		if (iy == 0)
 			return (CMPLXF(coshf(x), x * y));
-		if (ix < 0x41100000)	/* small x: normal case */
+		if (ix < 0x41100000)	/* |x| < 9: normal case */
 			return (CMPLXF(coshf(x) * cosf(y), sinhf(x) * sinf(y)));
 
 		/* |x| >= 9, so cosh(x) ~= exp(|x|) */
 		if (ix < 0x42b17218) {
 			/* x < 88.7: expf(|x|) won't overflow */
-			h = expf(fabsf(x)) * 0.5f;
+			h = expf(fabsf(x)) * 0.5F;
 			return (CMPLXF(h * cosf(y), copysignf(h, x) * sinf(y)));
 		} else if (ix < 0x4340b1e7) {
 			/* x < 192.7: scale to avoid overflow */
@@ -75,22 +75,19 @@ ccoshf(float complex z)
 		}
 	}
 
-	if (ix == 0 && iy >= 0x7f800000)
-		return (CMPLXF(y - y, copysignf(0, x * (y - y))));
+	if (ix == 0)			/* && iy >= 0x7f800000 */
+		return (CMPLXF(y - y, x * copysignf(0, y)));
 
-	if (iy == 0 && ix >= 0x7f800000) {
-		if ((hx & 0x7fffff) == 0)
-			return (CMPLXF(x * x, copysignf(0, x) * y));
-		return (CMPLXF(x * x, copysignf(0, (x + x) * y)));
-	}
+	if (iy == 0)			/* && ix >= 0x7f800000 */
+		return (CMPLXF(x * x, copysignf(0, x) * y));
 
-	if (ix < 0x7f800000 && iy >= 0x7f800000)
+	if (ix < 0x7f800000)		/* && iy >= 0x7f800000 */
 		return (CMPLXF(y - y, x * (y - y)));
 
-	if (ix >= 0x7f800000 && (hx & 0x7fffff) == 0) {
+	if (ix == 0x7f800000) {
 		if (iy >= 0x7f800000)
-			return (CMPLXF(x * x, x * (y - y)));
-		return (CMPLXF((x * x) * cosf(y), x * sinf(y)));
+			return (CMPLXF(INFINITY, x * (y - y)));
+		return (CMPLXF(INFINITY * cosf(y), x * sinf(y)));
 	}
 
 	return (CMPLXF((x * x) * (y - y), (x + x) * (y - y)));

Modified: projects/release-pkg/lib/msun/src/s_csinh.c
==============================================================================
--- projects/release-pkg/lib/msun/src/s_csinh.c	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/lib/msun/src/s_csinh.c	Tue Jun 16 20:01:01 2015	(r284461)
@@ -32,6 +32,8 @@
  *
  * Exceptional values are noted in the comments within the source code.
  * These values and the return value were taken from n1124.pdf.
+ * The sign of the result for some exceptional values is unspecified but
+ * must satisfy both sinh(conj(z)) == conj(sinh(z)) and sinh(-z) == -sinh(z).
  */
 
 #include <sys/cdefs.h>
@@ -63,7 +65,7 @@ csinh(double complex z)
 	if (ix < 0x7ff00000 && iy < 0x7ff00000) {
 		if ((iy | ly) == 0)
 			return (CMPLX(sinh(x), y));
-		if (ix < 0x40360000)	/* small x: normal case */
+		if (ix < 0x40360000)	/* |x| < 22: normal case */
 			return (CMPLX(sinh(x) * cos(y), cosh(x) * sin(y)));
 
 		/* |x| >= 22, so cosh(x) ~= exp(|x|) */
@@ -83,27 +85,24 @@ csinh(double complex z)
 	}
 
 	/*
-	 * sinh(+-0 +- I Inf) = sign(d(+-0, dNaN))0 + I dNaN.
-	 * The sign of 0 in the result is unspecified.  Choice = normally
-	 * the same as dNaN.  Raise the invalid floating-point exception.
-	 *
-	 * sinh(+-0 +- I NaN) = sign(d(+-0, NaN))0 + I d(NaN).
-	 * The sign of 0 in the result is unspecified.  Choice = normally
-	 * the same as d(NaN).
+	 * sinh(+-0 +- I Inf) = +-0 + I dNaN.
+	 * The sign of 0 in the result is unspecified.  Choice = same sign
+	 * as the argument.  Raise the invalid floating-point exception.
+	 *
+	 * sinh(+-0 +- I NaN) = +-0 + I d(NaN).
+	 * The sign of 0 in the result is unspecified.  Choice = same sign
+	 * as the argument.
 	 */
-	if ((ix | lx) == 0 && iy >= 0x7ff00000)
-		return (CMPLX(copysign(0, x * (y - y)), y - y));
+	if ((ix | lx) == 0)		/* && iy >= 0x7ff00000 */
+		return (CMPLX(x, y - y));
 
 	/*
 	 * sinh(+-Inf +- I 0) = +-Inf + I +-0.
 	 *
 	 * sinh(NaN +- I 0)   = d(NaN) + I +-0.
 	 */
-	if ((iy | ly) == 0 && ix >= 0x7ff00000) {
-		if (((hx & 0xfffff) | lx) == 0)
-			return (CMPLX(x, y));
-		return (CMPLX(x, copysign(0, y)));
-	}
+	if ((iy | ly) == 0)		/* && ix >= 0x7ff00000 */
+		return (CMPLX(x + x, y));
 
 	/*
 	 * sinh(x +- I Inf) = dNaN + I dNaN.
@@ -113,45 +112,45 @@ csinh(double complex z)
 	 * Optionally raises the invalid floating-point exception for finite
 	 * nonzero x.  Choice = don't raise (except for signaling NaNs).
 	 */
-	if (ix < 0x7ff00000 && iy >= 0x7ff00000)
-		return (CMPLX(y - y, x * (y - y)));
+	if (ix < 0x7ff00000)		/* && iy >= 0x7ff00000 */
+		return (CMPLX(y - y, y - y));
 
 	/*
 	 * sinh(+-Inf + I NaN)  = +-Inf + I d(NaN).
-	 * The sign of Inf in the result is unspecified.  Choice = normally
-	 * the same as d(NaN).
+	 * The sign of Inf in the result is unspecified.  Choice = same sign
+	 * as the argument.
 	 *
-	 * sinh(+-Inf +- I Inf) = +Inf + I dNaN.
-	 * The sign of Inf in the result is unspecified.  Choice = always +.
-	 * Raise the invalid floating-point exception.
+	 * sinh(+-Inf +- I Inf) = +-Inf + I dNaN.
+	 * The sign of Inf in the result is unspecified.  Choice = same sign
+	 * as the argument.  Raise the invalid floating-point exception.
 	 *
 	 * sinh(+-Inf + I y)   = +-Inf cos(y) + I Inf sin(y)
 	 */
-	if (ix >= 0x7ff00000 && ((hx & 0xfffff) | lx) == 0) {
+	if (ix == 0x7ff00000 && lx == 0) {
 		if (iy >= 0x7ff00000)
-			return (CMPLX(x * x, x * (y - y)));
+			return (CMPLX(x, y - y));
 		return (CMPLX(x * cos(y), INFINITY * sin(y)));
 	}
 
 	/*
-	 * sinh(NaN + I NaN)  = d(NaN) + I d(NaN).
+	 * sinh(NaN1 + I NaN2) = d(NaN1, NaN2) + I d(NaN1, NaN2).
 	 *
-	 * sinh(NaN +- I Inf) = d(NaN) + I d(NaN).
+	 * sinh(NaN +- I Inf)  = d(NaN, dNaN) + I d(NaN, dNaN).
 	 * Optionally raises the invalid floating-point exception.
 	 * Choice = raise.
 	 *
-	 * sinh(NaN + I y)    = d(NaN) + I d(NaN).
+	 * sinh(NaN + I y)     = d(NaN) + I d(NaN).
 	 * Optionally raises the invalid floating-point exception for finite
 	 * nonzero y.  Choice = don't raise (except for signaling NaNs).
 	 */
-	return (CMPLX((x * x) * (y - y), (x + x) * (y - y)));
+	return (CMPLX((x + x) * (y - y), (x * x) * (y - y)));
 }
 
 double complex
 csin(double complex z)
 {
 
-	/* csin(z) = -I * csinh(I * z) */
-	z = csinh(CMPLX(-cimag(z), creal(z)));
-	return (CMPLX(cimag(z), -creal(z)));
+	/* csin(z) = -I * csinh(I * z) = I * conj(csinh(I * conj(z))). */
+	z = csinh(CMPLX(cimag(z), creal(z)));
+	return (CMPLX(cimag(z), creal(z)));
 }

Modified: projects/release-pkg/lib/msun/src/s_csinhf.c
==============================================================================
--- projects/release-pkg/lib/msun/src/s_csinhf.c	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/lib/msun/src/s_csinhf.c	Tue Jun 16 20:01:01 2015	(r284461)
@@ -25,7 +25,7 @@
  */
 
 /*
- * Hyperbolic sine of a complex argument z.  See s_csinh.c for details.
+ * Float version of csinh().  See s_csinh.c for details.
  */
 
 #include <sys/cdefs.h>
@@ -56,13 +56,13 @@ csinhf(float complex z)
 	if (ix < 0x7f800000 && iy < 0x7f800000) {
 		if (iy == 0)
 			return (CMPLXF(sinhf(x), y));
-		if (ix < 0x41100000)	/* small x: normal case */
+		if (ix < 0x41100000)	/* |x| < 9: normal case */
 			return (CMPLXF(sinhf(x) * cosf(y), coshf(x) * sinf(y)));
 
 		/* |x| >= 9, so cosh(x) ~= exp(|x|) */
 		if (ix < 0x42b17218) {
 			/* x < 88.7: expf(|x|) won't overflow */
-			h = expf(fabsf(x)) * 0.5f;
+			h = expf(fabsf(x)) * 0.5F;
 			return (CMPLXF(copysignf(h, x) * cosf(y), h * sinf(y)));
 		} else if (ix < 0x4340b1e7) {
 			/* x < 192.7: scale to avoid overflow */
@@ -75,31 +75,28 @@ csinhf(float complex z)
 		}
 	}
 
-	if (ix == 0 && iy >= 0x7f800000)
-		return (CMPLXF(copysignf(0, x * (y - y)), y - y));
+	if (ix == 0)			/* && iy >= 0x7f800000 */
+		return (CMPLXF(x, y - y));
 
-	if (iy == 0 && ix >= 0x7f800000) {
-		if ((hx & 0x7fffff) == 0)
-			return (CMPLXF(x, y));
-		return (CMPLXF(x, copysignf(0, y)));
-	}
+	if (iy == 0)			/* && ix >= 0x7f800000 */
+		return (CMPLXF(x + x, y));
 
-	if (ix < 0x7f800000 && iy >= 0x7f800000)
-		return (CMPLXF(y - y, x * (y - y)));
+	if (ix < 0x7f800000)		/* && iy >= 0x7f800000 */
+		return (CMPLXF(y - y, y - y));
 
-	if (ix >= 0x7f800000 && (hx & 0x7fffff) == 0) {
+	if (ix == 0x7f800000) {
 		if (iy >= 0x7f800000)
-			return (CMPLXF(x * x, x * (y - y)));
+			return (CMPLXF(x, y - y));
 		return (CMPLXF(x * cosf(y), INFINITY * sinf(y)));
 	}
 
-	return (CMPLXF((x * x) * (y - y), (x + x) * (y - y)));
+	return (CMPLXF((x + x) * (y - y), (x * x) * (y - y)));
 }
 
 float complex
 csinf(float complex z)
 {
 
-	z = csinhf(CMPLXF(-cimagf(z), crealf(z)));
-	return (CMPLXF(cimagf(z), -crealf(z)));
+	z = csinhf(CMPLXF(cimagf(z), crealf(z)));
+	return (CMPLXF(cimagf(z), crealf(z)));
 }

Modified: projects/release-pkg/lib/msun/src/s_ctanh.c
==============================================================================
--- projects/release-pkg/lib/msun/src/s_ctanh.c	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/lib/msun/src/s_ctanh.c	Tue Jun 16 20:01:01 2015	(r284461)
@@ -25,7 +25,7 @@
  */
 
 /*
- * Hyperbolic tangent of a complex argument z = x + i y.
+ * Hyperbolic tangent of a complex argument z = x + I y.
  *
  * The algorithm is from:
  *
@@ -44,15 +44,15 @@
  *
  *   tanh(z) = sinh(z) / cosh(z)
  *
- *             sinh(x) cos(y) + i cosh(x) sin(y)
+ *             sinh(x) cos(y) + I cosh(x) sin(y)
  *           = ---------------------------------
- *             cosh(x) cos(y) + i sinh(x) sin(y)
+ *             cosh(x) cos(y) + I sinh(x) sin(y)
  *
- *             cosh(x) sinh(x) / cos^2(y) + i tan(y)
+ *             cosh(x) sinh(x) / cos^2(y) + I tan(y)
  *           = -------------------------------------
  *                    1 + sinh^2(x) / cos^2(y)
  *
- *             beta rho s + i t
+ *             beta rho s + I t
  *           = ----------------
  *               1 + beta s^2
  *
@@ -85,16 +85,16 @@ ctanh(double complex z)
 	ix = hx & 0x7fffffff;
 
 	/*
-	 * ctanh(NaN + i 0) = NaN + i 0
+	 * ctanh(NaN +- I 0) = d(NaN) +- I 0
 	 *
-	 * ctanh(NaN + i y) = NaN + i NaN		for y != 0
+	 * ctanh(NaN + I y) = d(NaN,y) + I d(NaN,y)	for y != 0
 	 *
 	 * The imaginary part has the sign of x*sin(2*y), but there's no
 	 * special effort to get this right.
 	 *
-	 * ctanh(+-Inf +- i Inf) = +-1 +- 0
+	 * ctanh(+-Inf +- I Inf) = +-1 +- I 0
 	 *
-	 * ctanh(+-Inf + i y) = +-1 + 0 sin(2y)		for y finite
+	 * ctanh(+-Inf + I y) = +-1 + I 0 sin(2y)	for y finite
 	 *
 	 * The imaginary part of the sign is unspecified.  This special
 	 * case is only needed to avoid a spurious invalid exception when
@@ -102,24 +102,25 @@ ctanh(double complex z)
 	 */
 	if (ix >= 0x7ff00000) {
 		if ((ix & 0xfffff) | lx)	/* x is NaN */
-			return (CMPLX(x, (y == 0 ? y : x * y)));
+			return (CMPLX((x + 0) * (y + 0),
+			    y == 0 ? y : (x + 0) * (y + 0)));
 		SET_HIGH_WORD(x, hx - 0x40000000);	/* x = copysign(1, x) */
 		return (CMPLX(x, copysign(0, isinf(y) ? y : sin(y) * cos(y))));
 	}
 
 	/*
-	 * ctanh(x + i NAN) = NaN + i NaN
-	 * ctanh(x +- i Inf) = NaN + i NaN
+	 * ctanh(x + I NaN) = d(NaN) + I d(NaN)
+	 * ctanh(x +- I Inf) = dNaN + I dNaN
 	 */
 	if (!isfinite(y))
 		return (CMPLX(y - y, y - y));
 
 	/*
-	 * ctanh(+-huge + i +-y) ~= +-1 +- i 2sin(2y)/exp(2x), using the
+	 * ctanh(+-huge +- I y) ~= +-1 +- I 2sin(2y)/exp(2x), using the
 	 * approximation sinh^2(huge) ~= exp(2*huge) / 4.
 	 * We use a modified formula to avoid spurious overflow.
 	 */
-	if (ix >= 0x40360000) {	/* x >= 22 */
+	if (ix >= 0x40360000) {	/* |x| >= 22 */
 		double exp_mx = exp(-fabs(x));
 		return (CMPLX(copysign(1, x),
 		    4 * sin(y) * cos(y) * exp_mx * exp_mx));
@@ -138,7 +139,7 @@ double complex
 ctan(double complex z)
 {
 
-	/* ctan(z) = -I * ctanh(I * z) */
-	z = ctanh(CMPLX(-cimag(z), creal(z)));
-	return (CMPLX(cimag(z), -creal(z)));
+	/* ctan(z) = -I * ctanh(I * z) = I * conj(ctanh(I * conj(z))) */
+	z = ctanh(CMPLX(cimag(z), creal(z)));
+	return (CMPLX(cimag(z), creal(z)));
 }

Modified: projects/release-pkg/lib/msun/src/s_ctanhf.c
==============================================================================
--- projects/release-pkg/lib/msun/src/s_ctanhf.c	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/lib/msun/src/s_ctanhf.c	Tue Jun 16 20:01:01 2015	(r284461)
@@ -51,7 +51,8 @@ ctanhf(float complex z)
 
 	if (ix >= 0x7f800000) {
 		if (ix & 0x7fffff)
-			return (CMPLXF(x, (y == 0 ? y : x * y)));
+			return (CMPLXF((x + 0) * (y + 0),
+			    y == 0 ? y : (x + 0) * (y + 0)));
 		SET_FLOAT_WORD(x, hx - 0x40000000);
 		return (CMPLXF(x,
 		    copysignf(0, isinf(y) ? y : sinf(y) * cosf(y))));
@@ -60,7 +61,7 @@ ctanhf(float complex z)
 	if (!isfinite(y))
 		return (CMPLXF(y - y, y - y));
 
-	if (ix >= 0x41300000) {	/* x >= 11 */
+	if (ix >= 0x41300000) {	/* |x| >= 11 */
 		float exp_mx = expf(-fabsf(x));
 		return (CMPLXF(copysignf(1, x),
 		    4 * sinf(y) * cosf(y) * exp_mx * exp_mx));
@@ -78,7 +79,7 @@ float complex
 ctanf(float complex z)
 {
 
-	z = ctanhf(CMPLXF(-cimagf(z), crealf(z)));
-	return (CMPLXF(cimagf(z), -crealf(z)));
+	z = ctanhf(CMPLXF(cimagf(z), crealf(z)));
+	return (CMPLXF(cimagf(z), crealf(z)));
 }
 

Modified: projects/release-pkg/share/man/man9/ifnet.9
==============================================================================
--- projects/release-pkg/share/man/man9/ifnet.9	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/share/man/man9/ifnet.9	Tue Jun 16 20:01:01 2015	(r284461)
@@ -1172,7 +1172,7 @@ structure to be the first element in tha
 (A pointer to
 this address structure is saved in the
 .Vt ifnet
-structure and shall be accessed by the
+structure and is accessed by the
 .Fn ifaddr_byindex
 function.)
 The

Modified: projects/release-pkg/share/mk/local.init.mk
==============================================================================
--- projects/release-pkg/share/mk/local.init.mk	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/share/mk/local.init.mk	Tue Jun 16 20:01:01 2015	(r284461)
@@ -1,7 +1,5 @@
 # $FreeBSD$
 
-.include "src.opts.mk"
-
 .if ${.MAKE.MODE:Unormal:Mmeta*} != ""
 .if !empty(SUBDIR) && !defined(LIB) && !defined(PROG) && ${.MAKE.MAKEFILES:M*bsd.prog.mk} == ""
 .if ${.MAKE.MODE:Mleaf*} != ""

Modified: projects/release-pkg/share/mk/local.sys.mk
==============================================================================
--- projects/release-pkg/share/mk/local.sys.mk	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/share/mk/local.sys.mk	Tue Jun 16 20:01:01 2015	(r284461)
@@ -29,6 +29,7 @@ M_whence = ${M_type}:M/*:[1]
 # convert a path to a valid shell variable
 M_P2V = tu:C,[./-],_,g
 
+.if ${MK_META_MODE} == "yes"
 MAKE_PRINT_VAR_ON_ERROR+= \
 	.CURDIR \
 	.MAKE \
@@ -48,6 +49,7 @@ MAKE_PRINT_VAR_ON_ERROR+= \
 .if ${.MAKE.LEVEL} > 0
 MAKE_PRINT_VAR_ON_ERROR += .MAKE.MAKEFILES .PATH
 .endif
+.endif
 
 # these are handy
 # we can use this for a cheap timestamp at the start of a target's script,

Modified: projects/release-pkg/share/mk/src.libnames.mk
==============================================================================
--- projects/release-pkg/share/mk/src.libnames.mk	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/share/mk/src.libnames.mk	Tue Jun 16 20:01:01 2015	(r284461)
@@ -123,6 +123,8 @@ _LIBRARIES=	\
 		nv \
 		opie \
 		pam \
+		panel \
+		panelw \
 		pcap \
 		pcsclite \
 		pjdlog \

Modified: projects/release-pkg/sys/arm/arm/locore-v6.S
==============================================================================
--- projects/release-pkg/sys/arm/arm/locore-v6.S	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/sys/arm/arm/locore-v6.S	Tue Jun 16 20:01:01 2015	(r284461)
@@ -240,7 +240,7 @@ ASENTRY_NP(init_mmu)
 	 *  - All is set to uncacheable memory
 	 */
 	ldr	r0, =0xAAAAA
-	mrc	CP15_PRRR(r0)
+	mcr	CP15_PRRR(r0)
 	mov	r0, #0
 	mcr	CP15_NMRR(r0)
 #endif

Modified: projects/release-pkg/sys/arm/arm/trap.c
==============================================================================
--- projects/release-pkg/sys/arm/arm/trap.c	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/sys/arm/arm/trap.c	Tue Jun 16 20:01:01 2015	(r284461)
@@ -78,10 +78,6 @@
  * Created      : 28/11/94
  */
 
-#ifdef KDTRACE_HOOKS
-#include <sys/dtrace_bsd.h>
-#endif
-
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
@@ -109,6 +105,10 @@ __FBSDID("$FreeBSD$");
 #include <sys/kdb.h>
 #endif
 
+#ifdef KDTRACE_HOOKS
+#include <sys/dtrace_bsd.h>
+#endif
+
 extern char fusubailout[];
 
 #ifdef DEBUG

Modified: projects/release-pkg/sys/compat/linux/linux_file.c
==============================================================================
--- projects/release-pkg/sys/compat/linux/linux_file.c	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/sys/compat/linux/linux_file.c	Tue Jun 16 20:01:01 2015	(r284461)
@@ -348,8 +348,7 @@ getdents_common(struct thread *td, struc
 	} else
 		justone = 0;
 
-	error = getvnode(td->td_proc->p_fd, args->fd,
-	    cap_rights_init(&rights, CAP_READ), &fp);
+	error = getvnode(td, args->fd, cap_rights_init(&rights, CAP_READ), &fp);
 	if (error != 0)
 		return (error);
 

Modified: projects/release-pkg/sys/compat/svr4/svr4_misc.c
==============================================================================
--- projects/release-pkg/sys/compat/svr4/svr4_misc.c	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/sys/compat/svr4/svr4_misc.c	Tue Jun 16 20:01:01 2015	(r284461)
@@ -262,8 +262,7 @@ svr4_sys_getdents64(td, uap)
 
 	DPRINTF(("svr4_sys_getdents64(%d, *, %d)\n",
 		uap->fd, uap->nbytes));
-	error = getvnode(td->td_proc->p_fd, uap->fd,
-	    cap_rights_init(&rights, CAP_READ), &fp);
+	error = getvnode(td, uap->fd, cap_rights_init(&rights, CAP_READ), &fp);
 	if (error != 0)
 		return (error);
 
@@ -442,8 +441,7 @@ svr4_sys_getdents(td, uap)
 	if (uap->nbytes < 0)
 		return (EINVAL);
 
-	error = getvnode(td->td_proc->p_fd, uap->fd,
-	    cap_rights_init(&rights, CAP_READ), &fp);
+	error = getvnode(td, uap->fd, cap_rights_init(&rights, CAP_READ), &fp);
 	if (error != 0)
 		return (error);
 
@@ -622,7 +620,7 @@ svr4_sys_fchroot(td, uap)
 	struct thread *td;
 	struct svr4_sys_fchroot_args *uap;
 {
-	struct filedesc	*fdp = td->td_proc->p_fd;
+	cap_rights_t rights;
 	struct vnode	*vp;
 	struct file	*fp;
 	int		 error;
@@ -630,7 +628,7 @@ svr4_sys_fchroot(td, uap)
 	if ((error = priv_check(td, PRIV_VFS_FCHROOT)) != 0)
 		return error;
 	/* XXX: we have the chroot priv... what cap might we need? all? */
-	if ((error = getvnode(fdp, uap->fd, 0, &fp)) != 0)
+	if ((error = getvnode(td, uap->fd, cap_rights_init(&rights), &fp)) != 0)
 		return error;
 	vp = fp->f_vnode;
 	VREF(vp);

Modified: projects/release-pkg/sys/conf/kmod.mk
==============================================================================
--- projects/release-pkg/sys/conf/kmod.mk	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/sys/conf/kmod.mk	Tue Jun 16 20:01:01 2015	(r284461)
@@ -239,7 +239,7 @@ beforedepend: ${_ILINKS}
 # causes all the modules to be rebuilt when the directory pointed to changes.
 .for _link in ${_ILINKS}
 .if !exists(${.OBJDIR}/${_link})
-${OBJS}: ${.OBJDIR}/${_link}
+${OBJS}: ${_link}
 .endif
 .endfor
 

Modified: projects/release-pkg/sys/dev/atkbdc/psm.c
==============================================================================
--- projects/release-pkg/sys/dev/atkbdc/psm.c	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/sys/dev/atkbdc/psm.c	Tue Jun 16 20:01:01 2015	(r284461)
@@ -5102,7 +5102,7 @@ enable_trackpoint(struct psm_softc *sc, 
 	id = read_aux_data(kbdc);
 	if (id < 0x01)
 		return (FALSE);
-	if (sc != NULL)
+	if (arg == PROBE)
 		sc->tphw = id;
 	if (!trackpoint_support)
 		return (FALSE);

Modified: projects/release-pkg/sys/dev/cxgbe/adapter.h
==============================================================================
--- projects/release-pkg/sys/dev/cxgbe/adapter.h	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/sys/dev/cxgbe/adapter.h	Tue Jun 16 20:01:01 2015	(r284461)
@@ -206,6 +206,9 @@ enum {
 	INTR_OFLD_RXQ	= (1 << 5),	/* All TOE rxq's take interrupts */
 	INTR_NM_RXQ	= (1 << 6),	/* All netmap rxq's take interrupts */
 	INTR_ALL	= (INTR_RXQ | INTR_OFLD_RXQ | INTR_NM_RXQ),
+
+	/* adapter debug_flags */
+	DF_DUMP_MBOX	= (1 << 0),
 };
 
 #define IS_DOOMED(pi)	((pi)->flags & DOOMED)
@@ -762,6 +765,7 @@ struct adapter {
 	int active_ulds;	/* ULDs activated on this adapter */
 #endif
 	int flags;
+	int debug_flags;
 
 	char ifp_lockname[16];
 	struct mtx ifp_lock;
@@ -846,6 +850,24 @@ struct adapter {
 #define TXQ_LOCK_ASSERT_OWNED(txq)	EQ_LOCK_ASSERT_OWNED(&(txq)->eq)
 #define TXQ_LOCK_ASSERT_NOTOWNED(txq)	EQ_LOCK_ASSERT_NOTOWNED(&(txq)->eq)
 
+#define CH_DUMP_MBOX(sc, mbox, data_reg) \
+	do { \
+		if (sc->debug_flags & DF_DUMP_MBOX) { \
+			log(LOG_NOTICE, \
+			    "%s mbox %u: %016llx %016llx %016llx %016llx " \
+			    "%016llx %016llx %016llx %016llx\n", \
+			    device_get_nameunit(sc->dev), mbox, \
+			    (unsigned long long)t4_read_reg64(sc, data_reg), \
+			    (unsigned long long)t4_read_reg64(sc, data_reg + 8), \
+			    (unsigned long long)t4_read_reg64(sc, data_reg + 16), \
+			    (unsigned long long)t4_read_reg64(sc, data_reg + 24), \
+			    (unsigned long long)t4_read_reg64(sc, data_reg + 32), \
+			    (unsigned long long)t4_read_reg64(sc, data_reg + 40), \
+			    (unsigned long long)t4_read_reg64(sc, data_reg + 48), \
+			    (unsigned long long)t4_read_reg64(sc, data_reg + 56)); \
+		} \
+	} while (0)
+
 #define for_each_txq(pi, iter, q) \
 	for (q = &pi->adapter->sge.txq[pi->first_txq], iter = 0; \
 	    iter < pi->ntxq; ++iter, ++q)

Modified: projects/release-pkg/sys/dev/cxgbe/common/t4_hw.c
==============================================================================
--- projects/release-pkg/sys/dev/cxgbe/common/t4_hw.c	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/sys/dev/cxgbe/common/t4_hw.c	Tue Jun 16 20:01:01 2015	(r284461)
@@ -262,6 +262,8 @@ int t4_wr_mbox_meat(struct adapter *adap
 	for (i = 0; i < size; i += 8, p++)
 		t4_write_reg64(adap, data_reg + i, be64_to_cpu(*p));
 
+	CH_DUMP_MBOX(adap, mbox, data_reg);
+
 	t4_write_reg(adap, ctl_reg, F_MBMSGVALID | V_MBOWNER(X_MBOWNER_FW));
 	t4_read_reg(adap, ctl_reg);          /* flush write */
 
@@ -287,6 +289,8 @@ int t4_wr_mbox_meat(struct adapter *adap
 				continue;
 			}
 
+			CH_DUMP_MBOX(adap, mbox, data_reg);
+
 			res = t4_read_reg64(adap, data_reg);
 			if (G_FW_CMD_OP(res >> 32) == FW_DEBUG_CMD) {
 				fw_asrt(adap, data_reg);

Modified: projects/release-pkg/sys/dev/cxgbe/t4_main.c
==============================================================================
--- projects/release-pkg/sys/dev/cxgbe/t4_main.c	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/sys/dev/cxgbe/t4_main.c	Tue Jun 16 20:01:01 2015	(r284461)
@@ -585,6 +585,9 @@ t4_attach(device_t dev)
 
 	sc = device_get_softc(dev);
 	sc->dev = dev;
+#ifdef INVARIANTS
+	sc->debug_flags = DF_DUMP_MBOX;
+#endif
 
 	pci_enable_busmaster(dev);
 	if (pci_find_cap(dev, PCIY_EXPRESS, &i) == 0) {
@@ -4603,6 +4606,9 @@ t4_sysctls(struct adapter *sc)
 	SYSCTL_ADD_INT(ctx, children, OID_AUTO, "lro_timeout", CTLFLAG_RW,
 	    &sc->lro_timeout, 0, "lro inactive-flush timeout (in us)");
 
+	SYSCTL_ADD_INT(ctx, children, OID_AUTO, "debug_flags", CTLFLAG_RW,
+	    &sc->debug_flags, 0, "flags to enable runtime debugging");
+
 #ifdef SBUF_DRAIN
 	/*
 	 * dev.t4nex.X.misc.  Marked CTLFLAG_SKIP to avoid information overload.

Modified: projects/release-pkg/sys/dev/drm2/ttm/ttm_page_alloc.c
==============================================================================
--- projects/release-pkg/sys/dev/drm2/ttm/ttm_page_alloc.c	Tue Jun 16 20:00:53 2015	(r284460)
+++ projects/release-pkg/sys/dev/drm2/ttm/ttm_page_alloc.c	Tue Jun 16 20:01:01 2015	(r284461)
@@ -155,6 +155,66 @@ ttm_caching_state_to_vm(enum ttm_caching
 	panic("caching state %d\n", cstate);
 }
 
+static vm_page_t
+ttm_vm_page_alloc_dma32(int req, vm_memattr_t memattr)
+{
+	vm_page_t p;
+	int tries;
+
+	for (tries = 0; ; tries++) {
+		p = vm_page_alloc_contig(NULL, 0, req, 1, 0, 0xffffffff,
+		    PAGE_SIZE, 0, memattr);
+		if (p != NULL || tries > 2)
+			return (p);
+
+		/*
+		 * Before growing the cache see if this is just a normal
+		 * memory shortage.
+		 */
+		VM_WAIT;
+		vm_pageout_grow_cache(tries, 0, 0xffffffff);
+	}
+}
+
+static vm_page_t
+ttm_vm_page_alloc_any(int req, vm_memattr_t memattr)
+{
+	vm_page_t p;
+
+	while (1) {
+		p = vm_page_alloc(NULL, 0, req);
+		if (p != NULL)
+			break;
+		VM_WAIT;
+	}
+	pmap_page_set_memattr(p, memattr);
+	return (p);
+}
+
+static vm_page_t
+ttm_vm_page_alloc(int flags, enum ttm_caching_state cstate)
+{
+	vm_page_t p;
+	vm_memattr_t memattr;
+	int req;
+
+	memattr = ttm_caching_state_to_vm(cstate);
+	req = VM_ALLOC_NORMAL | VM_ALLOC_WIRED | VM_ALLOC_NOOBJ;
+	if ((flags & TTM_PAGE_FLAG_ZERO_ALLOC) != 0)
+		req |= VM_ALLOC_ZERO;
+
+	if ((flags & TTM_PAGE_FLAG_DMA32) != 0)
+		p = ttm_vm_page_alloc_dma32(req, memattr);
+	else
+		p = ttm_vm_page_alloc_any(req, memattr);
+
+	if (p != NULL) {
+		p->oflags &= ~VPO_UNMANAGED;
+		p->flags |= PG_FICTITIOUS;
+	}
+	return (p);
+}
+
 static void ttm_pool_kobj_release(struct ttm_pool_manager *m)
 {
 
@@ -461,14 +521,6 @@ static void ttm_handle_caching_state_fai
 	}
 }
 
-static vm_paddr_t
-ttm_alloc_high_bound(int ttm_alloc_flags)
-{
-
-	return ((ttm_alloc_flags & TTM_PAGE_FLAG_DMA32) ? 0xffffffff :
-	    VM_MAX_ADDRESS);
-}
-
 /**
  * Allocate new pages with correct caching.
  *
@@ -481,32 +533,17 @@ static int ttm_alloc_new_pages(struct pg
 	vm_page_t *caching_array;
 	vm_page_t p;
 	int r = 0;
-	unsigned i, cpages, aflags;

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



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