MFC r267520, r267521, r267522, r267523, r267524:

  - Remove two write-only local variables
  - Remove unused element in the vtnet_rxq structure
  - Remove kernel specific macro out of the VirtIO PCI header file
  - Move the VIRTIO_RING_F_* defines out of virtqueue.h into
    virtio_config.h
  - Make the feature negotiation code easier to follow
  - Force two byte alignment for all control message headers
MFC r267661, r267662, r267663:

  - Remove an unnecessary kick of the host at the end of transmitting
  - Handle multiple calls to rxq_eof for single packet completion
  - Increment the pending packets more aggressively for TSO
MFC r267491:
Use vn_io_fault for the writes from core dumping code.
MFC	r267692, r267703:
Add -u (unbuffered output) after GNU sed.

Obtained from:	NetBSD
MFC: r267967, r267968

- SC_NO_SYSMOUSE isn't currently supported by vt(4), so nuke it from vt.4.
- vt_vga(4) is a driver rather than a function so reference it accordingly.
- Uncomment HISTORY section given that vt(4) will first appear in 9.3.

Reviewed by:	emaste (modulo last part)
Sponsored by:	Bally Wulff Games & Entertainment GmbH
MFC r267767:
Add FPU_KERN_KTHR flag to fpu_kern_enter(9).
Apply the flag to padlock(4) and aesni(4).
In aesni_cipher_process(), do not leak FPU context state on error.
MFC r267815:
Put the aesni_cipher_setup() and aesni_cipher_process() functions into
the file which is compiled with SSE disabled.
MFC r267768:
Add documentation for the fpu_kern(9) interfaces.

MFC r267785 (by brueffer):
Several small fixes.
MFC r267854:
Add fpu_kern.9 man page to the install.
MFC: r267978

In order to get vt(4) a bit closer to the feature set provided by sc(4),
implement options TERMINAL_{KERN,NORM}_ATTR. These are aliased to
SC_{KERNEL_CONS,NORM}_ATTR and like these latter, allow to change the
default colors of normal and kernel text respectively.
Note on the naming: Although affecting the output of vt(4), technically
kern/subr_terminal.c is primarily concerned with changing default colors
so it would be inconsistent to term these options VT_{KERN,NORM}_ATTR.
Actually, if the architecture and abstraction of terminal+teken+vt would
be perfect, dev/vt/* wouldn't be touched by this commit at all.

Reviewed by:	emaste
Sponsored by:	Bally Wulff Games & Entertainment GmbH
MFC	r267627:
strptime: add support for %t and %n

Posix strptime() requires support for %t and %n, which were added
to the illumos port.  Curiously we were skipping white spaces by
default in most other cases making %t meaningless.

We now skip spaces in the case of the %e specifier as strftime(3)
explicitly adds a space for the single digit case.

Reference:
http://pubs.opengroup.org/onlinepubs/009695399/functions/strptime.html

PR:		173421
Obtained from:	Illumos (Rev. a11c1571b6942161b0186d0588609448066892c2)
MFC r267839:

Apply vendor fixes for big endian support and 20GBps/25GBps link speeds.

Many thanks to Emulex for their continued support of FreeBSD!

Submitted by: Venkata Duvvuru <VenkatKumar.Duvvuru Emulex.Com>
MFC r267378:

Fix path for zlib examples, this have no runtime effect and was
overlooked when I was doing zlib update.
MFC r267800:
Exclude IPv4 address from doing longest match.
It prevented DNS based load balancing.
MFC r267801: Make nd6_gctimer tunable.
MFC r267336:

PF_BLUETOOTH protocols: skip initialization of non-virtualized globals
for non-default VNET instances.

This fixes panic on a vnet initialization when ng_btsocket is loaded.
MFC r267981:

Pull in r211627 from upstream llvm trunk (by Bill Schmidt):

  [PPC64] Fix PR20071 (fctiduz generated for targets lacking that
  instruction)

  PR20071 identifies a problem in PowerPC's fast-isel implementation
  for floating-point conversion to integer.  The fctiduz instruction
  was added in Power ISA 2.06 (i.e., Power7 and later).  However, this
  instruction is being generated regardless of which 64-bit PowerPC
  target is selected.

  The intent is for fast-isel to punt to DAG selection when this
  instruction is not available.  This patch implements that change.
  For testing purposes, the existing fast-isel-conversion.ll test adds
  a RUN line for -mcpu=970 and tests for the expected code generation.
  Additionally, the existing test fast-isel-conversion-p5.ll was found
  to be incorrectly expecting the unavailable instruction to be
  generated.  I've removed these test variants since we have adequate
  coverage in fast-isel-conversion.ll.

This is needed to compile clang with debug+asserts on older powerpc64
and ppc970 targets.

Requested by:	jhibbits

MFC r267982:

Add the llvm patch for r267981.

MFC r268003:

Fix breakage after r267981.

Pointy hat to:	dim
Merge r268024, 268025:

 Fix a case in ndling ATA_PASSTHROUGH commands that have an unaligned buffer.
 This impacts some home-rolled SMART tools.

 In rare cases, a SATA drive can stop responding to commands and trigger a
 reset device task request from the driver.  If the drive fails to respond
 with a signature FIS, the driver would previously get into an endless retry
 loop, stalling all I/O to the drive and keeping user processes stranded.
 Instead, fail the i/o and invalidate the device if the task management
 command times out.  This is controllable with the sysctl and tunable
 hw.isci.fail_on_task_timeout
 dev.isci.0.fail_on_task_timeout

 The default for these is 1.

Obtained from:	Netflix, Inc.
Merge r266746, 266775:

 Now that there are separate back-end implementations of busdma, the bounce
 implementation shouldn't steal flags from the common front-end.
 Move those flags to the back-end.

 Eliminate the fake contig_dmamap and replace it with a new flag,
 BUS_DMA_KMEM_ALLOC.  They serve the same purpose, but using the flag
 means that the map can be NULL again, which in turn enables significant
 optimizations for the common case of no bouncing.

Obtained from:	Netflix, Inc.
Merge r265463:

 Due to reasons unknown at this time, the system can be forced to write
 a journal block even when there are no journal entries to be written.
 Until the root cause is found, handle this case by ensuring that a
 valid journal segment is always written.

 Second, the data buffer used for writing journal entries was never
 being scrubbed of old data.  Fix this.

Submitted by:	Takehara Mikihito
Obtained from:	Netflix, Inc.