MFC r255607:
In pmap_copy(), when the copied region is mapped with superpage but does
not cover entire superpage, avoid copying.

MFC r255620:
Merge the change r255607 from amd64 to i386.
MFC r255501

This is slightly modified from the FreeBSD/head version, to include
version checks for the scanning changes for not only FreeBSD/head
(1000039 and higher) but also stable/9 (902502 and higher).

  ------------------------------------------------------------------------
  r255501 | ken | 2013-09-12 16:06:12 -0600 (Thu, 12 Sep 2013) | 18 lines

  Fix an issue that caused Integrated RAID volumes on LSI mps(4) controllers
  to not get scanned on boot.

  The problem originated in change 253549.  With the change to the mps(4)
  driver to scan only targets that it knows it has (as opposed to scanning
  the entire bus), scanning RAID volumes on boot was omitted.

  So, for versions of FreeBSD that have the scanning changes
  (__FreeBSD_version 1000039 and higher), scan RAID volumes that are added
  whether or not we're booting.

  PR:             kern/181784
  Reported by:    Xiguang Wang <kurapica@gmail.com>
  Tested by:      Dennis Glatting <dg@pki2.com>
  Sponsored by:   Spectra Logic

PR:		kern/181784
MFC r254135:

Don't dereference null pointer should acl_alloc() be passed M_NOWAIT
and allocation failed.  Nothing in the tree passed M_NOWAIT.
MFC r254215:

In su(1), fix option ordering and clarify that the login class specified
must be defined in login.conf.
MFC r250706: A library function shall not set errno to 0.
MFC 240424,244582:
Improve check coverage about idle threads.

Idle threads are not allowed to acquire any lock but spinlocks.
Deny any attempt to do so by panicing at the locking operation
when INVARIANTS is on. Then, remove the check on blocking on a
turnstile.
The check in sleepqueues is left because they are not allowed to use
tsleep() either which could happen still.

On entering KDB backends, the hijacked thread to run
interrupt context can still be idlethread. At that point, without the
panic condition, it can still happen that idlethread then will try to
acquire some locks to carry on some operations.

Skip the idlethread check on block/sleep lock operations when KDB is
active.
MFC: r254005

- Fix a bug in the MSI allocation logic so an MSI is also employed if a
  controller supports only a single message. I haven't seen such an adapter
  out in the wild, though, so this change likely is a NOP.
  While at it, further simplify the MSI allocation logic; there's no need
  to check the number of available messages on our own as pci_alloc_msi(9)
  will just fail if it can't provide us with the single message we want.
- Nuke the unused softc of aacch(4).
MFC r255273,255282:

Align stacks of kernel threads correctly at 16-byte boundaries rather than
making sure they are all misaligned at +8 bytes. This fixes clang builds
of powerpc64 kernels (aside from a required increase in KSTACK_PAGES which
will come later).
release/9.2.0 has been created; call stable/9 'STABLE' again.
Update for when we hope to have 9.2-RELEASE ready.
MFC 249028:

The CTL block backend is broken without this.

  Fix sending virtual scatter/gather lists from the CTL CAM frontend
  peripheral.

  Sponsored by:	Spectra Logic
MFC r255844:
Ensure that the ERESTART return from the syscall reloads the registers,
to make the restarted syscall instruction pass the correct arguments.

PR:	kern/182161
MFC 244015:
  ------------------------------------------------------------------------
  r244015 | ken | 2012-12-07 21:16:07 -0700 (Fri, 07 Dec 2012) | 17 lines

  Fix the CTL OOA queue dumping code so that it does not hold a mutex
  while doing a copyout.  That can cause a panic, because copyout
  can trigger VM faults, and we can't handle VM faults while holding
  a mutex.

  The solution here is to malloc a separate buffer to hold the OOA
  queue entries, so that we don't risk a VM fault while filling up
  the buffer and we don't have to drop the lock.  The other solution
  would be to wire the user's memory while filling their buffer with
  copyout, but that would have been a little more complex.

  Also fix a debugging parenthesis issue in ctl_abort_task() pointed
  out by Chuck Tuffli.

  Sponsored by:   Spectra Logic Corporation
MFC r255566:
If the last page of the file is partially full and whole valid
portion is invalidated, invalidate the whole page.
MFC r255891:

Import NetBSD readline.c,v 1.104: do not crash with add_history(NULL).
MFC r255804:

Pull in r191165 from upstream llvm trunk:

  ISelDAG: spot chain cycles involving MachineNodes

  Previously, the DAGISel function WalkChainUsers was spotting that it
  had entered already-selected territory by whether a node was a
  MachineNode (amongst other things). Since it's fairly common practice
  to insert MachineNodes during ISelLowering, this was not the correct
  check.

  Looking around, it seems that other nodes get their NodeId set to -1
  upon selection, so this makes sure the same thing happens to all
  MachineNodes and uses that characteristic to determine whether we
  should stop looking for a loop during selection.

  This should fix PR15840.

Specifically, this fixes the long-standing assertion failure when
compiling the multimedia/gstreamer port on i386.  Thanks to Tijl
Coosemans for his help in getting upstream to fix it.