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.