freebsd.git
7 years agoAvoid using 'head' in generating groff doc date
emaste [Wed, 12 Oct 2016 15:49:20 +0000 (15:49 +0000)]
Avoid using 'head' in generating groff doc date

It may not be available in certain cross build cases.

Note that this is a slight change in functionality, in that now only the
first line of the source ChangeLog file is processed. This is acceptable
as groff will be retired and we won't encounter a possibly-different
ChangeLog format.

Reported by: jhibbits
Tested by: jhibbits

7 years agoUse the armv6 GENERIC kernel in the release images on hardware this kernel
andrew [Wed, 12 Oct 2016 15:29:22 +0000 (15:29 +0000)]
Use the armv6 GENERIC kernel in the release images on hardware this kernel
config supports.

Approved by: gjb
Sponsored by: ABT Systems Ltd
Differential Revision: https://reviews.freebsd.org/D8147

7 years agoAdd comment on use of abort() in libc
emaste [Wed, 12 Oct 2016 13:56:14 +0000 (13:56 +0000)]
Add comment on use of abort() in libc

Suggested by: jonathan (in review D8133)

7 years agoKeep in-sync MK_SSP=no option both with kernel and userspace.
br [Wed, 12 Oct 2016 13:51:41 +0000 (13:51 +0000)]
Keep in-sync MK_SSP=no option both with kernel and userspace.

Pointed out by: emaste
Sponsored by: DARPA, AFRL
Sponsored by: HEIF5

7 years agoAdd different libc ldscript: the one without libssp --
br [Wed, 12 Oct 2016 13:19:21 +0000 (13:19 +0000)]
Add different libc ldscript: the one without libssp --
we don't have it when MK_SSP==no.

This fixes compilation on MIPS.

Reviewed by: imp
Sponsored by: DARPA, AFRL
Sponsored by: HEIF5
Differential Revision: https://reviews.freebsd.org/D8212

7 years agoUse M_WAITOK in PIO_KEYMAP ioctl
emaste [Wed, 12 Oct 2016 12:56:18 +0000 (12:56 +0000)]
Use M_WAITOK in PIO_KEYMAP ioctl

The malloc return value is not checked.

Submitted by: CTurt <ecturt@gmail.com>
MFC after: 1 week

7 years agoremove a few stray spaces from sys/param.h
avg [Wed, 12 Oct 2016 11:17:10 +0000 (11:17 +0000)]
remove a few stray spaces from sys/param.h

7 years agobump __FreeBSD_version for libzfs_core.h
avg [Wed, 12 Oct 2016 11:12:31 +0000 (11:12 +0000)]
bump __FreeBSD_version for libzfs_core.h

7 years agoUse copyout() instead of pointing sbuf to user-space buffer.
mav [Wed, 12 Oct 2016 08:25:13 +0000 (08:25 +0000)]
Use copyout() instead of pointing sbuf to user-space buffer.

MFC after: 2 weeks

7 years agoinstall header files required development with libzfs_core
avg [Wed, 12 Oct 2016 07:08:32 +0000 (07:08 +0000)]
install header files required development with libzfs_core

libzfs_core provides a rather limited but committed (stable) interface
for working with ZFS.  We install libzfs_core shared library but we do
not install header files required for developing programs that use
the library.  This change is to install the required header files
libzfs_core.h, libnvpair.h and sys/nvpair.h.

The headers are installed into the same locations as on illumos.

Reviewed by: mav, markj
Differential Revision: https://reviews.freebsd.org/D8005

7 years agosmbus: allow child devices to be added via hints
avg [Wed, 12 Oct 2016 06:58:01 +0000 (06:58 +0000)]
smbus: allow child devices to be added via hints

This will allow to add slave drivers in the same fashion as for iicbus.

Also, allow other code to add a child device and set its 'addr' ivar.
The ivar can only be set if it's unset, it can not be changed.
That could be used, for example, by a platform driver that has
a precise description of the hardware and, thus, knows what drivers
can handle what slaves.

The slave auto-probing code is unsafe and broken because it uses
7-bit slave addresses.  It's going to be removed.

Note: internally the driver uses address of zero as an unset address
while smbus_get_addr() returns it as -1 for compatibility reasons.
The address is expected to be unset only for children that do not
work with slaves like, for example, smb(4).

Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D8173

7 years agoFix typo in comment
gonzo [Wed, 12 Oct 2016 05:35:57 +0000 (05:35 +0000)]
Fix typo in comment

Spotted by: loos

7 years agoMake BCM28x USB driver compatible with upstream device tree
gonzo [Wed, 12 Oct 2016 03:36:46 +0000 (03:36 +0000)]
Make BCM28x USB driver compatible with upstream device tree

This should have been committed in r307093: resource allocation depends
on source of the device tree. upstream dts has extra interrupt that we can
ignore

7 years agoMake VCHI driver compatible with upstream DT
gonzo [Wed, 12 Oct 2016 03:08:58 +0000 (03:08 +0000)]
Make VCHI driver compatible with upstream DT

- Add compatibility string
- Compensate difference in base address between our custom DTB and upstream one

7 years agoMake BCM283x USB driver compatible with upstream DT
gonzo [Wed, 12 Oct 2016 03:07:49 +0000 (03:07 +0000)]
Make BCM283x USB driver compatible with upstream DT

- Make resource allocation logic depend on compatibility string
    to check what format of DTS node should be used - FreeBSD's or upstream

7 years agoMake BCM2835 GPIO driver compatible with upstream DT
gonzo [Wed, 12 Oct 2016 03:06:05 +0000 (03:06 +0000)]
Make BCM2835 GPIO driver compatible with upstream DT

- Add compatibility string
- Make reserverd and read-only properties optional

7 years agoAdd compatibility string from upstream DT
gonzo [Wed, 12 Oct 2016 03:03:55 +0000 (03:03 +0000)]
Add compatibility string from upstream DT

7 years agoMake framebuffer driver compatible with upstream DT
gonzo [Wed, 12 Oct 2016 03:03:05 +0000 (03:03 +0000)]
Make framebuffer driver compatible with upstream DT

- Add compatibility string
- Add simplebus as possible parent bus

7 years agoAdd compatible strings used in upstream dts files
gonzo [Wed, 12 Oct 2016 03:00:42 +0000 (03:00 +0000)]
Add compatible strings used in upstream dts files

7 years agoMake sure intc is attached before interrupt consumers
gonzo [Wed, 12 Oct 2016 02:58:27 +0000 (02:58 +0000)]
Make sure intc is attached before interrupt consumers

If pass order is not specified devices are attached in the order they are
defined in dts. Some interrupt consumers may be defined before intc. Also
make sure intc interrupt-parent local_intc is attached before intc itself.

7 years agoCurrently, when tcp_input() receives a packet on a session that matches a
jtl [Wed, 12 Oct 2016 02:30:33 +0000 (02:30 +0000)]
Currently, when tcp_input() receives a packet on a session that matches a
TCPCB, it checks (so->so_options & SO_ACCEPTCONN) to determine whether or
not the socket is a listening socket. However, this causes the code to
access a different cacheline. If we first check if the socket is in the
LISTEN state, we can avoid accessing so->so_options when processing packets
received for ESTABLISHED sessions.

If INVARIANTS is defined, the code still needs to access both variables to
check that so->so_options is consistent with the state.

Reviewed by: gallatin
MFC after: 1 week
Sponsored by: Netflix

7 years agoIn the TCP stack, the hhook(9) framework provides hooks for kernel modules
jtl [Wed, 12 Oct 2016 02:16:42 +0000 (02:16 +0000)]
In the TCP stack, the hhook(9) framework provides hooks for kernel modules
to add actions that run when a TCP frame is sent or received on a TCP
session in the ESTABLISHED state. In the base tree, this functionality is
only used for the h_ertt module, which is used by the cc_cdg, cc_chd, cc_hd,
and cc_vegas congestion control modules.

Presently, we incur overhead to check for hooks each time a TCP frame is
sent or received on an ESTABLISHED TCP session.

This change adds a new compile-time option (TCP_HHOOK) to determine whether
to include the hhook(9) framework for TCP. To retain backwards
compatibility, I added the TCP_HHOOK option to every configuration file that
already defined "options INET". (Therefore, this patch introduces no
functional change. In order to see a functional difference, you need to
compile a custom kernel without the TCP_HHOOK option.) This change will
allow users to easily exclude this functionality from their kernel, should
they wish to do so.

Note that any users who use a custom kernel configuration and use one of the
congestion control modules listed above will need to add the TCP_HHOOK
option to their kernel configuration.

Reviewed by: rrs, lstewart, hiren (previous version), sjg (makefiles only)
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D8185

7 years agoifnet: Use if_link_state snapshot to invoke ifnet_link_event
sephe [Wed, 12 Oct 2016 01:52:29 +0000 (01:52 +0000)]
ifnet: Use if_link_state snapshot to invoke ifnet_link_event

So that everyone in this task have consistent view of link state.

Reviewed by: ae
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8214

7 years agoUse correct size type in do_setopt_accept_filter
emaste [Wed, 12 Oct 2016 00:56:49 +0000 (00:56 +0000)]
Use correct size type in do_setopt_accept_filter

Submitted by: ecturt@gmail.com

7 years agoExtract suffix rules into bsd.suffixes[-posix].mk.
jonathan [Wed, 12 Oct 2016 00:42:46 +0000 (00:42 +0000)]
Extract suffix rules into bsd.suffixes[-posix].mk.

Refactor make suffix rules into separate files (one for POSIX and one not),
and rationalise the rules so that bsd.lib.mk can contain only those rules
that are library-specific (.c.po and .c.pico).

This can be accomplished by adding ${STATIC_CFLAGS} to the .c.o rule
unconditionally. STATIC_CFLAGS are only defined for use by sys.mk rules in
lib/libpam/Makefile.inc (see r227797), so it should be safe to include
them unconditionally in sys.mk's .c.o rule (tested by make universe and a
ports exp-run).

Reviewed by: bdrewery, sjg
Approved by: rwatson (mentor)
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D6805

7 years agoInclude stubs even on the platforms we don't support so libsysdecode
imp [Tue, 11 Oct 2016 22:54:29 +0000 (22:54 +0000)]
Include stubs even on the platforms we don't support so libsysdecode
continues to build.

7 years agoProperly include the 802.11n PHY support files when the BWM_GPL_PHY
imp [Tue, 11 Oct 2016 22:32:12 +0000 (22:32 +0000)]
Properly include the 802.11n PHY support files when the BWM_GPL_PHY
option is included. Remove the comment suggesting that people
uncomment things because it is OBE.

7 years agoAdd efivar(1) to manipulate EFI variables. It uses a similar command
imp [Tue, 11 Oct 2016 22:31:45 +0000 (22:31 +0000)]
Add efivar(1) to manipulate EFI variables. It uses a similar command
line interface to the Linux program, as well as adding a number of
useful features to make using it in shell scripts easier (since we
don't have a filesystem to fall back on interacting with).

Differential Revision: https://reviews.freebsd.org/D8128
Reviewed by: kib@, wblock@, Ganael Laplanche

7 years agoCreate libefivar library. This library aims to provide
imp [Tue, 11 Oct 2016 22:30:41 +0000 (22:30 +0000)]
Create libefivar library. This library aims to provide
the same API as the GPL'd version of this library. It implements the common
Linux API for programatically manipulating UEFI environment varibales using
the UEFI Runtime Services the kernel provides. It replaces the old efi
library since it is programmed to a different interface, but retails the
CHAR16 to UTF-8 and vice versa conversion routines. The new name is to match
Linux program's expectations.

Differential Revision: https://reviews.freebsd.org/D8128
Reviewed by: kib@, wblock@, Ganael Laplanche

7 years agoCreate /dev/efidev to provide an ioctl interface to
imp [Tue, 11 Oct 2016 22:24:30 +0000 (22:24 +0000)]
Create /dev/efidev to provide an ioctl interface to
userland.  It supports userland interfaces to UEFI Runtime Services. This is
indended to the the MI portion of EFI RuntimeServices support.

Differential Revision: https://reviews.freebsd.org/D8128
Reviewed by: kib@, wblock@, Ganael Laplanche

7 years agoMake Rapsberry Pi watchdog driver compatible with upstream DTS
gonzo [Tue, 11 Oct 2016 21:40:15 +0000 (21:40 +0000)]
Make Rapsberry Pi watchdog driver compatible with upstream DTS

- Fix compatibility strings
- Compensate the difference in base address for our custom DTS and
    upstream one (for backward compatibility)

7 years agoMake intc driver compatible with upstream DTS
gonzo [Tue, 11 Oct 2016 21:37:34 +0000 (21:37 +0000)]
Make intc driver compatible with upstream DTS

- Fix compatibility strings
- Properly decode upstream's two-cell interrupt specs. Our home-made dts
    does not have two-cell interrupts so no need to preserve backward
    compatibility

7 years agoDon't use fmaxl/fminl on platforms with no long double support,
br [Tue, 11 Oct 2016 20:31:59 +0000 (20:31 +0000)]
Don't use fmaxl/fminl on platforms with no long double support,
use fmax/fmin instead.

This fixes fmaxmin test failure on MIPS64.

Reviewed by: emaste
Sponsored by: DARPA, AFRL
Sponsored by: HEIF5
Differential Revision: https://reviews.freebsd.org/D8216

7 years agoWhen downgrading exclusively busied page to shared-busy state, wakeup
kib [Tue, 11 Oct 2016 18:09:37 +0000 (18:09 +0000)]
When downgrading exclusively busied page to shared-busy state, wakeup
waiters.  Otherwise, owners of the shared-busy state are left blocked
and might get into a deadlock.

Note that the vm_page_busy_downgrade() function is not used in the
tree right now.

Reported and tested by: pho (previous version)
Reviewed by: alc, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D8195

7 years agoMake LLTABLE list lock private for if_llatbl.c
ae [Tue, 11 Oct 2016 17:41:13 +0000 (17:41 +0000)]
Make LLTABLE list lock private for if_llatbl.c

Rename lock and macros to reflect that it protects V_lltables list.

7 years agoFix printf format warning.
jhb [Tue, 11 Oct 2016 17:11:17 +0000 (17:11 +0000)]
Fix printf format warning.

7 years agoINTRNG - fix MSI/MSIX release path
gonzo [Tue, 11 Oct 2016 17:00:29 +0000 (17:00 +0000)]
INTRNG - fix MSI/MSIX release path

Use isrc in attached MSI data structure instead of using map's
isrc directly. map's isrc is set to NULL on IRQ deactivation
which happens prior to pci_release_msi so MSI_RELEASE_MSI
receives array of NULLs

Reviewed by: mmel
Differential Revision: https://reviews.freebsd.org/D8206

7 years agoCorrected non-portable reuse of va_list in dt_printf()
gnn [Tue, 11 Oct 2016 16:12:12 +0000 (16:12 +0000)]
Corrected non-portable reuse of va_list in dt_printf()

Submitted by: Graeme Jenkinson
Reviewed by: markj
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D8157

7 years agoRemove mqtest{3,4} from the obsoleted list.
kib [Tue, 11 Oct 2016 15:55:45 +0000 (15:55 +0000)]
Remove mqtest{3,4} from the obsoleted list.

Reported by: O. Hartmann <ohartman@zedat.fu-berlin.de>
Sponsored by: The FreeBSD Foundation
MFC after: 3 days

7 years agoFix copy/paste bug in r306747.
mav [Tue, 11 Oct 2016 15:27:39 +0000 (15:27 +0000)]
Fix copy/paste bug in r306747.

Submitted by: emaste, pfg
MFC after: 3 days

7 years agoFix bug where malloc(.., M_NOWAIT) return value is not checked, Change to
sbruno [Tue, 11 Oct 2016 14:08:53 +0000 (14:08 +0000)]
Fix bug where malloc(.., M_NOWAIT) return value is not checked, Change to
M_WAITOK and move outside the mutex

Submitted by: shurd
Reviewed by: mmacy@nextbsd.org
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D7649

7 years agoAdd Cavium sponsor entity
emaste [Tue, 11 Oct 2016 13:30:39 +0000 (13:30 +0000)]
Add Cavium sponsor entity

7 years agosfxge(4): update external port mapping for Medford
arybchik [Tue, 11 Oct 2016 13:08:48 +0000 (13:08 +0000)]
sfxge(4): update external port mapping for Medford

Extend the mapping table for external port numbering to support port modes
which output to the second external port only. Where supported, map from
the current port mode rather than inferring from all the available modes.
Updated comments for clarity.

Submitted by:   Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8210

7 years agoCorrect indent.
kib [Tue, 11 Oct 2016 11:46:02 +0000 (11:46 +0000)]
Correct indent.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days

7 years agoFill msg_len for the initial element of msgvec.
kib [Tue, 11 Oct 2016 11:45:12 +0000 (11:45 +0000)]
Fill msg_len for the initial element of msgvec.

Submitted by: Daniel Salzman <daniel.salzman@nic.cz>
MFC after: 3 days

7 years agohyperv/hn: Rework link status support.
sephe [Tue, 11 Oct 2016 02:54:56 +0000 (02:54 +0000)]
hyperv/hn: Rework link status support.

This is the preamble for network device SR-IOV and
NDIS_STATUS_NETWORK_CHANGE handling.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8209

7 years agohyperv/vmbus: Allow driver to inject synchronous task into channel taskq.
sephe [Tue, 11 Oct 2016 02:43:23 +0000 (02:43 +0000)]
hyperv/vmbus: Allow driver to inject synchronous task into channel taskq.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8208

7 years agoAdd the ability to override the size of the swap partition when building
np [Mon, 10 Oct 2016 22:36:44 +0000 (22:36 +0000)]
Add the ability to override the size of the swap partition when building
VM images.  The default continues to be 1G.

Reviewed by: gjb@
Sponsored by: Chelsio Communications

7 years agomakewhatis: make output reproducible
emaste [Mon, 10 Oct 2016 19:09:35 +0000 (19:09 +0000)]
makewhatis: make output reproducible

The mandoc search database generation uses each page's inode number as
a hash key to index hard linked pages only once.  However, it also
processed the pages ordered by hash key resulting in effectively non-
deterministic output.

Instead:

1) provide fts_open() with a comparison function to process directories
   and files in a deterministic order
2) in addition to the existing hash, insert pages into a linked list
   which will be sorted (by virtue of 1)
3) iterate over pages by the list in 2, instead of hash order

I will work on upstreaming this change.

Reviewed by: bapt
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8213

7 years agoFreeBSD 11.0 release date added.
maxim [Mon, 10 Oct 2016 18:36:26 +0000 (18:36 +0000)]
FreeBSD 11.0 release date added.

7 years agoAdd missing *.gz extension.
avos [Mon, 10 Oct 2016 17:18:23 +0000 (17:18 +0000)]
Add missing *.gz extension.

7 years agombuf(9), mbuf_tags(9): fix function prototypes.
avos [Mon, 10 Oct 2016 17:16:02 +0000 (17:16 +0000)]
mbuf(9), mbuf_tags(9): fix function prototypes.

- Add m_getclr(9) symlink to ObsoleteFiles.inc (removed in r295481).
- Add const qualifiers in m_dup(), m_dup_pkthdr() and m_tag_copy_chain()
(r286450).
- Fix m_dup_pkthdr() definition (it's not the same as m_move_pkthdr()).

MFC after: 5 days

7 years agoAdd a missing word.
jhb [Mon, 10 Oct 2016 17:00:12 +0000 (17:00 +0000)]
Add a missing word.

MFC after: 1 month

7 years agosrc.conf.5: regen after r306965
emaste [Mon, 10 Oct 2016 15:47:30 +0000 (15:47 +0000)]
src.conf.5: regen after r306965

7 years agoCorrect sense of WITHOUT_MANDOCDB knob
emaste [Mon, 10 Oct 2016 15:40:08 +0000 (15:40 +0000)]
Correct sense of WITHOUT_MANDOCDB knob

WITHOUT_MANDOCDB *disables* the use of mandoc's makewhatis.

7 years agoRemove old makewhatis(1) man page when using mandoc
emaste [Mon, 10 Oct 2016 15:29:59 +0000 (15:29 +0000)]
Remove old makewhatis(1) man page when using mandoc

mandoc installs makewhatis(8)

7 years agoSkip test on MIPS as we don't have shared page implemented yet.
br [Mon, 10 Oct 2016 14:21:40 +0000 (14:21 +0000)]
Skip test on MIPS as we don't have shared page implemented yet.

Sponsored by: DARPA, AFRL
Sponsored by: HEIF5

7 years agochown: use NULL instead of 0 for null pointer
emaste [Mon, 10 Oct 2016 14:21:21 +0000 (14:21 +0000)]
chown: use NULL instead of 0 for null pointer

7 years agoEnsure data in pipe is available to read.
br [Mon, 10 Oct 2016 13:40:05 +0000 (13:40 +0000)]
Ensure data in pipe is available to read.
Useful for latest (5th, direct mode) test only.

Sponsored by: DARPA, AFRL
Sponsored by: HEIF5

7 years agosfxge(4): sync tlv_layout.h with firmwaresrc and update port-mode definition use
arybchik [Mon, 10 Oct 2016 09:54:01 +0000 (09:54 +0000)]
sfxge(4): sync tlv_layout.h with firmwaresrc and update port-mode definition use

It fixes driver attach issue to a new firmware which reports a new
port-modes.

Reviewed by:    gnn
Submitted by:   Tom Millington <tmillington at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D8203

7 years agohyperv/hn: Suffix NDIS offload size with NDIS version.
sephe [Mon, 10 Oct 2016 06:14:38 +0000 (06:14 +0000)]
hyperv/hn: Suffix NDIS offload size with NDIS version.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8091

7 years agohyperv/hn: Generalize RSS capabilities query.
sephe [Mon, 10 Oct 2016 05:59:30 +0000 (05:59 +0000)]
hyperv/hn: Generalize RSS capabilities query.

- Support NDIS < 6.30.
- Stringent response checks.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8090

7 years agohyperv/hn: Fix if_hw_tsomax setup.
sephe [Mon, 10 Oct 2016 05:50:01 +0000 (05:50 +0000)]
hyperv/hn: Fix if_hw_tsomax setup.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8089

7 years agohyperv/hn: Fix checksum offload settings
sephe [Mon, 10 Oct 2016 05:41:39 +0000 (05:41 +0000)]
hyperv/hn: Fix checksum offload settings

The _correct_ way to identify the supported checksum offloading and
TSO parameters is to query OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8088

7 years agoAdd CHIP dts into the build
manu [Mon, 10 Oct 2016 04:53:15 +0000 (04:53 +0000)]
Add CHIP dts into the build

7 years agoSet INLINE_LIMIT in the aarch64 case for gcc.
andrew [Sun, 9 Oct 2016 21:47:20 +0000 (21:47 +0000)]
Set INLINE_LIMIT in the aarch64 case for gcc.

Submitted by: andreast
MFC after: 1 week

7 years agoARM: Remove unused includes.
mmel [Sun, 9 Oct 2016 10:25:47 +0000 (10:25 +0000)]
ARM: Remove unused includes.

MFC after: 1 week

7 years agoARM: Split identify_arm_cpu() into ARMv4 and ARMv6 variant.
mmel [Sun, 9 Oct 2016 10:24:10 +0000 (10:24 +0000)]
ARM: Split identify_arm_cpu() into ARMv4 and ARMv6 variant.
On ARMv6, be more verbose about supported CPU features and/or
optional instructions.

7 years agoiwm: add missing 'Rx errors' counter incrementation.
avos [Sun, 9 Oct 2016 10:21:28 +0000 (10:21 +0000)]
iwm: add missing 'Rx errors' counter incrementation.

7 years agoFix release MSI method for ARM GIC
gonzo [Sun, 9 Oct 2016 04:37:21 +0000 (04:37 +0000)]
Fix release MSI method for ARM GIC

7 years agoFix release MSI method for NVidia Tegra PCI controller
gonzo [Sun, 9 Oct 2016 04:36:40 +0000 (04:36 +0000)]
Fix release MSI method for NVidia Tegra PCI controller

7 years agoFix MSI allocation for NVidia Tegra
gonzo [Sun, 9 Oct 2016 04:29:42 +0000 (04:29 +0000)]
Fix MSI allocation for NVidia Tegra

- Fix range check
- Due to checking found value in for(;;) condition irq after loop was
    always + 1 from actually found slot and wrong entry was marked as
    used which lead to returning slot 0 for all requests.

7 years agoFix spurious white space introduced in r301059
allanjude [Sun, 9 Oct 2016 03:20:58 +0000 (03:20 +0000)]
Fix spurious white space introduced in r301059

r301059 accidently introduced a subtle change for point to point interfaces
where an extra space is inserted before the netmask. This can cause issues
for scripts that parse ifconfig output.

Submitted by: Kevin Bowling <kevin.bowling@kev009.com>
Reviewed by: hiren
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D8199

7 years agowpi: restore frame header before submitting an mbuf to
avos [Sat, 8 Oct 2016 20:41:08 +0000 (20:41 +0000)]
wpi: restore frame header before submitting an mbuf to
ieee80211_tx_complete()

This change allows to pass packet length to rate control modules and
fixes IFCOUNTER_OBYTES calculation.

Tested with Intel 3945BG, STA mode.

7 years agoRemove the WITH_FMAKE option left over from r284464
bapt [Sat, 8 Oct 2016 19:54:01 +0000 (19:54 +0000)]
Remove the WITH_FMAKE option left over from r284464

MFC after: 3 days

7 years agosys/module.h: Unbreak MOD_DPF printf
cem [Sat, 8 Oct 2016 19:40:58 +0000 (19:40 +0000)]
sys/module.h: Unbreak MOD_DPF printf

MOD_DPF's args parameter already has parentheses around it.  This was broken 14
years ago in r91472.

Sponsored by: Dell EMC Isilon

7 years agogroff is not needed in the bootstrap tools if the system is built
bapt [Sat, 8 Oct 2016 18:57:11 +0000 (18:57 +0000)]
groff is not needed in the bootstrap tools if the system is built
WITHOUT_SHAREDOCS

MFC after: 2 weeks

7 years agoAdd multitouch support for RPi's FT5406
gonzo [Sat, 8 Oct 2016 18:19:52 +0000 (18:19 +0000)]
Add multitouch support for RPi's FT5406

- Add multitouch support (protocol B)
- Report physical size of the screen
- Switch from using busy loop to callbacks
- Enable callbacks only when there is active listener on /dev/input/eventX

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>

7 years agoImplement EVDEV_FLAG_MT_AUTOREL flag (autorelease touchpoints)
gonzo [Sat, 8 Oct 2016 17:59:53 +0000 (17:59 +0000)]
Implement EVDEV_FLAG_MT_AUTOREL flag (autorelease touchpoints)

Automaticaly release (send ABS_MT_TRACKING_ID = -1) MT-slots
that has not been listed in current MT protocol type B report.

Slot is counted as listed if corresponding ABS_MT_SLOT event
has been sent regardless of other MT events.

Events are sent on SYN_REPORT event.

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>

7 years agoAllow using of driver's mutex instead internal one for evdev locking.
gonzo [Sat, 8 Oct 2016 17:58:26 +0000 (17:58 +0000)]
Allow using of driver's mutex instead internal one for evdev locking.

Add new API call: evdev_register_mtx which takes lock argument that
should be used instead of internal one for evdev locking. Useful for
cases if evdev_push_event() is always called with driver's lock taken
and reduces amount of lock aquisitions. This allows to avoid LOR
between ev_open/ev_close invocations and evdev_push_event() Such LOR
can happen when ev_open/ev_close methods acquire driver lock and
evdev_push_event() is called with this lock taken.

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>

7 years agoUpdate pci_vendors to 2016-10-03
bapt [Sat, 8 Oct 2016 17:51:15 +0000 (17:51 +0000)]
Update pci_vendors to 2016-10-03

MFC after: 3 days

7 years agoImport tzdata 2016g
bapt [Sat, 8 Oct 2016 17:46:59 +0000 (17:46 +0000)]
Import tzdata 2016g

MFC after: 3 days

7 years agoIncorporate a change from OpenBSD by millert@OpenBSD.org
bapt [Sat, 8 Oct 2016 17:46:29 +0000 (17:46 +0000)]
Incorporate a change from OpenBSD by millert@OpenBSD.org

Don't warn about valid time zone abbreviations.  POSIX
through 2000 says that an abbreviation cannot start with ':', and
cannot contain ',', '-', '+', NUL, or a digit.  POSIX from 2001
on changes this rule to say that an abbreviation can contain only
'-', '+', and alphanumeric characters from the portable character
set in the current locale.  To be portable to both sets of rules,
an abbreviation must therefore use only ASCII letters."  Adapted
from tzcode2015f.

This is needed to be able to update tzdata to a newer version

MFC after: 3 days

7 years agoAdd description for ifi_oqdrops.
kevlo [Sat, 8 Oct 2016 14:58:26 +0000 (14:58 +0000)]
Add description for ifi_oqdrops.

7 years agoIn case of removal of m_copy() the macro should remain named M_COPY()
kevlo [Sat, 8 Oct 2016 14:57:21 +0000 (14:57 +0000)]
In case of removal of m_copy() the macro should remain named M_COPY()
in ip_compat.h after r305824.  Leaving as vanilla as possible aids in
future maintenance and upgrades.

Suggested by: glebius, cy

7 years agosh: Do not import IFS's value from the environment.
jilles [Sat, 8 Oct 2016 13:40:12 +0000 (13:40 +0000)]
sh: Do not import IFS's value from the environment.

Per Austin group issue #884, always set IFS to $' \t\n'. As before, IFS will
be exported iff it was in the environment.

Most shells (e.g. bash, ksh93 and mksh) already did this. This change
improves predictability, in that scripts can simply rely on the default
value.

However, the effect on security is little, since applications should not be
calling the shell with attacker-controlled environment variable names in the
first place and other security-sensitive variables such as PATH should be
and are imported by the shell.

When using a new sh with an old (before 10.2) libc wordexp(), IFS is no
longer passed on. Otherwise, wordexp() continues to pass along IFS from the
environment per its documentation.

Discussed with: pfg
Relnotes: yes

7 years agovfs: assert empty tmp free list on unmount
mjg [Sat, 8 Oct 2016 13:38:05 +0000 (13:38 +0000)]
vfs: assert empty tmp free list on unmount

7 years agovfs: clear the tmp free list flag before taking the free vnode list lock
mjg [Sat, 8 Oct 2016 13:36:59 +0000 (13:36 +0000)]
vfs: clear the tmp free list flag before taking the free vnode list lock

Safe access is already guaranteed because of the mnt_listmx lock.

7 years agoSort SEE ALSO section sequentially.
sevan [Sat, 8 Oct 2016 12:53:23 +0000 (12:53 +0000)]
Sort SEE ALSO section sequentially.
Highlighted by mandoc -Tlint

PR: 212440
Approved by: imp
MFC after: 5 days
Differential Revision: https://reviews.freebsd.org/D8192

7 years agoMinor optimizations to dTSEC glue code
jhibbits [Sat, 8 Oct 2016 05:26:45 +0000 (05:26 +0000)]
Minor optimizations to dTSEC glue code

Don't call pmap_kextract() multiple times, it wastes CPU cycles, which in a high
performance environment can be very expensive.

Inline XX_FindTracker() to allow more optimizations as well.

7 years agoAdjust copyright date. No real work was done on it until 2016.
jhibbits [Sat, 8 Oct 2016 01:18:01 +0000 (01:18 +0000)]
Adjust copyright date.  No real work was done on it until 2016.

7 years ago[net80211] extend the ieee80211_rx_stats struct to include more information.
adrian [Sat, 8 Oct 2016 01:12:29 +0000 (01:12 +0000)]
[net80211] extend the ieee80211_rx_stats struct to include more information.

There are a variety of more interesting RX statistics that we should
keep track of but we don't.  This is a starting point for adding more
information.

Specifically:

* now the RX rate information and some of the packet status is
  passed up;
* The 32 bit or 64 bit TSF is passed up;
* the PHY mode is passed up;
* the "I'm decap'ed AMSDU!" state is passed up;
* number of RX chains is bumped to 4.

This is all mostly a placeholder for getting the data into the RX status
before we pass it up to net80211 - unfortunately we don't yet enforce
that drivers provide it, nor do we pass the provided info back up the
stack so anyone can use the data.

We're going to need to use some of this data moving forward.
Notably, now that some hardware can do AMSDU decap for us (the intel iwm
driver can do it when we flip it on; the ath10k port I'm doing does
it for us) then we need to pass it up through the stack so the duplicate
RX sequence numbers and crypto/IV details don't cause the packet to
be dropped and/or counted against a replay counter.

It's also the beginning of being able to do more interesting node
accounting in net80211.  Specifically, once drivers start populating
per-packet rate information, AMPDU information, timestamps, etc,
we can start providing histograms of rate-versus-RSSI, account
for receive time spent per node and other such interesting things.

(Note: I'm also hoping to include ranging and RTT information for
future chipset support; and it's likely going to include it in
this kind of fashion.)

7 years ago[ifconfig] correctly display RSSI.
adrian [Sat, 8 Oct 2016 01:00:31 +0000 (01:00 +0000)]
[ifconfig] correctly display RSSI.

7 years agoAdditional cleanup of the arp(4) man page after r306652
vangyzen [Fri, 7 Oct 2016 22:17:25 +0000 (22:17 +0000)]
Additional cleanup of the arp(4) man page after r306652

Submitted by: David A. Bright <david.a.bright@dell.com>
Requested by: wblock
Reviewed by: wblock
MFC after: 23 days
Sponsored by: Dell EMC
Differential Revision: https://reviews.freebsd.org/D8183

7 years agoLock the ND prefix list and add refcounting for prefixes.
markj [Fri, 7 Oct 2016 21:10:53 +0000 (21:10 +0000)]
Lock the ND prefix list and add refcounting for prefixes.

This change extends the nd6 lock to protect the ND prefix list as well
as the list of advertising routers associated with each prefix. To handle
cases where the nd6 lock must be dropped while iterating over either the
prefix or default router lists, a generation counter is used to track
modifications to the lists. Additionally, a new mutex is used to serialize
prefix on-link/off-link transitions. This mutex must be acquired before
the nd6 lock and is held while updating the routing table in
nd6_prefix_onlink() and nd6_prefix_offlink().

Reviewed by: ae, tuexen (SCTP bits)
Tested by: Jason Wolfe <jason@llnw.com>,
Larry Rosenman <ler@lerctr.org>
MFC after: 2 months
Differential Revision: https://reviews.freebsd.org/D8125

7 years agoReduce the number of conditional statements in nd6_prefix_onlink().
markj [Fri, 7 Oct 2016 21:03:18 +0000 (21:03 +0000)]
Reduce the number of conditional statements in nd6_prefix_onlink().

MFC after: 1 week

7 years agoJust remove freeing memory in pmcstat_cleanup, since we only clean up
stevek [Fri, 7 Oct 2016 21:03:12 +0000 (21:03 +0000)]
Just remove freeing memory in pmcstat_cleanup, since we only clean up
when we are exiting anyway.

Add NULL checks for all malloc and strdup returns.

Reviewed by: gnn
Approved by: sjg (mentor)
Obtained from: Juniper Networks, Inc.
Differential Revision: https://reviews.freebsd.org/D8002

7 years agoCombine several checks in nd6_prefix_offlink() into one.
markj [Fri, 7 Oct 2016 21:02:30 +0000 (21:02 +0000)]
Combine several checks in nd6_prefix_offlink() into one.

MFC after: 1 week

7 years agoportsnap: use lam on the known good hash list
emaste [Fri, 7 Oct 2016 20:01:59 +0000 (20:01 +0000)]
portsnap: use lam on the known good hash list

This change is equivalent to the approach committed in r306417, but if
sed has a bug it could be exploited by the untrusted tar file. Instead,
generate the expected tar content and compare that with find's output.

convert the expected hash list to the expected tar content filesystem
layout, and compare that with find's output.

Submitted by: cperciva (in review D8052)
Reviewed by: oshogbo
MFC after: 2 weeks

7 years agocxgbetool: Add a loadcfg subcommand to allow a user to upload a firmware
np [Fri, 7 Oct 2016 19:13:29 +0000 (19:13 +0000)]
cxgbetool: Add a loadcfg subcommand to allow a user to upload a firmware
configuration file to the card.