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>