MFC r248687:
No need to erase all 64 bytes of CFIS area if we never use more then 16.
MFC r248698:
Depending on combination of running commands (NCQ/non-NCQ) try to avoid
extra read from PxCI/PxSACT registers.  If only NCQ commands are running, we
don't really need PxCI.  If only non-NCQ commands are running we don't need
PxSACT.  Mixed set may happen only on controllers with FIS-based switching
when port multiplier is attached, and then we have to read both registers.
MFC r248704:
Read Asynchronous Notification statuses only if Port Multiplier or ATAPI
device are connected. ATA disks are not using ANs, while the extra register
read operation is quite expensive.
MFC r249346:
Create controller-level DMA tag, handling range of supported addresses.
That simplifies logic for channels and gives the bus information about what
device actually allocated the tag.

Submitted by:	jhb
MFC r248690, r248706, 248708, r248752:
Dtrace: merge new functions from Illumos.

This covers illumos issues:

1455 DTrace tracemem() should take an optional size argument
1451 DTrace needs toupper()/tolower() subroutines
1457 lltostr() D subroutine should take an optional base
1694 Add type-aware print() action
3511 dtrace.c erroneously checks for memory alignment on amd64

This includes an enhanced print() described here:

http://dtrace.org/blogs/eschrock/2011/10/26/your-mdb-fell-into-my-dtrace/

This change bumps the DT_VERS_* number to 1.9.0 in
accordance to what is done in illumos.

Illumos Revisions:	13457:571b0355c2e3
			13458:5e394d8db762
			13459:c3454574dd1a
			13501:c3a7090dbc16
			13483:f413e6c5d297

Reference:
https://www.illumos.org/issues/1455
https://www.illumos.org/issues/1451
https://www.illumos.org/issues/1457
https://www.illumos.org/issues/1560
https://www.illumos.org/issues/1694
https://www.illumos.org/issues/3511

Tested by:	Fabian Keil
Obtained from:	Illumos
MFC: Merge sendmail 8.14.7
MFC: Update for sendmail 8.14.7
MFC: Minor changes to force commit these files so new freebsd*.cf files are
     built to use the new sendmail-8.14.7/cf tree.
Record sendmail 8.14.7 upgrade
MFC of r249848

PR:	174749, 157796
MFC r249349

Repair camcontrol output and use CAM defined values for string sizes
MFC r249801:
	Switch from K&R prototypes to modern C
MFC r249802:
	- sl_find does not modify 'name'
	- make the prototype of sl_find match NetBSD
MFC r249631

Attempt to mitigate poor initialization of arc4 by one-shot
reinitialization from yarrow right after good entropy is harvested.

Approved by:    secteam (delphij)
MFC r249787:
The zfs synctask code restructuring introduced a new bug that makes it
impossible to set quota and reservation on pools lower than version 22.
Problem has been reported and a solution discussed with vendor.

Illumos ZFS issues:
  3739 cannot set zfs quota or reservation on pool version < 22

Reviewed by:	Matthew Ahrens <mahrens@delphix.com>
Reported by:	Steve Wills <swills@FreeBSD.org>
MFC remainder of r249802 (eadler) to fix build:

- sl_find does not modify 'name'
- make the prototype of sl_find match NetBSD
MFC r249471: libc: Fix typo in French translation.

PR:		kern/177704
Submitted by:	martymac
MFC r248803: btowc(3), isblank(3): Correct prototypes for _l variants.
MFC r249233: mqueue,ksem,shm: Fix race condition with setting UF_EXCLOSE.

POSIX mqueue, compatibility ksem and POSIX shm create a file descriptor that
has close-on-exec set. However, they do this incorrectly, leaving a window
where a thread may fork and exec while the flag has not been set yet. The
race is easily reproduced on a multicore system with one thread doing
shm_open and close and another thread doing posix_spawnp and waitpid.

Set UF_EXCLOSE via falloc()'s flags argument instead. This also simplifies
the code.
MFC r248783

Add missing space