MFC r275865:
Add configuration options to override physical and UNMAP blocks geometry.

While in most cases CTL should correctly fetch those values from backing
storages, there are some initiators (like MS SQL), that may not like large
physical block sizes, even if they are true.  For such cases allow override
fetched values with supported ones (like 4K).
MFC r275112:
Make isp_find_pdb_by_*() search for targets in portdb in reverse order.

Records with target_mode == 1 are allocated from the end of portdb, so it
seems logical to start search from the end not traverse whole array.
MFC r275118: Some microoptimizations.
MFC r275925: Slightly polish iSCSI parameters negotiation.
MFC r275920, r276127: Pass real optimal transfer size supported by backend.

For files and ZVOLs that is 1MB now, not 128K.
MFC r259675, r262128, r262129, r275605, r276239 and r276240:
Add more USB quirks.

PR:	178771
PR:	180617
PR:	195372
MFC r275790 and r275791:
Resolve USB driver identification conflict.
Regenerate etc/devd/usb.conf.
MFC r270190: Don't kill parallel jobs on (expected) failure of make_check.
MFC r275011:
The module load address always needs to be included when setting the dm_*_va
fields of dt_module_t. Previously, this was only done on architectures where
kernel modules have type ET_REL; this change fixes that. As a result, symbol
name resolution in the stack() action now works properly for kernel modules
on i386.
MFC r272671:
Treat D keywords as identifiers in certain postfix expressions. This allows
one to, for example, access the "provider" field of a struct g_consumer,
even though "provider" is a D keyword.

PR:	169657
MFC r274188, r274189:
 DMA tag alignment should be 1 (not 0) when a device can dma at any address.
MFC 276174:

Fix tunable and sysctl handling of the fail_on_task_timeout knob.

Reviewed by:    emax
Obtained from:  Netflix, Inc.
MFC r274926: Squelch a (bogus) gcc used before init warning
MFC r275960:
Increase allowed size of the microcode blob to 32KB.
MFC r275745:
Add facility to stop all userspace processes.

MFC r275753:
Fix gcc build.

MFC r275820:
Add missed break.
MFC r274538, r274545, r274596, r274602, r274603, r274604, r274605, r274839:

  When doing busdma sync ops for BUSDMA_COHERENT memory, there is no need
  for cache maintenance operations, but ensure that all prior writes have
  reached memory when doing a PREWRITE sync.

  Do not do a cache invalidate on a PREREAD sync that is also a PREWRITE sync.

  Do the cache invalidate sequence from the outermost to innermost, required
  for correct operation.

  Correct the sequence of busdma sync ops involved with PRE/POSTREAD syncs.

  When doing a PREREAD sync of an mbuf-type dma buffer, do a writeback of
  the first cacheline if the buffer start address is not on a cacheline
  boundary.
MFC r274412, r274413, r274414:  Bugfixes for imx5/6 pinctrl driver.
MFC r275906:

  Setgid before running a command as a specified user.  Previously only
  initgroups(3) was called, what isn't quite enough.  This brings jail(8)
  in line with jexec(8), which was already doing the right thing.

PR:		195984
MFC r274641, r274644, r274822, r276049:

  Allow i2c bus speed to be configured via hints, FDT data, and sysctl.

  Implement bus speed setting for OMAP4, AM335x, and imx5/6.

  Fix the i2c bus speed divisors for TI OMAP4 and AM335x to give the
  advertised 100, 400, and 1000 KHz speeds.

PR:		195009
MFC r274924, r274936:

  Consider the negation operator (!) to be a word even if it is not followed
  by whitespace.  This allows "optional !foo" which is what most programmers
  are naturally going to tend to do as opposed to "optional ! foo".

  Fix the negation (!) operator so that it binds only to the word that
  immediately follows it.