MFC: 241780

- Give PIL_PREEMPT the lowest priority just above low/stray interrupts.
  The reason for this is that the SPARC v9 architecture allows nested
  interrupts of higher priority/level than that of the current interrupt
  to occur (and we can't just entirely bypass this model, also, at least
  for tick interrupts, this also wouldn't be wise). However, when a
  preemption interrupt interrupts another interrupt of lower priority,
  f.e. PIL_ITHREAD, and that one in turn is nested by a third interrupt,
  f.e. PIL_TICK, with SCHED_ULE the execution of interrupts higher than
  PIL_PREEMPT may be migrated to another CPU. In particular, tl1_ret(),
  which is responsible for restoring the state of the CPU prior to entry
  to the interrupt based on the (also migrated) trap frame, then is run
  on a CPU which actually didn't receive the interrupt in question,
  causing an inappropriate processor interrupt level to be "restored".
  In turn, this causes interrupts of the first level, i.e. PIL_ITHREAD
  in the above scenario, to be blocked on the target of the migration
  until the correct PIL happens to be restored again on that CPU again.
  Making PIL_PREEMPT the lowest real priority, this effectively prevents
  this scenario from happening, as preemption interrupts no longer can
  interrupt any other interrupt besides stray ones (which is no issue).
  Thanks to attilio@ and especially mav@ for helping me to understand
  this problem at the 201208DevSummit.
- Give PIL_STOP (which is also used for IPI_STOP_HARD, given that there's
  no real equivalent to NMIs on SPARC v9) the highest possible priority
  just below the hardwired PIL_TICK, so it has a chance to interrupt
  more things.
MFC: r241874

After r241858 (MFC'ed to stable/9 in r242286), remove the remainder of
FreeBSD ~4 support from mpt(4).
MFC: r241875

Remove support for using Giant for locking within mpt(4). Finer grained
locking has been working fine for ~5.5 years by now.
MFC: r244307

Restore pre-r234898 (MFC'ed to stable/9 in r236076) printing of boot loader
and path.
Revert r237842 (MFC'ed to stable/9 in r238012) and switch back to
SCHED_ULE. All problems I encountered with the latter have been
fixed with r241780 (MFC'ed to stable/9 in r245981).
MFC: r244986

Remove bogus '-' from getopt(3) string hit when porting daemon(8) to
GNU/Linux *duck*.
MFC r245057, r245688

  - Fix handling of the case when multiple patterns are specified in a single
    command line argument, separated by newlines
MFC: r244987

Fix !INVARIANTS && !SMP build.
MFC: r244990

- Fix !SMP build.
- Replace incorrect function names in printf(9) strings with __func__.
- Make xctrl_shutdown_reasons table const.
- Use nitems() rather than rolling an own version.
- Use DEVMETHOD_END.
- Use NULL rather than 0 for pointers.
MFC: r244991

- Replace partially incorrect function names in panic(9) strings with
  __func__ and add some missing ones.
- Remove a stale comment.
- Remove unused NUM_ELEMENTS macro.
- Remove extra empty lines.
- Use DEVMETHOD_END.
- Use NULL rather than 0 for pointers.
MFC: r244993

Remove files not connected to the build. It's confusing enough that
we still have two not quite the same evtchn.c left over.
MFC: r245017

Revert bogus part of r241740 (MFC'ed to stable/9 in r241878).
Reported by:	Michael Moll
MFC: r245850

Revert the part of r239864 (MFC'ed to stable/9 in r241681) which removed
obtaining the SMP mutex around reading registers from other CPUs. As it
turns out, the hardware doesn't really like concurrent IPI'ing causing
adverse effects. Also the thought deadlock when using this spin lock here
and the targeted CPU(s) are also holding or in case of nested locks can't
actually happen. This is due to the fact that on sparc64, spinlock_enter()
only raises the PIL but doesn't disable interrupts completely. Thus direct
cross calls as used for the register reading (and all other MD IPI needs)
still will be executed by the targeted CPU(s) in that case.
MFC: r245923

- Check the return value of taskqueue_start_threads().
- At least the Saturn chips of 501-6738 cards need a delay after freezing
  the external GMII pins before the internal PHY is accessible again. So
  wait a bit after (un)freezing these. Also don't touch the other bits of
  that configuration register. [1]
- Take advantage of nitems().

Reported and tested by: Paul Keusemann [1]
MFC r245725:
Add new quirk and correct old one.

PR:		usb/175454
MFC after:	1 week
Add notes for breakage points for traditional building of the kernel
as a guide to others. buildkernel, etc was not broken at these points,
so document that as well.
Add pointer from recent breakage to old breakage.
MFC: r245314 and r245315:
     r245315 | imp | 2013-01-11 14:42:23 -0700 (Fri, 11 Jan 2013) | 4 lines

     Pass the device_t into atkbd_{probe,attach}_unit and get the
     controller unit and keyboard unit from there. It will be needed
     for other things in the future as well...

     r245314 | imp | 2013-01-11 14:19:45 -0700 (Fri, 11 Jan 2013) | 2 lines

     style(9) changes before I do more real changes.
MFC	r245820, r245844, r245950:

ext2fs: make some inode fields match the ext2 spec.

Ext2fs uses unsigned fields in its dinode struct.
FreeBSD can have negative values in some of those
fields and the inode is meant to interact with the
system so we have never respected the unsigned
nature of most of those fields.

Block numbers and the generation number do
not need to be signed so redefine them as
unsigned to better match the on-disk information.

Include some fixes proposed by bde@.

While here add a lot of svn mergeinfo that was missing
in /sys:

r239963,240060,240880,241007,241141,241143,241181,243641,
243652,244475,245121,245612,245817
Clean some 'svn:executable' properties in the tree.

Submitted by:	Christoph Mallon

While here, merge some other mergeinfo properties that
were left behind from my commits

/head/include:r241008,241141,241181
/head/contrib/gcc:r244776,244792
/head/cddl:r238457,238509,238558