[SPARC64]: Top-down address space allocation for 32-bit tasks.
authorDavid S. Miller <davem@sunset.davemloft.net>
Fri, 17 Mar 2006 22:41:03 +0000 (14:41 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 20 Mar 2006 09:16:35 +0000 (01:16 -0800)
commita91690ddd05ab0b7fbdd37733875525ac75c20f2
treef6937c0ce29c79078d6df8346a374a7b9947f360
parentb5e7ae5dd034c2c0ed75c31fca04a805097817bc
[SPARC64]: Top-down address space allocation for 32-bit tasks.

Currently allocations are very constrained for 32-bit processes.
It grows down-up from 0x70000000 to 0xf0000000 which gives about
2GB of stack + dynamic mmap() space.

So support the top-down method, and we need to override the
generic helper function in order to deal with D-cache coloring.

With these changes I was able to squeeze out a mmap() just over
3.6GB in size in a 32-bit process.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/binfmt_aout32.c
arch/sparc64/kernel/sys_sparc.c
include/asm-sparc64/pgtable.h
include/asm-sparc64/processor.h