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...
Baptiste Daroussin
bapt at FreeBSD.org
Tue Jun 16 20:01:11 UTC 2015
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 at 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 ***
More information about the svn-src-projects
mailing list