ARM: topdown mmap support

Similar to other architectures, this adds topdown mmap support in user
process address space allocation policy. This allows mmap sizes greater
than 2GB. This support is largely copied from MIPS and the generic
implementations.

The address space randomization is moved into arch_pick_mmap_layout.

Tested on V-Express with ubuntu and a mmap test from here:
https://bugs.launchpad.net/bugs/861296

Signed-off-by: Rob Herring <rob.herring@calxeda.com>

[ The fact that the randomization is moved to arch_pick_mmap_layout is
  greatly weakening its effectiveness.  I'm merging this patch regardless
  in order to give the actual fix (allow >2GB mmap) more exposure in the
  mean time.  --np ]

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
3 files changed