MFC r261643, r261646, r261648, r261649, r261651, r261656, r261657, r261663,
    r261676, r261677, r261698, r261778

  Consolidate code related to setting up physical memory configuration into
  a new physmem.c file.

  Replace compile-time constant KERNPHYSADDR with abp_physaddr

  Calculate the kernel's load address from the PC in the elf / gzip
  trampoline instead of relying on KERNPHYSADDR as a compile-time constant.

  It turns out a global variable is the only straightforward way to
  communicate the kernel's physical load address from where it's known in
  initarm() into cpu_mp_start() which is called from non-arm code and
  takes no parameters.

  Remove the now unused MMU_INIT macro.

  Use vm_paddr_t, not vm_offset_t, when dealing with physical addresses.

  No need to set physmem in each initarm() instance anymore, it's handled
  in common code now.

  Pass the pagetable used from locore.S to initarm to allow it to map data
  in as required.

  Fix the physmem exclude-region clipping logic for the edge-trim case.

  Add some extra debugging output when DEBUG is defined.

  Update legacy platforms to use new arm_physmem helper routines.