MFC r250286:
Some fixes to snd_envy24ht(4) driver:
 - Allow DMA addresses anywhere in the lower 4GB; Envy24HT has a 32-bit DMA
engine, not 28-bit like Envy24.
 - Mark interrupt handler as MPSAFE, seems to be correctly synchronized.

PR:		kern/152378
Submitted by:	Jason Harmening <jason.harmening@gmail.com>
MFC	r251336, r251344, r251346:

ext2fs: update Block Group Descriptor struct plus cosmetic fixes.
MFC r251318:
Remove irrelevant comments.
MFH (r247863): fix occasional SIGSEGV when an interface was added.
MFC r249115:
Adds security command to camcontrol which provides the ability to secure erase
SSD's

MFC r249153: (included in r251494)
mdoc: remove superfluous paragraph macro.
MFC r249895:
Add Host Protected Area (HPA) support to camcontrol

MFC r249904:
mdoc: remove superfluous paragraph macro.
MFC: r251368, r251382: Match the options of the kernel.
MFC r235647 for newsyslog (by gleb):
Hide DIR definition by making it an opaque struct typedef.

Introduce dirfd() libc exported symbol replacing macro with same name,
preserve _dirfd() macro for internal use.

Replace dirp->dd_fd with dirfd() call. Avoid using dirfd as variable
name to prevent shadowing global symbol.

MFC r250545:
Some filesystems (NFS in particular) do not fill out the d_type field when
returning directory entries through readdir(3). In this case we need to
obtain the file type ourselves; otherwise newsyslog -t will not be able to
find archived log files and will fail to both delete old log files and to
do interval-based rotations properly.

MFC r251240:
We want to stat the archived log file rather than the logfile itself.
MFC r250941:
Include descriptions of the flags and fields printed when dumping the IPv6
prefix list.
MFC r250939:
Correct the description of the -a option: rtsol(d) -a will in fact send out
router solicitations on multiple interfaces.

MFC r251059:
- Fix wording.
- Improve the descriptions in the FILES section.
MFC: r249213 (partial)

- Remove unused headers from the SRCS of some modules.
- Use __FBSDID.
- Use DEVMETHOD_END.
- Use NULL instead of 0 for pointers.
MFC: r251115

- Remove pointless returns.
- Make cm_data a void pointer and cm_flags unsigned as appropriate.
MFC: r251133

- Merge from r249476: Ensure that PCI bus BUS_GET_DMA_TAG() method sees
  the actual PCI device which makes the request for DMA tag, instead of
  some descendant of the PCI device, by creating a pass-through trampoline.
- Sprinkle const on tables.
- Use NULL instead of 0 for pointers.
- Take advantage of nitems().
MFC: r251142

- As a follow-up to r247565 (MFC'ed to stable/9 in r248036), make firmware
  images that do not require patching at runtime actually const.
- Remove pointless softc members by employing the corresponding constants
  directly.
- Remove pointless returns.
- Remove unnecessary inclusion of opt_device_polling.h.
- Replace an outdated and now bogus comment in bce_tick() with the
  appropriate one.
MFC: r251394

CAM_DEV_QFREEZE handling should only be done on request submission but
neither on completion nor by SIM drivers in the first place. This issue
has been revealed by r249466.
MFC: r251402 (partial)

Handle/mark/nuke unused arguments.
MFC: r251146 (partial)

- Do not supply arguments as pointers to bce_get_{pg,rx}_buf() that are not
  altered or actually needed there any longer.
- Honor errors passed to the DMA mapping callbacks.
- In bce_get_rx_buf(), do not reserve stack space for more DMA segments
  than actually necessary.
- In bce_rx_intr(), remove a pointless check for an empty mbuf pointer
  which can only happen in case of a severe programming error. Moreover,
  recovering from that situation would require way more actions with header
  splitting enabled (which it is by default).
- Fix VLAN tagging in the RX path; do not attach the VLAN tag twice if the
  firmware has been told to keep it. [1]

Obtained from:	OpenBSD [1]
MFC: r251159

- Checking for spurious interrupts is only necessary when using INTx.
  Actually, this may be further optimized for controller variants
  supporting one-shot MSIs but I'm lacking the necessary hardware for
  testing.
- Add some missing synchronization of the statistics and status DMA
  maps.
MFC r247221:
Merge part of r1712 from elftoolchain, making it possible to resize ELF
sections and indirectly change the layout of an ELF file when
ELF_F_LAYOUT is not set.
Merge remote-tracking branch 'upstream/stable/9' into stable/9