freebsd.git
7 years agortwn: silence compiler warning (-Wmaybe-uninitialized).
avos [Thu, 29 Dec 2016 22:36:16 +0000 (22:36 +0000)]
rtwn: silence compiler warning (-Wmaybe-uninitialized).

Reported by: adrian

7 years agoRevert r310775 for now, until we can figure out why it does not seem to
dim [Thu, 29 Dec 2016 21:57:16 +0000 (21:57 +0000)]
Revert r310775 for now, until we can figure out why it does not seem to
work properly when cross-building.  Sorry for the breakage.

7 years ago[qemu] Fix VERSATILEPB kernel boot in QEMU broken by r300968
gonzo [Thu, 29 Dec 2016 21:55:23 +0000 (21:55 +0000)]
[qemu] Fix VERSATILEPB kernel boot in QEMU broken by r300968

QEMU does not implement hardware debug registers so when
dbg_monitor_is_enabled is called kernel receives "invalid instruction"
exception. QEMU implements only DIDR register and on read returns all
zeroes to indicate that it doesn't support other registers. Real
hardware has Version bits set.

MFC after: 1 week

7 years agoUse TARGET_ARCH instead of MACHINE_ARCH for MIPS kernel
kan [Thu, 29 Dec 2016 21:36:04 +0000 (21:36 +0000)]
Use TARGET_ARCH instead of MACHINE_ARCH for MIPS kernel

MACHINE_ARCH is overwritten by config file and will not
contain -hf suffix, so uname -p reported by kernel will
be wrong.

7 years agoUse compiler driver to build relocatable object
kan [Thu, 29 Dec 2016 21:30:52 +0000 (21:30 +0000)]
Use compiler driver to build relocatable object

This works better with external toolchains where LD
will not necessarily defailt to emulation we want.
Compiler driver knows better.

7 years agoReduce the runtime of the GELI tests
asomers [Thu, 29 Dec 2016 20:28:50 +0000 (20:28 +0000)]
Reduce the runtime of the GELI tests

There is no reduction in test coverage.  On my system runtime is reduced
from 38m32s to 6m24s.

tests/sys/geom/class/eli/conf.sh
tests/sys/geom/class/eli/init_a_test.sh
tests/sys/geom/class/eli/init_test.sh
tests/sys/geom/class/eli/integrity_copy_test.sh
tests/sys/geom/class/eli/integrity_data_test.sh
tests/sys/geom/class/eli/integrity_hmac_test.sh
tests/sys/geom/class/eli/onetime_a_test.sh
tests/sys/geom/class/eli/onetime_test.sh
Move the looping code into common functions in conf.sh, and remove
alias ciphers from the list.

tests/sys/geom/class/eli/init_a_test.sh
tests/sys/geom/class/eli/init_test.sh
tests/sys/geom/class/eli/integrity_copy_test.sh
tests/sys/geom/class/eli/integrity_data_test.sh
tests/sys/geom/class/eli/integrity_hmac_test.sh
tests/sys/geom/class/eli/onetime_a_test.sh
Move a few commands that don't need to be in the inner loop out.

tests/sys/geom/class/eli/init_test.sh
tests/sys/geom/class/eli/onetime_a_test.sh
Reduce the sector count

tests/sys/geom/class/eli/Makefile
tests/sys/geom/class/eli/init_alias_test.sh
Add a test for initializing a GELI device using one of the cipher
aliases, and check that the alias is correctly interpreted.

MFC after: 4 weeks
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D8814

7 years agoConvert ipv4_flags and ipv4_offset fields into host byte order.
ae [Thu, 29 Dec 2016 20:27:54 +0000 (20:27 +0000)]
Convert ipv4_flags and ipv4_offset fields into host byte order.
Also save only high bits in the ipv4_flags, because it is defined
as uint8_t. So now it will show DF and MF flags as 0x40 and 0x20.

Reviewed by: markj@
MFC after: 1 week

7 years agoUse mips_dcache_wbinv_range instead of mips_dcache_wb_range on CPU_XBURST
kan [Thu, 29 Dec 2016 20:11:50 +0000 (20:11 +0000)]
Use mips_dcache_wbinv_range instead of mips_dcache_wb_range on CPU_XBURST

Ingenic CPUs treat plain cache writeback as local-only operation and do
nothing if that is a remote CPU that holds the dirty cache line. They
do broadcast invalidate and write-and-invalidate to other cores though,
so take advantage of that and use wbinv in place of wb as this still gives
us required busdma semantics. Otherwise we'd have to do IPI to remote CPU
ourselves.

7 years agoWhen we are sending IP fragments, update ip pointers in IP_PROBE() for
ae [Thu, 29 Dec 2016 19:57:46 +0000 (19:57 +0000)]
When we are sending IP fragments, update ip pointers in IP_PROBE() for
each fragment.

MFC after: 1 week

7 years agoFix build with enabled debug after r310778.
mav [Thu, 29 Dec 2016 18:08:04 +0000 (18:08 +0000)]
Fix build with enabled debug after r310778.

MFC after: 2 weeks

7 years ago[ar71xx] add EARLY_PRINTF support for the AR933x (Hornet) UART.
adrian [Thu, 29 Dec 2016 17:31:38 +0000 (17:31 +0000)]
[ar71xx] add EARLY_PRINTF support for the AR933x (Hornet) UART.

Tested:

* Carambola 2

7 years ago[ar71xx] put in an implicit read-after-write to flush things out.
adrian [Thu, 29 Dec 2016 17:31:07 +0000 (17:31 +0000)]
[ar71xx] put in an implicit read-after-write to flush things out.

Note: I may need to revisit this for mips74k.

7 years agocache: sprinkle __predict_false
mjg [Thu, 29 Dec 2016 16:35:49 +0000 (16:35 +0000)]
cache: sprinkle __predict_false

7 years agoImprove use of I/O's private area.
mav [Thu, 29 Dec 2016 15:09:34 +0000 (15:09 +0000)]
Improve use of I/O's private area.

 - Since I/Os are allocates from per-port pools, make allocations store
pointer to CTL softc there, and use it where needed instead of global.
 - Created bunch of helper macros to access LUN, port and CTL softc.

MFC after:  2 weeks

7 years agoAdd support for audio on I2S based DesignWare HDMI controllers.
jmcneill [Thu, 29 Dec 2016 14:08:24 +0000 (14:08 +0000)]
Add support for audio on I2S based DesignWare HDMI controllers.

Relnotes: yes

7 years agoThe JZ4780 I2S can feed either the internal audio codec or the HDMI
jmcneill [Thu, 29 Dec 2016 14:00:10 +0000 (14:00 +0000)]
The JZ4780 I2S can feed either the internal audio codec or the HDMI
transmitter, but not both at the same time. This patch:

 - Adds a dev.pcm.0.internal_codec sysctl node for selecting between
   internal and external codec
 - Changes playback sample rate from 96 kHz to 48 kHz for HDMI compatibility
 - Enables i2s clock on codec access

Reviewed by: br
Differential Revision: https://reviews.freebsd.org/D8960

7 years agoMove llvm-objdump from CLANG_EXTRAS to installed by default
dim [Thu, 29 Dec 2016 13:27:04 +0000 (13:27 +0000)]
Move llvm-objdump from CLANG_EXTRAS to installed by default

We currently install three tools from binutils 2.17.50: as, ld, and
objdump. Work is underway to migrate to a permissively-licensed
tool-chain, with one goal being the retirement of binutils 2.17.50.

LLVM's llvm-objdump is intended to be compatible with GNU objdump
although it is currently missing some options and may have formatting
differences. Enable it by default for testing and further investigation.
It may later be changed to install as /usr/bin/objdump, it becomes a
fully viable replacement.

Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D8879

7 years agocache: move shrink lock init to nchinit
mjg [Thu, 29 Dec 2016 12:01:54 +0000 (12:01 +0000)]
cache: move shrink lock init to nchinit

This gets rid of unnecesary sysinit usage.

While here also rename the lock to be consistent with the rest.

7 years agosfxge(4): cleanup: clarify/unify variable name used for put-list length
arybchik [Thu, 29 Dec 2016 09:15:27 +0000 (09:15 +0000)]
sfxge(4): cleanup: clarify/unify variable name used for put-list length

get_count is used for get-list.

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agocache: depessimize hashing macros/inlines
mjg [Thu, 29 Dec 2016 08:41:25 +0000 (08:41 +0000)]
cache: depessimize hashing macros/inlines

All hash sizes are power-of-2, but the compiler does not know that for sure
and 'foo % size' forces doing a division.

Store the size - 1 and use 'foo & hash' instead which allows mere shift.

7 years agocache: drop the NULL check from VP2VNODELOCK
mjg [Thu, 29 Dec 2016 08:34:50 +0000 (08:34 +0000)]
cache: drop the NULL check from VP2VNODELOCK

Now that negative entries are annotated with a dedicated flag, NULL vnodes
are no longer passed.

7 years agosfxge(4): add support for firmware-verified NVRAM updates to the common code
arybchik [Thu, 29 Dec 2016 08:28:42 +0000 (08:28 +0000)]
sfxge(4): add support for firmware-verified NVRAM updates to the common code

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D8942

7 years agosfxge(4): sync up tlv_layout.h (from firmwaresrc 82cd8a5715e9)
arybchik [Thu, 29 Dec 2016 08:25:00 +0000 (08:25 +0000)]
sfxge(4): sync up tlv_layout.h (from firmwaresrc 82cd8a5715e9)

Submitted by:   Matthew Slattery <mslattery at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agoUse uint32_t instead of u_int32_t for or_last_change and services in "struct systemg"
ngie [Thu, 29 Dec 2016 08:16:43 +0000 (08:16 +0000)]
Use uint32_t instead of u_int32_t for or_last_change and services in "struct systemg"

This is being done to match "struct systemg" in snmpmod(3)

No functional change

MFC after: 3 days

7 years agosfxge(4): regenerate MCDI headers from firmwaresrc .yml
arybchik [Thu, 29 Dec 2016 08:10:51 +0000 (08:10 +0000)]
sfxge(4): regenerate MCDI headers from firmwaresrc .yml

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): fix typo in pseudo header accessor function names
arybchik [Thu, 29 Dec 2016 07:20:53 +0000 (07:20 +0000)]
sfxge(4): fix typo in pseudo header accessor function names

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): delete hunt_phy.c
arybchik [Thu, 29 Dec 2016 07:10:25 +0000 (07:10 +0000)]
sfxge(4): delete hunt_phy.c

Submitted by:   Mark Spender <mspender at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): do not use enum type when values are bitmask
arybchik [Thu, 29 Dec 2016 07:06:49 +0000 (07:06 +0000)]
sfxge(4): do not use enum type when values are bitmask

ICC complains that enumerated type mixed with another type.

Found by DPDK upstream build sanity check.

Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8954

7 years agosfxge(4): do not use enum for filter flags
arybchik [Thu, 29 Dec 2016 07:05:47 +0000 (07:05 +0000)]
sfxge(4): do not use enum for filter flags

It is not 100% correct to assign non-enum values to enum type
variables.

Found by ICC build (DPDK PMD upstreaming).

Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8953

7 years agosfxge(4): don't use Tx descriptor push with TSO option descriptors
arybchik [Thu, 29 Dec 2016 07:04:26 +0000 (07:04 +0000)]
sfxge(4): don't use Tx descriptor push with TSO option descriptors

It is not safe to push TSO option descriptors if pacer bypass is
enabled, so to make sure that doesn't happen never push TSO option
descriptors.

Submitted by:   Mark Spender <mspender at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8952

7 years agosfxge(4): split EFX_FILTER_MATCH_LOC_MAC_IG back into separate flags
arybchik [Thu, 29 Dec 2016 07:02:32 +0000 (07:02 +0000)]
sfxge(4): split EFX_FILTER_MATCH_LOC_MAC_IG back into separate flags

The flag EFX_FILTER_MATCH_LOC_MAC_IG to represent filtering on the
individual/group bit of the MAC address (with the two cases being
distingusished by the MAC address in the filter specification) was
introduced to mirror the Linux driver filtering code, but the
implementations are different enough anyway that it isn't of much value.

Having separate flags for unknown unicast and multicast simplifies
the code and allows the set of flags to match those used by MCDI.

It will also makes it easier to report whether these filters are
supported.

In the MCDI definitions, the unknown multicast and unicast flags have
the values 0x40000000 and 0x80000000 respectively, and so using the
same values for simplicity requires 32 bits in the filter specification
to store the flags. This means the structure is now a little bigger
than 64 bytes, but filters are not often used on critical paths so this
shouldn't have much impact - on Linux they are also bigger than they
used to be.

Submitted by:   Mark Spender <mspender at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D8951

7 years agosfxge(4): allow to have no NIC handle on Rx datapath in DPDK PMD
arybchik [Thu, 29 Dec 2016 07:00:26 +0000 (07:00 +0000)]
sfxge(4): allow to have no NIC handle on Rx datapath in DPDK PMD

It is required to minimize RxQ context in the driver or avoid chaising
for the NIC handle in adapter (global per-interface) structure.

Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8950

7 years agosfxge(4): add missing barrier in common code MCDI response handling
arybchik [Thu, 29 Dec 2016 06:58:51 +0000 (06:58 +0000)]
sfxge(4): add missing barrier in common code MCDI response handling

The semantics of the MCDI interfacve require reading the first
dword of the header before any other data in the buffer. Add
a barrier to the common code MCDI handler to enforce this.

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D8949

7 years agosfxge(4): use correct port number in sensor decoding
arybchik [Thu, 29 Dec 2016 06:57:36 +0000 (06:57 +0000)]
sfxge(4): use correct port number in sensor decoding

The port mask used for per-port sensors in mcdi_sensor_map
assumes zero-based port numbering. The port mask used in
the code is based on the one-based MCDI port number.

Fix this to lookup the correct per-port sensors, and to
allow reporting of sensor events from higher port numbers.

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8947

7 years agosfxge(4): cleanup: simplify disable scatter logic in ef10_rx_qcreate
arybchik [Thu, 29 Dec 2016 06:56:18 +0000 (06:56 +0000)]
sfxge(4): cleanup: simplify disable scatter logic in ef10_rx_qcreate

Reviewed by:    gnn
Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8945

7 years agosfxge(4): provide a way to find out which MAC stats are supported
arybchik [Thu, 29 Dec 2016 06:54:40 +0000 (06:54 +0000)]
sfxge(4): provide a way to find out which MAC stats are supported

Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8944

7 years agosfxge(4): make the common code determine the number of PFs
arybchik [Thu, 29 Dec 2016 06:52:42 +0000 (06:52 +0000)]
sfxge(4): make the common code determine the number of PFs

Submitted by:   Ivan Malov <Ivan.Malov at oktetlabs.ru>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8941

7 years agosfxge(4): make the common code retrieve the number of FATSOv2 contexts
arybchik [Thu, 29 Dec 2016 06:51:06 +0000 (06:51 +0000)]
sfxge(4): make the common code retrieve the number of FATSOv2 contexts

Submitted by:   Ivan Malov <Ivan.Malov at oktetlabs.ru>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8940

7 years agosfxge(4): fix efx_ev_qpoll for non-Siena builds
arybchik [Thu, 29 Dec 2016 06:49:32 +0000 (06:49 +0000)]
sfxge(4): fix efx_ev_qpoll for non-Siena builds

Both Siena and EF10 use the siena_ev_qpoll() implementation, but this
function is not defined in builds without EFSYS_OPT_SIENA.

Remove siena_ev_qpoll and inline it into efx_ev_qpoll to allow it
to be used in non-Siena builds.

Also remove outdated FIXME comment, as EF10 event batching/merging has
been implemented long ago without needing to modify this code.

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D8939

7 years agosfxge(4): fix common code for non-Siena builds
arybchik [Thu, 29 Dec 2016 06:47:53 +0000 (06:47 +0000)]
sfxge(4): fix common code for non-Siena builds

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8938

7 years agosfxge(4): fix misuse of siena_build_filter in common code
arybchik [Thu, 29 Dec 2016 06:46:20 +0000 (06:46 +0000)]
sfxge(4): fix misuse of siena_build_filter in common code

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8937

7 years agoNote that the Chelsio T6 also supports 25Gbps.
jhb [Thu, 29 Dec 2016 01:11:57 +0000 (01:11 +0000)]
Note that the Chelsio T6 also supports 25Gbps.

To avoid overflowing 80 columns, condense the cxgbe description a bit.

Reviewed by: np

7 years agoPrevent improper memory accesses after calling snmp_pdu_free and snmp_value_free
ngie [Thu, 29 Dec 2016 00:20:03 +0000 (00:20 +0000)]
Prevent improper memory accesses after calling snmp_pdu_free and snmp_value_free

snmp_pdu_free: set pdu->nbindings to 0 to limit the damage that
could happen if a pdu was reused after calling the function, and
as both stack and heap allocation types are used in contrib/bsnmp
and usr.sbin/bsnmpd.

snmp_value_free: NULL out value->v.octetstring.octets after calling
free on it to prevent a double-free from occurring.

MFC after:      2 weeks

7 years agoInstall {asn1,bsnmpagent,bsnmpclient,bsnmplib}.3 as all of the APIs
ngie [Wed, 28 Dec 2016 23:55:18 +0000 (23:55 +0000)]
Install {asn1,bsnmpagent,bsnmpclient,bsnmplib}.3 as all of the APIs
they document

Also, alphabetically sort MAN

MFC after: 3 days

7 years agoFix a bug in r272840; given that the optlen parameter of setsockopt(2)
marius [Wed, 28 Dec 2016 23:34:28 +0000 (23:34 +0000)]
Fix a bug in r272840; given that the optlen parameter of setsockopt(2)
is a 32-bit socklen_t, do_get3() passes the kernel to access the wrong
32-bit half on big-endian LP64 machines when simply casting the 64-bit
size_t optlen to a socklen_t pointer.
While at it and given that the intention of do_get3() apparently is to
hide/wrap the fact that socket options are used for communication with
ipfw(4), change the optlen parameter of do_set3() to be of type size_t
and as such more appropriate than uintptr_t, too.

MFC after: 3 days

7 years agocdboot: add explict suffix to ambiguous or instruction
emaste [Wed, 28 Dec 2016 23:02:01 +0000 (23:02 +0000)]
cdboot: add explict suffix to ambiguous or instruction

Clang disallows ambiguous instructions (GNU as has a default based on
chosen .code setting). We only need 'orb' here because KARGS_FLAGS_PXE
fits in a byte; this is the same as done in bxeboot.

Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8959

7 years agoFollow DW_AT_specification when looking up DW_AT_type attributes.
markj [Wed, 28 Dec 2016 21:54:33 +0000 (21:54 +0000)]
Follow DW_AT_specification when looking up DW_AT_type attributes.

dwarf_attrval_*() will search the parent DIE referenced by a
DW_AT_abstract_origin attribute for the value of the DW_AT_type attribute.
Do the same thing for the DW_AT_specification attributes in variable
definitions emitted by GCC 6.2, and ensure that we return an error rather
than crashing if neither DW_AT_abstract_origin or DW_AT_specification is
found when looking for the value of the DW_AT_type attribute.

PR: 215350, 215395
Reviewed by: emaste
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D8920

7 years agoDo not use read-modify-write on MSC control register.
kan [Wed, 28 Dec 2016 19:40:59 +0000 (19:40 +0000)]
Do not use read-modify-write on MSC control register.

The register is write-only, so just write only bits we want.

Submitted by: jmcneill

7 years agoMention T6 and 100GbE in description of cxgbe.
jhb [Wed, 28 Dec 2016 18:42:43 +0000 (18:42 +0000)]
Mention T6 and 100GbE in description of cxgbe.

MFC after: 3 days

7 years agoRelax the object type restrictions on vm_page_alloc_contig(). Specifically,
alc [Wed, 28 Dec 2016 18:32:13 +0000 (18:32 +0000)]
Relax the object type restrictions on vm_page_alloc_contig().  Specifically,
add support for object types that were previously prohibited because they
could contain PG_CACHED pages.

Roughly halve the number of radix trie operations performed by
vm_page_alloc_contig() using the same approach that is employed by
vm_page_alloc().  Also, eliminate the radix trie lookup performed with the
free page queues lock held.

Tidy up the handling of radix trie insert failures in vm_page_alloc() and
vm_page_alloc_contig().

Reviewed by: kib, markj
Tested by: pho
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D8878

7 years agosfxge(4): cleanup: remove last use of deprecated function flags with privilege check
arybchik [Wed, 28 Dec 2016 18:07:17 +0000 (18:07 +0000)]
sfxge(4): cleanup: remove last use of deprecated function flags with privilege check

The function flags were changed to mirror the privileges, but
the privileges are preferred.

Submitted by:   Mark Spender <mspender at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8936

7 years agobzip2 does not exit after showing license as requested with --version
amdmi3 [Wed, 28 Dec 2016 18:04:18 +0000 (18:04 +0000)]
bzip2 does not exit after showing license as requested with --version
or --license as most apps would do, instead it waits for data to
compress on stdin. Because of that, if `bzip2 --version' is called,
bogus `bzip2: I won't write compressed data to a terminal' error
message will be displayed, and checking for bzip2 version in scripts
as in

    bzip2 --version 2>&1 | grep -o "Version [^,]*"

will hand as bzip2 would wait for data to compress on stdin. Fix
this by exiting right after showing version/license text.

I've tried to push this upstream for more than a year, but author
is unresponsive, so upstream may be considered dead.

Ubuntu applies similar fix, for the note.

PR: 199443
Approved by: dim, bapt
MFC after: 2 weeks
Differential Revision: D8924

7 years agosfxge(4): move BIST methods from hunt_phy.c to ef10_phy.c
arybchik [Wed, 28 Dec 2016 17:56:03 +0000 (17:56 +0000)]
sfxge(4): move BIST methods from hunt_phy.c to ef10_phy.c

Submitted by:   Mark Spender <mspender at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8935

7 years agosfxge(4): add UEFI ROM support to the common code
arybchik [Wed, 28 Dec 2016 17:52:24 +0000 (17:52 +0000)]
sfxge(4): add UEFI ROM support to the common code

Submitted by:   Andrew Lee <alee at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8934

7 years agosfxge(4): fix GET_RXDP_CONFIG usage for multi-PF on Medford
arybchik [Wed, 28 Dec 2016 17:50:48 +0000 (17:50 +0000)]
sfxge(4): fix GET_RXDP_CONFIG usage for multi-PF on Medford

On Medford, using MC_CMD_GET_RXDP_CONFIG to query the RX end
padding setting is in the ADMIN group, and so fails for
unprivileged functions. In that case, assume the largest size
supported by Medford hardware (256bytes) to prevent overrun.

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8933

7 years agosfxge(4): support Medford bootcfg partition layout in common code
arybchik [Wed, 28 Dec 2016 17:49:33 +0000 (17:49 +0000)]
sfxge(4): support Medford bootcfg partition layout in common code

For Siena and Huntington, the per-port bootcfg (aka expcfg) is
stored in a dedicated 4Kbyte partition for each port.

For Medford, the per-PF bootcfg is stored in a 2Kbyte sector
within a single shared partition. Update the common code to support
the new bootcfg layout.

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8932

7 years agosfxge(4): add possibility to control event queue performance profile
arybchik [Wed, 28 Dec 2016 17:45:52 +0000 (17:45 +0000)]
sfxge(4): add possibility to control event queue performance profile

It is ignored on SFN5xxx/6xxx (aka Siena).

Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8931

7 years ago- Use correct offsets into the keys set array. As the elements of this
marius [Wed, 28 Dec 2016 17:13:03 +0000 (17:13 +0000)]
- Use correct offsets into the keys set array. As the elements of this
  zero-length array are dynamically sized at run-time based on the use
  of hints, compilers can't be expected to figure out these offsets on
  their own. [1]
- Fix incorrect comparison in cmp_nans(). [2]

PR: 204571 [1], 202301 [2]
Submitted by: David Binderman [2]
MFC after: 3 days

7 years agoDon't explicitly build tcp wrappers support into bsnmpd; make it conditional
ngie [Wed, 28 Dec 2016 16:34:49 +0000 (16:34 +0000)]
Don't explicitly build tcp wrappers support into bsnmpd; make it conditional
on MK_TCP_WRAPPERS != "no"

This likely fixes an issue seen where some of the USE_TCPWRAPPERS code didn't
work as advertised

MFC after: 1 week

7 years agosfxge(4): fix invalid type of eft_unicst_filter_count
arybchik [Wed, 28 Dec 2016 16:28:09 +0000 (16:28 +0000)]
sfxge(4): fix invalid type of eft_unicst_filter_count

Found by clang when boolean_t is defined as bool for DPDK PMD.

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): do not initialize enumerated type variable to another type
arybchik [Wed, 28 Dec 2016 16:21:46 +0000 (16:21 +0000)]
sfxge(4): do not initialize enumerated type variable to another type

Fix build warning generated by ICC.

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agoFix the parsing of NPt binat rules.
loos [Wed, 28 Dec 2016 16:16:48 +0000 (16:16 +0000)]
Fix the parsing of NPt binat rules.

In this specific case the src address can be set to any, which was not
accepted prior to this commit.

pfSense bug report: https://redmine.pfsense.org/issues/6985
Reviewed by: kp
Obtained from: pfSense
MFC after: 2 weeks
Sponsored by: Rubicon Communications, LLC (Netgate)

7 years agoUndo small wrong style change.
pfg [Wed, 28 Dec 2016 16:16:36 +0000 (16:16 +0000)]
Undo small wrong style change.

Reported by: kib

7 years agostyle(9) cleanups.
pfg [Wed, 28 Dec 2016 15:43:17 +0000 (15:43 +0000)]
style(9) cleanups.

Just to reduce some of the issues found with indent(1).

MFC after: 1 week

7 years agosfxge(4): translate MC_CMD_ERR_ERANGE to host errno value
arybchik [Wed, 28 Dec 2016 15:24:44 +0000 (15:24 +0000)]
sfxge(4): translate MC_CMD_ERR_ERANGE to host errno value

This is needed because MCDI command MC_CMD_REKEY can return
MC_CMD_ERR_ERANGE.

Submitted by:   Tom Millington <tmillington at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agoPass proper arguments (handles, not directly structure pointers) to
mav [Wed, 28 Dec 2016 14:50:39 +0000 (14:50 +0000)]
Pass proper arguments (handles, not directly structure pointers) to
scif_cb_domain_device_removed().

This should fix NULL dereference on task management function timeout.

Reviewed by: jimharris
MFC after: 2 weeks

7 years agobtxldr: process all PT_LOAD segments, not just the first two
emaste [Wed, 28 Dec 2016 14:25:04 +0000 (14:25 +0000)]
btxldr: process all PT_LOAD segments, not just the first two

With default settings GNU ld generates two PT_LOADs for loader.sym while
LLD generates three, because it creates a rodata segment. Previously
btxldr terminated phdr processing after two PT_LOADs. Remove the early
termination to process all PT_LOADs.

Reviewed by: kib, tsoome
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8929

7 years agoo Fix style.
br [Wed, 28 Dec 2016 14:10:33 +0000 (14:10 +0000)]
o Fix style.
o Remove set but not used variable.

Sponsored by: DARPA, AFRL

7 years agoBe more conservative when enabling write-combining on MIPS
kan [Wed, 28 Dec 2016 13:48:00 +0000 (13:48 +0000)]
Be more conservative when enabling write-combining on MIPS

Some MIPS revisions do implement uncached-accelerate caching
attribute, but place extra requirement on access, such as
partial-word or out-of-sequence writes potentially having an
“unpredictable” effects.

7 years agosfxge(4): rename hunt_bist_* methods to ef10_bist_*
arybchik [Wed, 28 Dec 2016 13:28:44 +0000 (13:28 +0000)]
sfxge(4): rename hunt_bist_* methods to ef10_bist_*

Submitted by:   Mark Spender <mspender at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agoPrint hostcache usage counts with TCP statistics.
araujo [Wed, 28 Dec 2016 13:11:22 +0000 (13:11 +0000)]
Print hostcache usage counts with TCP statistics.

PR: 196252
Submitted by: Anton Yuzhaninov <citrin+pr@citrin.ru>
MFC after: 3 weeks.

7 years agosfxge(4): cleanup: improve prefast annotations
arybchik [Wed, 28 Dec 2016 11:43:11 +0000 (11:43 +0000)]
sfxge(4): cleanup: improve prefast annotations

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): fix defined-but-not-used warning if neither VPD nor NVRAM opt enabled
arybchik [Wed, 28 Dec 2016 11:28:16 +0000 (11:28 +0000)]
sfxge(4): fix defined-but-not-used warning if neither VPD nor NVRAM opt enabled

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: add missing spaces
arybchik [Wed, 28 Dec 2016 11:25:17 +0000 (11:25 +0000)]
sfxge(4): cleanup: add missing spaces

Found by DPDK checkpatch.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: avoid unspecified unsigned
arybchik [Wed, 28 Dec 2016 11:19:54 +0000 (11:19 +0000)]
sfxge(4): cleanup: avoid unspecified unsigned

Found by DPDK checkpatch.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): enclose macro complex value in parenthesis
arybchik [Wed, 28 Dec 2016 11:11:15 +0000 (11:11 +0000)]
sfxge(4): enclose macro complex value in parenthesis

Found by DPDK checkpatches.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): make strings array pointer itself immutable
arybchik [Wed, 28 Dec 2016 11:09:45 +0000 (11:09 +0000)]
sfxge(4): make strings array pointer itself immutable

Found by DPDK checkpatches.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: add const qualifier to const array pointer
arybchik [Wed, 28 Dec 2016 11:07:34 +0000 (11:07 +0000)]
sfxge(4): cleanup: add const qualifier to const array pointer

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: avoid spaces before TAB
arybchik [Wed, 28 Dec 2016 11:04:36 +0000 (11:04 +0000)]
sfxge(4): cleanup: avoid spaces before TAB

Found by DPDK checkpatch.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: avoid space just before TAB in efx_types.h
arybchik [Wed, 28 Dec 2016 11:03:06 +0000 (11:03 +0000)]
sfxge(4): cleanup: avoid space just before TAB in efx_types.h

Found by DPDK checkpatch.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: use TAB to indent
arybchik [Wed, 28 Dec 2016 11:01:01 +0000 (11:01 +0000)]
sfxge(4): cleanup: use TAB to indent

Found by DPDK checkpatch.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: add missing space between type and pointer symbol
arybchik [Wed, 28 Dec 2016 10:53:53 +0000 (10:53 +0000)]
sfxge(4): cleanup: add missing space between type and pointer symbol

Found by DPDK checkpatch.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: open brace should be on a type name line
arybchik [Wed, 28 Dec 2016 10:52:04 +0000 (10:52 +0000)]
sfxge(4): cleanup: open brace should be on a type name line

Found by DPDK checkpatch.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: remove trailing whitespaces
arybchik [Wed, 28 Dec 2016 10:49:41 +0000 (10:49 +0000)]
sfxge(4): cleanup: remove trailing whitespaces

Found by DPDK checkpatch.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: pointer symbol should go together with struct member name
arybchik [Wed, 28 Dec 2016 10:48:15 +0000 (10:48 +0000)]
sfxge(4): cleanup: pointer symbol should go together with struct member name

Found by DPDK checkpatch.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: avoid C99 // comments
arybchik [Wed, 28 Dec 2016 10:47:04 +0000 (10:47 +0000)]
sfxge(4): cleanup: avoid C99 // comments

Found by DPDK checkpatch.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: remove unnecessary spaces
arybchik [Wed, 28 Dec 2016 10:45:14 +0000 (10:45 +0000)]
sfxge(4): cleanup: remove unnecessary spaces

Found by DPDK checkpatch.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: use spaces around binary arithmetic operations
arybchik [Wed, 28 Dec 2016 10:44:03 +0000 (10:44 +0000)]
sfxge(4): cleanup: use spaces around binary arithmetic operations

Found by DPDK checkpatch.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: fix wrong indent
arybchik [Wed, 28 Dec 2016 10:43:04 +0000 (10:43 +0000)]
sfxge(4): cleanup: fix wrong indent

Found by DPDK checkpatch.sh

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: remove trailing whitespace
arybchik [Wed, 28 Dec 2016 10:40:21 +0000 (10:40 +0000)]
sfxge(4): cleanup: remove trailing whitespace

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agosfxge(4): cleanup: fix typo in siena_mac_loopback_set() instrumentation
arybchik [Wed, 28 Dec 2016 10:39:11 +0000 (10:39 +0000)]
sfxge(4): cleanup: fix typo in siena_mac_loopback_set() instrumentation

Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days

7 years agorum.4, run.4, runfw.4, zyd.4: do not install when MK_USB == no.
avos [Wed, 28 Dec 2016 09:32:02 +0000 (09:32 +0000)]
rum.4, run.4, runfw.4, zyd.4: do not install when MK_USB == no.

While here, add missing if_rtwn_usb.4.gz symlink into
OptionalObsoleteFiles.inc

7 years agoFix the build by moving the initializers for len/nswapdev down below the
ngie [Wed, 28 Dec 2016 08:11:41 +0000 (08:11 +0000)]
Fix the build by moving the initializers for len/nswapdev down below the
declarations

MFC after: 3 days
Pointyhat to: ngie

7 years agoLimit number of stripes supported by HDA codec to maximum number
mmel [Wed, 28 Dec 2016 07:37:26 +0000 (07:37 +0000)]
Limit number of stripes supported by HDA codec to maximum number
announced by HDA controller.
Incorrectly implermented HDA codec may report support for more stripes
that HDA controller already have. Due to this, always limit number of
enabled stripes by global controller maximum.

Reviewed by: mav
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D8922

7 years agostyle(9): clean up whitespace
ngie [Wed, 28 Dec 2016 06:10:58 +0000 (06:10 +0000)]
style(9): clean up whitespace

MFC after: 3 days

7 years agostyle(9) fixes: clean up leading whitespace
ngie [Wed, 28 Dec 2016 05:43:14 +0000 (05:43 +0000)]
style(9) fixes: clean up leading whitespace

MFC after: 3 days

7 years agostyle(9) fixes: clean up leading whitespace
ngie [Wed, 28 Dec 2016 05:42:41 +0000 (05:42 +0000)]
style(9) fixes: clean up leading whitespace

MFC after: 3 days

7 years agostyle(9) fixes
ngie [Wed, 28 Dec 2016 05:41:53 +0000 (05:41 +0000)]
style(9) fixes

- Clean up trailing whitespace
- Fix variable type alignment in storage_OS_get_swap(..)

MFC after: 3 days

7 years agoOnly build/install usr.sbin/bsnmpd/modules/snmp_hast if MK_HAST != no
ngie [Wed, 28 Dec 2016 05:21:22 +0000 (05:21 +0000)]
Only build/install usr.sbin/bsnmpd/modules/snmp_hast if MK_HAST != no

MFC after: 1 week

7 years agoOnly build/install usr.sbin/bsnmpd/modules/snmp_wlan if MK_WIRELESS != no
ngie [Wed, 28 Dec 2016 05:16:41 +0000 (05:16 +0000)]
Only build/install usr.sbin/bsnmpd/modules/snmp_wlan if MK_WIRELESS != no

MFC after: 1 week