MFC r233389:

Add a sysctl to set and retrieve binary osreldate of another process.

Suggested by:	kib
Reviewed by:	kib
MFC r233390:

When displaying binary information show also osreldate.

Suggested by:	kib
MFC: r233827

Fix probing of SAS1068E with a device ID of 0x0059 after r232411 (MFC'ed
to stable/8 in r232563).
Reported by: infofarmer

MFC: r233886

Refine r233827; as it turns out, controllers with a device ID of 0x0059
can be upgraded to MegaRAID mode, in which case mfi(4) should attach to
these based on the sub-vendor and -device ID instead (not currently done).
Therefore, let mpt_pci_probe() return BUS_PROBE_LOW_PRIORITY.
While it, let mpt_pci_probe() return BUS_PROBE_DEFAULT instead of 0 in
the default case.
sh: Allow variables starting with underscores in arithmetic.

This is a direct commit because I do not want to merge the totally rewritten
arithmetic expression code from 9.x where this already works.

Example:
  _x=1; _x=$((_x+1))
MFC r232839: sh: Add a test for variables with underscores in arithmetic.
Guess at when we will be able to announce 8.3-RELEASE.
MFC r233284:
Update the firmware to version 0.236

Submitted by:	PseudoCylon
MFC: r229469

Add missing MSR programming for some events.

Submitted by:	me
Approved by:	gnn (mentor)
Update PMC events from October 2011 Intel documentation.

Approved by:	gnn (mentor)
MFC: r231805
Delete a couple of out of date comments that are no longer true in
the new NFS client.
MFC: r232050
hrs@ reported a panic to freebsd-stable@ under the subject line
"panic in 8.3-PRERELEASE" on Feb. 22, 2012. This panic was caused
by use of a mix of tsleep() and msleep() calls on the same event
in the new NFS server DRC code. It did "mtx_unlock(); tsleep();"
in two places, which kib@ noted introduced a slight risk that the
wakeup() would occur before the tsleep(), resulting in a 10sec
delay before waking up. This patch fixes the problem by replacing
"mtx_unlock(); tsleep();" with mtx_sleep(..PDROP..). It also
changes a nfsmsleep() call to mtx_sleep() so that the code uses
mtx_sleep() consistently within the file.
MFC: r2323467
The name caching changes of r230394 exposed an intermittent bug
in the new NFS server for NFSv4, where it would report ENOENT
when the file actually existed on the server. This turned out
to be caused by not initializing ni_topdir before calling lookup()
and there was a rare case where the value on the stack location
assigned to ni_topdir happened to be a pointer to a ".." entry,
such that "dp == ndp->ni_topdir" succeeded in lookup().
This patch initializes ni_topdir to fix the problem.
MFC r219418:

  Remove stray semicolon.  This fix appears in later upstream gdb versions.

PR:		gnu/136705
Submitted by:	eadler
MFC: r232327
Fix the NFS clients so that they use copyin() instead of bcopy(),
when doing direct I/O. This direct I/O code is not enabled by default.
MFC: 232612

 Properly mask off bits that are not supported in the IAP counters.
 This fixes a bug where users would see massively large counts, near
 to 2**64 -1, due to the bits not being cleared.
MFC: r233923

Fix a typo in GCC affecting calculations with -ffast-math.

The fix is similar to the one applied in GCC-4.3 in
GCCSVN-r117929 under the GPLv2.

Submitted by:	Andrey Simonenko
Reviewed by:	mm
Approved by:	jhb (mentor)
MFC r233100:
In vm_object_page_clean(), do not clean OBJ_MIGHTBEDIRTY object flag
if the filesystem performed short write and we are skipping the page
due to this.

Propogate write error from the pager back to the callers of
vm_pageout_flush().  Report the failure to write a page from the
requested range as the FALSE return value from vm_object_page_clean(),
and propagate it back to msync(2) to return EIO to usermode.

While there, convert the clearobjflags variable in the
vm_object_page_clean() and arguments of the helper functions to
boolean.

PR:	kern/165927
Tested by:	David Wolfskill
MFC r233102:
Do not claim that msync(2) is obsoleted [1].
Document EIO from msync(2).
MFC r233609, r233610:
Restore the writes of atimes, quotas and superblock from syncer vnode.
MFC r233585-233587:
r233585:
  Partially revert r223608 and selectively allow microcode loading
  for 82550C.  For 82550 controllers this change restores CPUSaver
  microcode loading.  Due to silicon bug on 82550 and 82550C with
  server extension, these controllers seem to require CPUSaver
  microcode to receive fragmented UDP datagrams.  However the
  microcode shouldn't be used on client featured 82550C as it locks
  up the controller.  In addition, client featured 82550C does not
  have the silicon bug.  Also clear temporary memory used for
  microcode loading since the same memory area is used for other
  commands.
  While I'm here use 82550C in probe message instead of generic
  82550.

  Reported by:	Andreas Longwitz <longwitz <> incore de>
  Tested by:	Andreas Longwitz <longwitz <> incore de>

r233586:
  Load entire EEPROM contents in device attach time and verify
  whether the checksum of EEPROM is valid or not.  Because driver
  heavily relies on EEPROM information when it selectively enables
  features/workarounds, it would be helpful to know whether driver
  sees valid EEPROM.
  While I'm here remove all other EEPROM accesses since the entire
  EEPROM is loaded at device attach time.

r233587:
  Remove unnecessary #if as the software workaround for PCI protocol
  violation should be activated unless the system is cold-booted
  after updating EEPROM.
  The PCI protocol violation happens only when established link is
  10Mbps so the workaround should be updated whenever link state
  change is detected.  Previously the workaround was activated only
  when user checks current media status with ifconfig(8).