linux/arch/arm/mach-msm
Stephen Boyd 9e775ad19f 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>
2011-08-13 11:26:18 +01:00
..
include/mach ARM: 7012/1: Set proper TEXT_OFFSET for newer MSMs 2011-08-13 11:26:18 +01:00
acpuclock-arm11.c Fix common misspellings 2011-03-31 11:26:23 -03:00
acpuclock.h arm: msm: add cpu frequency controls 2010-05-12 09:14:20 -07:00
board-halibut.c msm: Clean up useless ifdefs 2011-01-28 11:28:23 -08:00
board-mahimahi.c msm: Clean up useless ifdefs 2011-01-28 11:28:23 -08:00
board-msm7x27.c Merge remote branch 'rmk/for-linus' into for-linus 2011-03-16 22:13:16 -07:00
board-msm7x30.c ARM: 7012/1: Set proper TEXT_OFFSET for newer MSMs 2011-08-13 11:26:18 +01:00
board-msm8x60.c ARM: 7012/1: Set proper TEXT_OFFSET for newer MSMs 2011-08-13 11:26:18 +01:00
board-msm8960.c ARM: 7012/1: Set proper TEXT_OFFSET for newer MSMs 2011-08-13 11:26:18 +01:00
board-qsd8x50.c msm: Remove extraneous ffa device check 2011-03-31 13:15:40 -07:00
board-sapphire.c Merge remote branch 'rmk/for-linus' into for-linus 2011-03-16 22:13:16 -07:00
board-trout-gpio.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
board-trout-mmc.c arm: Cleanup the irq namespace 2011-03-29 14:47:57 +02:00
board-trout-panel.c msm: initial framebuffer support 2010-12-15 14:13:18 -08:00
board-trout.c msm: clock: Migrate to clkdev 2011-02-28 12:40:17 -08:00
board-trout.h Add GPIO support for HTC Dream. 2010-06-15 13:19:43 -07:00
clock-7x30.h msm: clock: Migrate to clkdev 2011-02-28 12:40:17 -08:00
clock-debug.c msm: clock: Remove references to clk_ops_pcom 2011-02-28 12:40:05 -08:00
clock-pcom.c msm: clock: Remove references to clk_ops_pcom 2011-02-28 12:40:05 -08:00
clock-pcom.h msm: clock: Migrate to clkdev 2011-02-28 12:40:17 -08:00
clock.c msm: clock: Migrate to clkdev 2011-02-28 12:40:17 -08:00
clock.h msm: clock: Migrate to clkdev 2011-02-28 12:40:17 -08:00
devices-iommu.c msm: iommu: Remove dependency on IDR 2011-03-08 14:40:59 -08:00
devices-msm7x00.c msm: clock: Migrate to clkdev 2011-02-28 12:40:17 -08:00
devices-msm7x30.c msm: clock: Migrate to clkdev 2011-02-28 12:40:17 -08:00
devices-msm8960.c msm: serial: Add MSM8960 serial support 2011-01-28 12:27:21 -08:00
devices-qsd8x50.c msm: clock: Migrate to clkdev 2011-02-28 12:40:17 -08:00
devices.h msm: clock: Migrate to clkdev 2011-02-28 12:40:17 -08:00
dma.c msm: dma: add completion.h header 2010-06-07 16:16:33 -07:00
gpiomux-8x50.c msm: 8x50: Add initial support for SDCC 2011-01-21 16:58:02 -08:00
gpiomux-8x60.c msm: add gpiomux api for gpio multiplex & configuration. 2010-10-06 09:01:15 -07:00
gpiomux-v1.c msm: add gpiomux api for gpio multiplex & configuration. 2010-10-06 09:01:15 -07:00
gpiomux-v1.h msm: add gpiomux api for gpio multiplex & configuration. 2010-10-06 09:01:15 -07:00
gpiomux-v2.c msm: add gpiomux api for gpio multiplex & configuration. 2010-10-06 09:01:15 -07:00
gpiomux-v2.h msm: add gpiomux api for gpio multiplex & configuration. 2010-10-06 09:01:15 -07:00
gpiomux.c msm: add gpiomux api for gpio multiplex & configuration. 2010-10-06 09:01:15 -07:00
gpiomux.h msm: gpiomux: Move public API to public header 2011-08-01 04:58:00 -07:00
headsmp.S msm: headsmp.S: Fix section mismatch 2011-02-28 12:40:05 -08:00
hotplug.c msm: hotplug: support cpu hotplug on msm 2011-01-07 15:54:44 -08:00
idle.S
io.c msm: Remove chip-ifdefs for GPIO io mappings 2011-08-01 04:57:59 -07:00
irq-vic.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
irq.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
Kconfig Merge branch 'msm-move-gpio' of git://codeaurora.org/quic/kernel/davidb/linux-msm into gpio/next 2011-08-01 15:16:05 +01:00
last_radio_log.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
Makefile Merge branch 'msm-move-gpio' of git://codeaurora.org/quic/kernel/davidb/linux-msm into gpio/next 2011-08-01 15:16:05 +01:00
Makefile.boot
platsmp.c Merge branch 'next/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-25 11:53:35 -07:00
proc_comm.c arm: msm: smd: fix SMD modem processor sync condition 2010-05-12 09:19:33 -07:00
proc_comm.h arm: msm: smd: fix SMD modem processor sync condition 2010-05-12 09:19:33 -07:00
scm-boot.c msm: scm-boot: Support for setting cold/warm boot addresses 2011-01-07 15:54:43 -08:00
scm-boot.h msm: Use explicit GPLv2 licenses 2011-02-28 12:40:05 -08:00
scm.c Fix common misspellings 2011-03-31 11:26:23 -03:00
scm.h msm: Use explicit GPLv2 licenses 2011-02-28 12:40:05 -08:00
sirc.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
smd_debug.c msm: smd: ifdef adjustment to remove unused variables 2010-11-16 12:25:38 -08:00
smd_private.h arm: msm: smd: msm7x30 a2m clean up 2010-05-12 09:19:04 -07:00
smd.c msm: smd: Reduce driver log chatter 2010-11-16 12:23:56 -08:00
timer.c msm: timer: Fix DGT rate on 8960 and 8660 2011-06-20 16:30:07 -07:00
vreg.c [ARM] msm: add new vreg IDs for MSM7X30 2010-05-12 09:14:41 -07:00