ARM: 7012/1: Set proper TEXT_OFFSET for newer MSMs
authorStephen Boyd <sboyd@codeaurora.org>
Thu, 11 Aug 2011 23:14:28 +0000 (00:14 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 13 Aug 2011 10:26:18 +0000 (11:26 +0100)
commit9e775ad19f52d70a53797b4d0eb740c52b0a9567
tree3136bbf2c8d26bc5c6791a96fdbc5540cc858ba5
parentc1becedc8871645278832fabdc6fe138082a495b
ARM: 7012/1: Set proper TEXT_OFFSET for newer MSMs

MSMs post 8x50 have 2Mb at the beginning of RAM reserved for
shared memory. Since the kernel hasn't typically been told this
RAM exists, PHYS_OFFSET has been set to 0xN0200000 and the memory
atags passed to the kernel have matched. This doesn't play nicely
with things such as AUTO_ZRELADDR, which doesn't work at all, and
dynamic phys to virt, which requires an MSM specific workaround.

Work around these issues by telling the kernel RAM starts at
0xN0000000 (it actually does) and fixup the atags from the
bootloader (if necessary) to say the same. In addition, make sure
to set TEXT_OFFSET at least 2Mb beyond the start of RAM so that
the kernel doesn't end up being decompressed into shared memory.

After doing this, AUTO_ZRELADDR should work on MSM with no
problems and ARM_PATCH_PHYS_VIRT_16BIT should no longer be
necessary.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: David Brown <davidb@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/Makefile
arch/arm/mach-msm/board-msm7x30.c
arch/arm/mach-msm/board-msm8960.c
arch/arm/mach-msm/board-msm8x60.c
arch/arm/mach-msm/include/mach/memory.h