MFC: r266792

Fix DMA handling in radeon_dummy_page_init():
- Based on actual usage and on what Linux does, dummy_page.addr should
  contain the physical bus address of the dummy page rather than its
  virtual one. As a side-effect, correcting this bug fixes compilation
  with PAE support enabled by getting rid of an inappropriate cast.
- Also based on actual usage of dummy_page.addr, theoretically Radeon
  devices could do a maximum of 44-bit DMA. In reality, though, it is
  more likely that they only support 32-bit DMA, at least that is what
  radeon_gart_table_ram_alloc() sets up for, too. However, passing ~0
  to drm_pci_alloc() as maxaddr parameter translates to 64-bit DMA on
  amd64/64-bit machines. Thus, use BUS_SPACE_MAXSIZE_32BIT instead,
  which the existing 32-bit DMA limits within the drm2 code spelled as
  0xFFFFFFFF should also be changed to.

Reviewed by:	dumbbell
Sponsored by:	Bally Wulff Games & Entertainment GmbH
MFC: r266793, r266799, r266808

- Fix compilation with PAE support enabled by merging r233362 and, thus,
  doing away with the unnecessary uint8_t pointer casting.
  physical addresses.
- Nuke the unused softc of emujoy(4).
- Use DEVMETHOD_END.
- Use NULL instead of 0 for pointers.

Sponsored by:	Bally Wulff Games & Entertainment GmbH
MFC r266798 and r266803:
Fix for big-endian architectures.
MFC r266664:
Add empty LIBUSB_CALL macro, to be compatible to the libusb 1.0-API
from sourceforge.

PR:		usb/190204
MFC: r266820 (partial)

- Shrink the list of excluded modules to what actually still doesn't build
  as of r267043.
- Some style cleanups.
MFC: r266821 (partial)

- Actually, modules are built correctly when compiled along the kernel as
  they then pick up an opt_global.h from KERNBUILDDIR having PAE defined.
  Thus, build all modules by default except those which still really are
  defective as of r267043.
- Minor style cleanup.
MFC r266107,r266108,r266109:

Here is a patch for the bsdinstall root-on-zfs stuff that adds optional
encryption for swap, and optional gmirror for swap (which can be combined)

Updates to the datasets created by zfsboot.

Set compress=lz4 for the entire pool, removing it from the individual
datasets

Remove exec=no from /usr/src, breaks the test suite.

Fix the "disks" variable reuse.

It starts off being used to track the grammar for the number of disks
(singular vs plural) and then it is reused as the list of available disks.

Replace the variable with disks_grammar and move 'disk' and 'disks' to
msg_ vars so they can be translated in the future.

Submitted by:	Allan Jude <freebsd@allanjude.com>
Reviewed by:	roberto
Sponsored by:	ScaleEngine Inc.
MFC r266780:
Remove the assert which can be triggered by the userspace.
Fix syntax error thrown at the point of creating the root pool, caused by
an embedded newline appearing within the options string surrounded by
double-quotes. Rework the logic that goes into setting dataset options on
the root pool dataset while we're here -- added two new variables (which
can be altered via scripting) ZFSBOOT_POOL_CREATE_OPTIONS and also
ZFSBOOT_BOOT_POOL_CREATE_OPTIONS for setting pool/dataset attributes at
the time of pool creation. The former is for setting options on the root
pool (zroot) and the latter is for setting options on the optional separate
boot pool (bootpool) implicitly enabled when using either GELI or MBR. The
default value for the root pool variable (ZFSBOOT_POOL_CREATE_OPTIONS) is
"-O compress=lz4 -O atime=off" and the default value for separate boot pool
variable (ZFSBOOT_BOOT_POOL_CREATE_OPTIONS) is NULL (no additional options
for the separate boot pool dataset).

Reviewed by:	allanjude
MFC 263772: Fix build without SMP.

PR:		187854
MFC 260972:
There is no need to initialize the IOMMU if no passthru devices have been
configured for bhyve to use.
MFC 260999:
Increase the block-layer backend maximum number of requests to match
the AHCI command queue depth.
MFC 266281:
Clear the data buffer length field when freeing a command structure so that
it doesn't leak through when the command structure is reused for a user
command without a data buffer.

PR:		189668
MFC r266846:
When usermode loaded non-default segment selector into the %gs,
correctly prepare KGSBASE msr to restore the user descriptor base on
the last swapgs during return to usermode.
MFC r266848:
Add support for the unmapped i/o to mfi(4).
MFC r266828:

Correct the description of characters allowed.  Based on pw_checkname in
usr.sbin/pw/pw_user.c.  Modified version of patch submitted by
venture37.
MFC r266538:
Make ng_mppc to not disable the node in case of multiple packet loss.
Quite often it can be just packet reorder, and killing link in such case
is inconvenient.  Add few sysctl's to control that behavior.

PR:		kern/182212
Submitted by:	Eugene Grosbein <egrosbein@rdtc.ru>
MFC r266859:

  Change examples to have master skew above 0 to have ability to overwrite this
  from the slave (for example, when master is failing on disk IO and could not be
  logged into or execute cronjob).

  Commented out examples changed too to simplify future merging.

  Idea by:        kaa@zvuki.ru
  Discussed with: glebius
Fix OpenSSL multiple vulnerabilities.

Security:	CVE-2014-0195, CVE-2014-0221, CVE-2014-0224,
		CVE-2014-3470
Security:	SA-14:14.openssl
Fix mismerge in r267049 and put makeoptions DEBUG=-gdwarf-2 instead of
DEBUG=-g back.
Still, the original comment should be restored in head and then be MFCed
along with r263749.