Import from rebasing repo at b78b6b80
Import from rebasing repo at b78b6b80 (new files)
Change a very strange code in m_demote() to simple assertion.

Sponsored by:	Nginx, Inc.
Satisfy assertion in m_demote().

Sponsored by:	Nginx, Inc.
Stop setting the iomux device status to disabled, now that we have a driver.
Update bindings to latest vendor branch representing 3.17-rc2 level of
Linux DTS API.
Add mrsas(4) to GENERIC for i386 and amd64.

Approved by:	ambrisko, kadesai
MFC after:	3 days
Properly trim the vendor tree to include only those files that we want
merged into FreeBSD. Cherry picking from a full vendor tree was too
hard and lead to undestirable svn results.

Note: We only tim the dts* files, we don't trim the dt-bindings tree,
since having all of them causes no problems and the benefit to
trimming there is far out weighed by the cost of doing the trim each
time.
Delete old arm dts tree. This was created by cherry picking from a
full vendor tree. This worked great until it was time to update, but
now it is time to update. Hit the rest button by removing this branch
and re-adding it by a full copy of whatever is in the vendor tree.
Allow multiple image activators to run on the same execution by changing
imgp->interpreted to a bitmask instead of, functionally, a bool. Each
imgactivator now requires its own flag in interpreted to indicate whether
or not it has already examined argv[0].

Change imgp->interpreted to an unsigned char to add one extra bit for
future use.

With this change, one can execute a shell script from a 64bit host native
make and still get the binmisc image activator to fire for the script
interpreter.  Prior to this, execution would fail.

Phabric:	https://reviews.freebsd.org/D696
Reviewed by:	jhb@
MFC after:	4 weeks
Reimport dts files from vendor repo now that it has been properly
trimmed.
sh: Allow enabling job control without a tty in non-interactive mode.

If no tty is available, 'set -m' is still useful to put jobs in their own
process groups.
Fix a bug which prevented mount.fstab parameter from being converted
when jail_JID_devfs_enable=NO.

Spotted by:	peter
Separate out PCI attachment from the main AHCI driver. Move checks of
PCI IDs into quirks, which mostly fit (though you'd get no argument
from me that AHCI_Q_SATA1_UNIT0 is oddly specific). Set these quirks
in the PCI attachment. Make some shared functions public so that PCI
and possibly other bus attachments can use them.

The split isn't perfect yet, but it is functional. The split will be
perfected as other bus attachments for AHCI are written.

Sponsored by: Netflix
Reviewed by: kan, mav
Differential Revision: https://reviews.freebsd.org/D699
Remove an initialized, but otherwise, unused variable.
use a straight buffer instead of an iov w/ 1 segment...  The aesni
driver when it hits a mbuf/iov buffer, it mallocs and copies the data
for processing..  This improves perf by ~8-10% on my machine...

I have thoughts of fixing AES-NI so that it can better handle segmented
buffers, which should help improve IPSEC performance, but that is for
the future...
Apply known workarounds for modern MacBooks.

The legacy USB circuit tends to give trouble on MacBook.
While the original report covered MacBook, extend the fix
preemptively for the newer MacBookPro too.

PR:		191693
Reviewed by:	emaste
MFC after:	5 days
Bring in forgotten pinfunc.h files from last import.
Merge forgotten .h files from vendor branch.
Partially revert r271012.

Incredibly weird: GCC 4.7/4.9 do support the _Noreturn and _Thread_local
keywords, but not during bootstrapping. GCC is by far the weirdest
compiler that I've ever used.

Reported by:	andreast@