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.
MFC r255869:

Add PCI device ID for MegaRAID Invader cards.  This was the only
change needed to make it work on my card.
MFC r256188:
Close the race on path ID allocation in xpt_bus_register() if two buses are
registered simultaneously. Due to topology unlock between the ID allocation
and the bus registration there is a chance that two buses may get the
same IDs. That is supposed reason of lock assertion panic in CAM during
initial bus scanning after new iscsid initiates two sessions same time.
MFC r241082:
Inherit USB mode from RootHUB port where the USB device is connected.
Only RootHUB ports can be dual mode. Disallow OTG ports on external HUBs.
This simplifies some checks in the USB controller drivers.
MFC r252912, r254828 and r256548:
Add host mode support to the Mentor Graphics USB OTG controller driver.

PR:		usb/181987
MFC r256500:
Add new USB ID.

PR:		usb/182936
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.
MFC r256552:
Unify periph invalidation and destruction reporting.
Print message containing device model and serial number on invalidation.
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
MFC r256317:
Fix mode page length calculation to remove last garbage line from the
`camcontrol mode daX -l` output.
MFC r256750:
Improve XHCI stability. When a command timeout happens, the command
should be aborted else the command queue can stop. Refer to section
"4.6.1.2" of the XHCI specification.
MFC r256925:

Add a dummy statement to the beginning of the pthread_cleanup_pop() macro
to allow a call of the macro to be labelled as in:

label:
  pthread_cleanup_pop();

Reviewed by:	imp
MFC r253816: MFV r253780:

To quote Illumos #3875:

The problem here is that if we ever end up in the error
path, we drop the locks protecting access to the zfsvfs_t
prior to forcibly unmounting the filesystem. Because z_os
is NULL, any thread that had already picked up the zfsvfs_t
and was sitting in ZFS_ENTER() when we dropped our locks
in zfs_resume_fs() will now acquire the lock, attempt to
use z_os, and panic.

Illumos ZFS issues:
  3875 panic in zfs_root() after failed rollback
MFC r256501:
Remove two instances of ARGSUSED comment, and wrap lines nearby the
code that is to be changed.
MFC r256502:
Similar to debug.iosize_max_clamp sysctl, introduce
devfs_iosize_max_clamp sysctl, which allows/disables SSIZE_MAX-sized
i/o requests on the devfs files.
MFC r256504:
Add a sysctl kern.disallow_high_osrel which disables executing the
images compiled on the world with higher major version number than the
high version number of the booted kernel.  Default to disable.
MFC r256157:

Now our binutils's assembler supports the Intel Random Number Generator
extensions, we can change the .byte directives in sys/dev/random/ivy.c
to plain 'rdrand' mnemonics.  This already worked for clang users, but
now it will also work for gcc users.

Approved by:	so (des)
MFC r256646, r256767, r257038:
  When installing updates, install new directories first and remove old
  directories last.

  Allow ~ in file names so libtool droppings in contrib don't break updates.
  It has happened twice now, and is likely to happen again.

  Be more selective when filtering for lib*.so.N files.  These are deleted
  at the end of the upgrade process, after warning users to upgrade any
  3rd party software (e.g., from the ports tree) which might link to the
  libraries being removed.

Errata Notice:  FreeBSD-EN-13:04.freebsd-update
MFC r243731,r255303: libc: Allow setting close-on-exec in fopen/freopen/
fdopen.

This commit adds a new mode option 'e'.

For freopen() with a non-NULL path argument and fopen(), the close-on-exec
flag is set iff the 'e' mode option is specified. For freopen() with a NULL
path argument and fdopen(), the close-on-exec flag is turned on if the 'e'
mode option is specified and remains unchanged otherwise.

Although the same behaviour for fopen() can be obtained by open(O_CLOEXEC)
and fdopen(), this needlessly complicates the calling code.

PR:		kern/169320
MFC r255301: libc/stdio: Provide proper TAP output for fmemopen/
open_memstream/open_wmemstream.

A *.t file should provide Test Anything Protocol output so that it can be
run using the Perl "prove" tool.