MFC r256694, r256713, r256714.

r256694:
iw_cxgbe: iWARP driver for Chelsio T4/T5 chips.  This is a straight port
of the iw_cxgb4 found in OFED distributions.

r256713:
iw_cxgbe should have a dependency on t4nex.

r256714:
Fix typo in previous commit.

Approved by:	re (hrs)
MFC r256467:

Delete all of the old RDMA code (except krping, which was switched to
use sys/ofed some time back).  This has been sitting around as dead code
in the tree for a very long time.

Approved by:	re (hrs)
MFC 256813:

The Xen userland event channel driver isn't complete.  Disabled it
from the kernel build until it is ready.

sys/conf/files:
	Remove the entry for xen/evtchn/evtchn_dev.c so it is not included
	in any kernel builds.

Noticed by:	smh
Approved by:	re (hrs)
------------------------------------------------------------------------
MFC r256470:

Update krping to the latest upstream code.  Move all the FreeBSD
specific parts to krping_dev.c, which leaves the other files as
close to their upstream versions as possible.

Approved by:	re (glebius)
MFC: 256555

Move the resource allocation from the ata_*_probe section to the ata_*_attach
section. This prevents a boot crash on nearly all iMacs and PowerMacs/Books.

The allocation in the probe section was working before because ata_probe was
returning 0 which did not invoke a second DEVICE_PROBE. Now it returns
a BUS_PROBE_DEFAULT which can invoke a second DEVICE_PROBE which results in
a "failed to reserve resource" exit.

PR:	powerpc/182978
Approved by:	re(gjb)
MFC r256645.

Add a new capability, VM_CAP_ENABLE_INVPCID, that can be enabled to expose
'invpcid' instruction to the guest. Currently bhyve will try to enable this
capability unconditionally if it is available.

Consolidate code in bhyve to set the capabilities so it is no longer
duplicated in BSP and AP bringup.

Add a sysctl 'vm.pmap.invpcid_works' to display whether the 'invpcid'
instruction is available.

Approved by:	re (hrs)
MFC 256716,256835:

- Fix jail_parallel_start="YES".
- Fix ip[46].addr when interface parameter is not defined.
- Fix a bug which prevented jails from starting when $jail_conf was used and
  no jail name was specified.
- Display error messages when start/stop fails.

Approved by:	re (glebius)
MFC r256775,r256776:
  Add support for "first boot" rc.d scripts.

  Document this new functionality in rc.conf(5) and rc(8).

  Bump __FreeBSD_version so that ports can make use of this.

Approved by:	re (gjb)
MFC r256921:
  Thou shalt not leak build host state into the system being compiled.

Approved by:	re (gjb)
Revert r256944, which does not quite get the src/ directory correct.

Discussed with:	cperciva
Approved by:	re (implicit)
Pointyhat:	gjb
MFC r256773:
Enable the automatic creation of a certificate (if one does not exists)
and enable the usage by sendmail if sendmail is enabled.

Reviewed by:    gshapiro
Approved by:	re (gjb)
MFC r256687:

Upgrade to the latest version of mtree from NetBSD.  This revision
re-removes the printing of size for non-regular files, supports
type-less root (.) entries as seen in a couple ports, and corrects a bug
in -N that caused expanded Subversion $FreeBSD$ strings in comments to
be processed as /etc/group entries.

Includes one trivial portability fix (including <stdint.h> in three
files) that has been committed upstream.

Approved by:	re (glebius)
MFC r256450:

  Rename libbsdyml to libyaml, make private, and bump
  SHLIB_MAJOR to 1.0

Approved by:	bapt
Approved by:	re (glebius)
MFC r256833:

Drop cm_lock before calling mapper_close, which in turn could call
_citrus_mapper_close again and result in a deadlock otherwise.

This is similar to NetBSD PR/24023 (fixed in their r1.5 of this file).

PR:		bin/182994
Submitted by:	Fabian Keil <fk fabiankeil de>
Approved by:	re (hrs)
MFC r256548:
Correct programming of XXX_MAXP register. This register is 16-bit wide
and not 8-bit. Fix support for isochronous transfers in USB host mode.
Fix a whitespace while at it.

PR:		usb/181987
Approved by:	re (Xin Li)
MFC r256500:
Add new USB ID.

PR:		usb/182936
Approved by:	re (Xin LI)
Obtainedrom:
MFC r256533:
Unhide "Serial Number" lines from bootverbose.  That information may
be useful for system administration to have in hard copy (in logs) if
one of several devices suddenly dies.

Approved by:	re (hrs)
MFC r256552:
Unify periph invalidation and destruction reporting.
Print message containing device model and serial number on invalidation.

Approved by:	re (hrs)
MFC r256842:

  Fix 'make delete-old-libs' and 'make check-libs' to delete .debug
  files created by WITH_DEBUG_FILES. Also cleanup .symbols files from
  the period between r244236 when .symbols were supported and r251512
  when they were renamed to .debug.

  Only propose to delete a .debug file if the corresponding library
  itself was deleted already.

Approved by:	bapt
Approved by:	re (glebius)
MFC r256889:

Use the vdev's ashift to calculate the supported min block size passed to
zio_compress_data(..) when compressing l2arc buffers.

This eliminates L2ARC I/O errors, which resulted in very poor performance on
vdev's configured with block size greater than 512b due to compression
assuming a smaller min block size than the vdev supports.

Approved by:	re (glebius)