wii: use both mem1 and mem2 as ram
authorAlbert Herranz <albert_herranz@yahoo.es>
Sat, 12 Dec 2009 06:31:53 +0000 (06:31 +0000)
committerGrant Likely <grant.likely@secretlab.ca>
Sun, 13 Dec 2009 05:24:31 +0000 (22:24 -0700)
commitde32400dd26e743c5d500aa42d8d6818b79edb73
tree5fee868e4fac044dca4fb3a18532b67b62c90c96
parent02d748a9ee56735641bade9b734dc2fa9be4df4c
wii: use both mem1 and mem2 as ram

The Nintendo Wii video game console has two discontiguous RAM regions:
- MEM1: 24MB @ 0x00000000
- MEM2: 64MB @ 0x10000000

Unfortunately, the kernel currently does not support discontiguous RAM
memory regions on 32-bit PowerPC platforms.

This patch adds a series of workarounds to allow the use of the second
memory region (MEM2) as RAM by the kernel.
Basically, a single range of memory from the beginning of MEM1 to the
end of MEM2 is reported to the kernel, and a memory reservation is
created for the hole between MEM1 and MEM2.

With this patch the system is able to use all the available RAM and not
just ~27% of it.

This will no longer be needed when proper discontig memory support
for 32-bit PowerPC is added to the kernel.

Signed-off-by: Albert Herranz <albert_herranz@yahoo.es>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
arch/powerpc/mm/init_32.c
arch/powerpc/mm/mmu_decl.h
arch/powerpc/mm/pgtable_32.c
arch/powerpc/mm/ppc_mmu_32.c
arch/powerpc/platforms/embedded6xx/wii.c