MFC: r239864

- Unlike cache invalidation and TLB demapping IPIs, reading registers from
  other CPUs doesn't require locking so get rid of it. As the latter is used
  for the timecounter on certain machine models, using a spin lock in this
  case can lead to a deadlock with the upcoming callout(9) rework.
- Merge r134227/r167250 from x86:
  Avoid cross-IPI SMP deadlock by using the smp_ipi_mtx spin lock not only
  for smp_rendezvous_cpus() but also for the MD cache invalidation and TLB
  demapping IPIs.
- Mark some unused function arguments as such.
Revert unintended part of r241681.
MFC: r239089

- Merge from NetBSD:
  When issuing a non-DMA command, make sure to set the "remaining length of
  command to be transferred via DMA" (sc_cmdlen) to zero up-front, otherwise
  we might get confused on command competition interrupt (no DMA active but
  still data left to transfer).
- Implement handling of MSG_IGN_WIDE_RESIDUE which some targets produce, as
  just rejecting these leads to a resend and disconnect loop.
  Reported and tested by: mjacob
MFC: r239941

Add a global MD macro for the VIS block size instead of duplicating
it and using magic values all over the place.
MFC 227429,228121,228124,228137,228140,228141,228147,228153,228158,228311,
241395,241396:
Various fixes to WITH_CTF:
- Conditionalize ctfconvert/ctfmerge runs on make level (.if/.endif)
  instead of executing a shell on every object or executable/library file.
- CTF knob is now implemented using common scheme: MK_CTF=yes/no is
  defined based on WITH/WITHOUT_CTF settings, default is WITHOUT_CTF,
  NO_CTF overrides WITH_CTF (used by Makefile.inc1)
- Add missing calls to ctfconvert/ctfmerge for various edge cases.
MFC r241602:

	Add a bunch more example completions.
Approved by:	cperciva (implicit)
MFC r241613:
	Add support for samsung HM250JI

PR:		usb/121474
Approved by:	cperciva (implicit)
MFC r241375:
Cast vendor-specific spell on VIA VT1818S codecs alike to VT1708S to
make analog input loopback and dual-stream playback work by enabling
signal mixing by nid 22, as it should be according to info returned by
the CODEC.  Otherwise pin nid 28 receives only signal from DAC nid 16.

PR:             kern/169124
MFC r241444:
Increase device CCB queue array size by CAM_RL_VALUES - 1 (4) elements.
It is required to store extra recovery requests in case of bus resets.
On ATA/SATA this fixes assertion panics on HEAD with INVARIANTS enabled or
possible memory corruptions otherwise if timeout/reset happens when device
CCB queue is already full.
MFC r241753:

Integrate changes from LSI vendor driver 10.80.00.005 to FreeBSD.

PR:		kern/172833
Submitted by:	"Charles O'Donnell" <cao bus net>
MFC r241280: make: report :M or :N pattern in debug mode
MFC r241297: zvol: set mediasize in geom provider right upon its creation
MFC r241507: Make a command for pkg_info changeable like
pkg_version in /etc/periodic/weekly/400.status-pkg to be
friendly with pkgng.
MFC r228120:

Allow NO_FOO to override WITH_FOO that could be specified in /etc/src.conf.

This is required to override knobs (e.g. WITH_PROFILE) during buildworld
stages in Makefile.inc1 (otherwise the build is stopped due to both WITH_FOO
and WITHOUT_FOO defined).

PR:		misc/172873
MFC r239382:

- Allow to pass extra parameters for each jails.
- To achieve above, convert jail(8) invocation to use new style
  command line "-c" flag.
MFC: r241679

It turns out that as documented, PCF8563_R_SECOND_VL (i.e. battery low)
doesn't automatically clear when VDD rises above Vlow again and needs to be
cleared manually. However, apparently this needs all of the time registers
to be set, i.e. pcf8563_settime(), and not just PCF8563_R_SECOND in order
for PCF8563_R_SECOND_VL to stick. Thus, we just issue a warning during
pcf8563_attach() rather than failing with ENXIO in case it is set.
MFC r241549:
Print the %rip value for uprintf_signal.
MFC r241550:
MFamd64: add machdep.uprintf_signal.
MFC r241556:
Add a KPI to allow to reserve some amount of space in the numvnodes
counter, without actually allocating the vnodes.

For KBI stability, the td_vp_reserv was moved to the end of struct thread.
MFC r236852: touch: Add the -d option from POSIX.1-2008.

This is much like -t but with a different format which is ISO8601-like and
allows fractions of a second.

The precision is limited to microseconds because of utimes() and friends,
even though stat() returns nanoseconds.