MFC r268640 and r268989.

r268640:
Allow multi-byte reads in the private CHELSIO_T4_GET_I2C ioctl.  The
firmware allows up to 48B to be read this way but the driver limits
itself to 8B at a time to remain compatible with old cxgbetool
binaries.

r268989:
Add missing newline to an error message.
MFC	r268985, r269001:
Avoid possible cast degradation.

Assign iov_len first, avoiding the cast to uio_resid
(int in stdio) from degrading the value.

Small cosmetical fix while here.
MFC r261530

  Set the malloc alignment to 64 bytes on platforms that use the U-Boot API
  device drivers.  Recent versions of u-boot run with the MMU enabled, and
  require DMA-based I/O to be aligned to cache line boundaries.
MFC r263373, r268402

  Add a way to apply CFLAGS only when building the given architecture.  This
  is useful primarily on a system used for cross-building, when you have a
  set of flags to apply to the TARGET_ARCH being cross-built but don't want
  those settings applied to building the cross-tools or other components that
  run on the build host machine.

  Support CXXFLAGS.${MACHINE_ARCH} as well as CFLAGS.  This allows different
  C++ options for toolchain versus target when cross-building.
MFC r266565, r266651:

  Map device memory using PTE_DEVICE attributes, and also ensure that the
  shared flag is set on normal-memory mappings made via pmap_kenter() for SMP.

  The "shared flag" part of this change isn't obvious from the diff, here's
  the deal... by using the array of preformatted page table entry templates
  instead of constructing the PTE from scratch, we automatically get the
  right attribute bits set for both caching and shared.

  Fix whitespace glitches.
MFC r268401, r268495:

  Pending interrupt status is cleared by writing to the ISR, not the data reg.

  Use named constant rather than '0' to access the reset controller register.
MFC	r269016:
Fix mismatch.
MFC r269058:
Fix build with QUEUE_MACRO_DEBUG.
MFC r269081:
Fix typo.
MFC r268605:
Remove code separator lines which do not conform to style(9).
MFC r268606:
Generalize vn_get_ino() to allow filesystems to use custom vnode
producer. Convert inline copies of vn_get_ino() in msdosfs and cd9660
into the uses of vn_get_ino_gen().
MFC r268607:
In kern_linkat(), avoid passing doomed vnode to the VOP.
MFC r268608:
The tmpfs_link() must not dereference the filesystem-specific data for
a vnode until it is verified that the vnode indeed belongs to tmpfs mount.
MFC r268609:
Add some assertions for the code handling vm_object for tmpfs vnode.
MFC r268610:
Add convenience macro to assert tmpfs node lock.
MFC r268611:
Replace goto's with the return.
MFC r268612:
Add helper helper vfs_write_suspend_umnt().

Fix the bug in the FFS unmount, when suspension failed, the ufs
extattrs were not reinitialized.
MFC r268613:
Style.  Add comment about lock mode.
MFC r268614:
Use tmpfs_vn_get_ino_gen() to handle the races with reclaim in tmpfs
dotdot lookup.
MFC r268615:
Add OBJ_TMPFS_NODE flag.

MFC r268616:
Set the OBJ_TMPFS_NODE flag for vm_object of VREG tmpfs node.

MFC r269053:
Correct assertion. tmpfs vm object is always at the bottom of
the shadow chain.