summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2015-03-17 19:10:51 +0000
committerbapt <bapt@FreeBSD.org>2015-03-17 19:10:51 +0000
commit4a19e2b7c6f8511d2f6d0531241e2f7bb033c1f4 (patch)
tree5533b31f3294a54f61e1b617711c9bb159d2f3e0 /share
parent86b635277a06f1b8eb92930f7a1cd5327c89be0a (diff)
parentc00b4703949f8f1b7a7d2bd81919b332794cbd7f (diff)
downloadFreeBSD-src-4a19e2b7c6f8511d2f6d0531241e2f7bb033c1f4.zip
FreeBSD-src-4a19e2b7c6f8511d2f6d0531241e2f7bb033c1f4.tar.gz
Merge from head
Diffstat (limited to 'share')
-rw-r--r--share/examples/etc/make.conf5
-rw-r--r--share/man/man4/ddb.49
-rw-r--r--share/man/man4/sfxge.421
-rw-r--r--share/mk/bsd.README7
-rw-r--r--share/mk/bsd.cpu.mk83
-rw-r--r--share/mk/bsd.lib.mk23
-rw-r--r--share/mk/bsd.links.mk34
-rw-r--r--share/mk/bsd.sys.mk12
8 files changed, 119 insertions, 75 deletions
diff --git a/share/examples/etc/make.conf b/share/examples/etc/make.conf
index ca0ea36..613eb02 100644
--- a/share/examples/etc/make.conf
+++ b/share/examples/etc/make.conf
@@ -44,8 +44,9 @@
# if omitted), ultrasparc3
# Additionally the following CPU types are recognized by clang:
# Intel x86 architecture (for both amd64 and i386):
-# (AMD CPUs) bdver3, bdver2, bdver1, btver2, btver1
-# (Intel CPUs) slm, core-avx2, core-avx-i, corei7-avx, corei7, atom
+# (AMD CPUs) bdver4, bdver3, bdver2, bdver1, btver2, btver1
+# (Intel CPUs) skylake, knl, broadwell, haswell, ivybridge,
+# sandybridge, westmere, nehalem, silvermont, bonnell
#
# (?= allows to buildworld for a different CPUTYPE.)
#
diff --git a/share/man/man4/ddb.4 b/share/man/man4/ddb.4
index 15ff4f7..8d2a947 100644
--- a/share/man/man4/ddb.4
+++ b/share/man/man4/ddb.4
@@ -60,7 +60,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 15, 2014
+.Dd March 16, 2015
.Dt DDB 4
.Os
.Sh NAME
@@ -620,6 +620,13 @@ for more details.
Show registers specific to the Cyrix processor.
.\"
.Pp
+.It Ic show Cm devmap
+Prints the contents of the static device mapping table.
+Currently only available on the
+ARM
+architecture.
+.\"
+.Pp
.It Ic show Cm domain Ar addr
Print protocol domain structure
.Vt struct domain
diff --git a/share/man/man4/sfxge.4 b/share/man/man4/sfxge.4
index 09b59eb..c745368 100644
--- a/share/man/man4/sfxge.4
+++ b/share/man/man4/sfxge.4
@@ -120,6 +120,27 @@ The value must be greater than or equal to 0.
The maximum number of allocated RSS channels for the Nth adapter.
If set to 0 or unset, the number of channels is determined by the number
of CPU cores.
+.It Va hw.sfxge.lro.table_size
+Size of the LRO hash table.
+Must be a power of 2.
+A larger table means we can accelerate a larger number of streams.
+.It Va hw.sfxge.lro.chain_max
+The maximum length of a hash chain.
+If chains get too long then the lookup time increases and may exceed
+the benefit of LRO.
+.It Va hw.sfxge.lro.idle_ticks
+The maximum time (in ticks) that a connection can be idle before it's LRO
+state is discarded.
+.It Va hw.sfxge.lro.slow_start_packets
+Number of packets with payload that must arrive in-order before a connection
+is eligible for LRO.
+The idea is we should avoid coalescing segments when the sender is in
+slow-start because reducing the ACK rate can damage performance.
+.It Va hw.sfxge.lro.loss_packets
+Number of packets with payload that must arrive in-order following loss
+before a connection is eligible for LRO.
+The idea is we should avoid coalescing segments when the sender is recovering
+from loss, because reducing the ACK rate can damage performance.
.El
.Sh SUPPORT
For general information and support,
diff --git a/share/mk/bsd.README b/share/mk/bsd.README
index ffbe825..89e7f1c 100644
--- a/share/mk/bsd.README
+++ b/share/mk/bsd.README
@@ -336,6 +336,13 @@ with the current needs of the BSD tree.
It sets/uses the following variables:
+LIB The name of the library to build.
+
+LIB_CXX The name of the library to build. It also causes
+ <bsd.lib.mk> to link the library with the
+ standard C++ library. LIB_CXX overrides the value
+ of LIB if LIB is also set.
+
LIBDIR Target directory for libraries.
LINTLIBDIR Target directory for lint libraries.
diff --git a/share/mk/bsd.cpu.mk b/share/mk/bsd.cpu.mk
index da5f5f2..4b61908 100644
--- a/share/mk/bsd.cpu.mk
+++ b/share/mk/bsd.cpu.mk
@@ -24,41 +24,50 @@ MACHINE_CPU = mips
# Handle aliases (not documented in make.conf to avoid user confusion
# between e.g. i586 and pentium)
-. if ${MACHINE_CPUARCH} == "i386"
+. if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
. if ${CPUTYPE} == "barcelona"
CPUTYPE = amdfam10
-. elif ${CPUTYPE} == "k7"
-CPUTYPE = athlon
-. elif ${CPUTYPE} == "westmere" || ${CPUTYPE} == "nehalem"
-CPUTYPE = corei7
+. elif ${CPUTYPE} == "core-avx2"
+CPUTYPE = haswell
+. elif ${CPUTYPE} == "core-avx-i"
+CPUTYPE = ivybridge
+. elif ${CPUTYPE} == "corei7-avx"
+CPUTYPE = sandybridge
+. elif ${CPUTYPE} == "corei7"
+CPUTYPE = nehalem
+. elif ${CPUTYPE} == "slm"
+CPUTYPE = silvermont
+. elif ${CPUTYPE} == "atom"
+CPUTYPE = bonnell
. elif ${CPUTYPE} == "core"
CPUTYPE = prescott
-. elif ${CPUTYPE} == "p4"
+. endif
+. if ${MACHINE_CPUARCH} == "amd64"
+. if ${CPUTYPE} == "prescott"
+CPUTYPE = nocona
+. endif
+. else
+. if ${CPUTYPE} == "k7"
+CPUTYPE = athlon
+. elif ${CPUTYPE} == "p4"
CPUTYPE = pentium4
-. elif ${CPUTYPE} == "p4m"
+. elif ${CPUTYPE} == "p4m"
CPUTYPE = pentium4m
-. elif ${CPUTYPE} == "p3"
+. elif ${CPUTYPE} == "p3"
CPUTYPE = pentium3
-. elif ${CPUTYPE} == "p3m"
+. elif ${CPUTYPE} == "p3m"
CPUTYPE = pentium3m
-. elif ${CPUTYPE} == "p-m"
+. elif ${CPUTYPE} == "p-m"
CPUTYPE = pentium-m
-. elif ${CPUTYPE} == "p2"
+. elif ${CPUTYPE} == "p2"
CPUTYPE = pentium2
-. elif ${CPUTYPE} == "i686"
+. elif ${CPUTYPE} == "i686"
CPUTYPE = pentiumpro
-. elif ${CPUTYPE} == "i586/mmx"
+. elif ${CPUTYPE} == "i586/mmx"
CPUTYPE = pentium-mmx
-. elif ${CPUTYPE} == "i586"
+. elif ${CPUTYPE} == "i586"
CPUTYPE = pentium
-. endif
-. elif ${MACHINE_CPUARCH} == "amd64"
-. if ${CPUTYPE} == "barcelona"
-CPUTYPE = amdfam10
-. elif ${CPUTYPE} == "westmere" || ${CPUTYPE} == "nehalem"
-CPUTYPE = corei7
-. elif ${CPUTYPE} == "prescott"
-CPUTYPE = nocona
+. endif
. endif
. elif ${MACHINE_ARCH} == "sparc64"
. if ${CPUTYPE} == "us"
@@ -140,7 +149,9 @@ _CPUCFLAGS = -mcpu=ultrasparc3
# presence of a CPU feature.
. if ${MACHINE_CPUARCH} == "i386"
-. if ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \
+. if ${CPUTYPE} == "bdver4"
+MACHINE_CPU = xop avx2 avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586
+. elif ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \
${CPUTYPE} == "bdver1"
MACHINE_CPU = xop avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586
. elif ${CPUTYPE} == "btver2"
@@ -165,15 +176,18 @@ MACHINE_CPU = 3dnow mmx k6 k5 i586
MACHINE_CPU = mmx k6 k5 i586
. elif ${CPUTYPE} == "k5"
MACHINE_CPU = k5 i586
-. elif ${CPUTYPE} == "core-avx2"
+. elif ${CPUTYPE} == "skylake" || ${CPUTYPE} == "knl"
+MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586
+. elif ${CPUTYPE} == "broadwell" || ${CPUTYPE} == "haswell"
MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586
-. elif ${CPUTYPE} == "core-avx-i" || ${CPUTYPE} == "corei7-avx"
+. elif ${CPUTYPE} == "ivybridge" || ${CPUTYPE} == "sandybridge"
MACHINE_CPU = avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586
-. elif ${CPUTYPE} == "slm" || ${CPUTYPE} == "corei7"
+. elif ${CPUTYPE} == "westmere" || ${CPUTYPE} == "nehalem" || \
+ ${CPUTYPE} == "silvermont"
MACHINE_CPU = sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586
. elif ${CPUTYPE} == "penryn"
MACHINE_CPU = sse41 ssse3 sse3 sse2 sse i686 mmx i586
-. elif ${CPUTYPE} == "atom" || ${CPUTYPE} == "core2"
+. elif ${CPUTYPE} == "core2" || ${CPUTYPE} == "bonnell"
MACHINE_CPU = ssse3 sse3 sse2 sse i686 mmx i586
. elif ${CPUTYPE} == "yonah" || ${CPUTYPE} == "prescott"
MACHINE_CPU = sse3 sse2 sse i686 mmx i586
@@ -203,7 +217,9 @@ MACHINE_CPU = mmx
. endif
MACHINE_CPU += i486
. elif ${MACHINE_CPUARCH} == "amd64"
-. if ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \
+. if ${CPUTYPE} == "bdver4"
+MACHINE_CPU = xop avx2 avx sse42 sse41 ssse3 sse4a sse3
+. elif ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \
${CPUTYPE} == "bdver1"
MACHINE_CPU = xop avx sse42 sse41 ssse3 sse4a sse3
. elif ${CPUTYPE} == "btver2"
@@ -218,15 +234,18 @@ MACHINE_CPU = k8 3dnow sse3
. elif ${CPUTYPE} == "opteron" || ${CPUTYPE} == "athlon64" || \
${CPUTYPE} == "athlon-fx" || ${CPUTYPE} == "k8"
MACHINE_CPU = k8 3dnow
-. elif ${CPUTYPE} == "core-avx2"
+. elif ${CPUTYPE} == "skylake" || ${CPUTYPE} == "knl"
+MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse3
+. elif ${CPUTYPE} == "broadwell" || ${CPUTYPE} == "haswell"
MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse3
-. elif ${CPUTYPE} == "core-avx-i" || ${CPUTYPE} == "corei7-avx"
+. elif ${CPUTYPE} == "ivybridge" || ${CPUTYPE} == "sandybridge"
MACHINE_CPU = avx sse42 sse41 ssse3 sse3
-. elif ${CPUTYPE} == "slm" || ${CPUTYPE} == "corei7"
+. elif ${CPUTYPE} == "westmere" || ${CPUTYPE} == "nehalem" || \
+ ${CPUTYPE} == "silvermont"
MACHINE_CPU = sse42 sse41 ssse3 sse3
. elif ${CPUTYPE} == "penryn"
MACHINE_CPU = sse41 ssse3 sse3
-. elif ${CPUTYPE} == "atom" || ${CPUTYPE} == "core2"
+. elif ${CPUTYPE} == "core2" || ${CPUTYPE} == "bonnell"
MACHINE_CPU = ssse3 sse3
. elif ${CPUTYPE} == "nocona"
MACHINE_CPU = sse3
diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
index 4539da0..29a21f1 100644
--- a/share/mk/bsd.lib.mk
+++ b/share/mk/bsd.lib.mk
@@ -4,6 +4,13 @@
.include <bsd.init.mk>
+.if defined(LIB_CXX)
+LIB= ${LIB_CXX}
+_LD= ${CXX}
+.else
+_LD= ${CC}
+.endif
+
# Set up the variables controlling shared libraries. After this section,
# SHLIB_NAME will be defined only if we are to create a shared library.
# SHLIB_LINK will be defined only if we are to create a link to it.
@@ -177,11 +184,7 @@ _LIBS= lib${LIB}.a
lib${LIB}.a: ${OBJS} ${STATICOBJS}
@${ECHO} building static ${LIB} library
@rm -f ${.TARGET}
-.if !defined(NM)
- @${AR} ${ARFLAGS} ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
-.else
@${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
-.endif
${RANLIB} ${RANLIBFLAGS} ${.TARGET}
.endif
@@ -195,11 +198,7 @@ NOPATH_FILES+= ${POBJS}
lib${LIB}_p.a: ${POBJS}
@${ECHO} building profiled ${LIB} library
@rm -f ${.TARGET}
-.if !defined(NM)
- @${AR} ${ARFLAGS} ${.TARGET} `lorder ${POBJS} | tsort -q` ${ARADD}
-.else
@${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' lorder ${POBJS} | tsort -q` ${ARADD}
-.endif
${RANLIB} ${RANLIBFLAGS} ${.TARGET}
.endif
@@ -232,15 +231,9 @@ ${SHLIB_NAME_FULL}: ${SOBJS}
.if defined(SHLIB_LINK)
@${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},development} ${SHLIB_NAME} ${SHLIB_LINK}
.endif
-.if !defined(NM)
- @${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
- -o ${.TARGET} -Wl,-soname,${SONAME} \
- `lorder ${SOBJS} | tsort -q` ${LDADD}
-.else
- @${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
+ ${_LD} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
-o ${.TARGET} -Wl,-soname,${SONAME} \
`NM='${NM}' lorder ${SOBJS} | tsort -q` ${LDADD}
-.endif
.if ${MK_CTF} != "no"
${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS}
.endif
diff --git a/share/mk/bsd.links.mk b/share/mk/bsd.links.mk
index 6f46563..87b808f 100644
--- a/share/mk/bsd.links.mk
+++ b/share/mk/bsd.links.mk
@@ -6,33 +6,19 @@
.if defined(NO_ROOT)
.if !defined(TAGS) || ! ${TAGS:Mpackage=*}
-TAGS+= package=${PACKAGE}
+TAGS+= package=${PACKAGE}
.endif
-TAG_ARGS= -T ${TAGS:[*]:S/ /,/g}
+TAG_ARGS= -T ${TAGS:[*]:S/ /,/g}
.endif
afterinstall: _installlinks
.ORDER: realinstall _installlinks
_installlinks:
-.if defined(LINKS) && !empty(LINKS)
- @set ${LINKS}; \
- while test $$# -ge 2; do \
- l=${DESTDIR}$$1; \
- shift; \
- t=${DESTDIR}$$1; \
- shift; \
- ${ECHO} $$t -\> $$l; \
- ${INSTALL_LINK} ${TAG_ARGS} $$l $$t; \
- done; true
-.endif
-.if defined(SYMLINKS) && !empty(SYMLINKS)
- @set ${SYMLINKS}; \
- while test $$# -ge 2; do \
- l=$$1; \
- shift; \
- t=${DESTDIR}$$1; \
- shift; \
- ${ECHO} $$t -\> $$l; \
- ${INSTALL_SYMLINK} ${TAG_ARGS} $$l $$t; \
- done; true
-.endif
+.for s t in ${LINKS}
+ @${ECHO} "$t -> $s" ;\
+ ${INSTALL_LINK} ${TAG_ARGS} ${DESTDIR}$s ${DESTDIR}$t
+.endfor
+.for s t in ${SYMLINKS}
+ @${ECHO} "$t -> $s" ;\
+ ${INSTALL_SYMLINK} ${TAG_ARGS} $s ${DESTDIR}/$t
+.endfor
diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
index 578fcd5..3cb44c5 100644
--- a/share/mk/bsd.sys.mk
+++ b/share/mk/bsd.sys.mk
@@ -68,13 +68,16 @@ CWARNFLAGS+= -Wno-pointer-sign
# is set to low values, these have to be disabled explicitly.
.if ${WARNS} <= 6
CWARNFLAGS.clang+= -Wno-empty-body -Wno-string-plus-int
-.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} > 30300
+.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30400
CWARNFLAGS.clang+= -Wno-unused-const-variable
.endif
.endif # WARNS <= 6
.if ${WARNS} <= 3
CWARNFLAGS.clang+= -Wno-tautological-compare -Wno-unused-value\
-Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion
+.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30600
+CWARNFLAGS.clang+= -Wno-unused-local-typedef
+.endif
.endif # WARNS <= 3
.if ${WARNS} <= 2
CWARNFLAGS.clang+= -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter
@@ -106,6 +109,13 @@ CWARNFLAGS+= -Werror
CWARNFLAGS+= -Wno-format
.endif # NO_WFORMAT || NO_WFORMAT.${COMPILER_TYPE}
+# How to handle FreeBSD custom printf format specifiers.
+.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30600
+FORMAT_EXTENSIONS= -D__printf__=__freebsd_kprintf__
+.else
+FORMAT_EXTENSIONS= -fformat-extensions
+.endif
+
.if defined(IGNORE_PRAGMA)
CWARNFLAGS+= -Wno-unknown-pragmas
.endif # IGNORE_PRAGMA
OpenPOWER on IntegriCloud