• Stephen Boyd's avatar
    ARM: 7012/1: Set proper TEXT_OFFSET for newer MSMs · 9e775ad1
    Stephen Boyd authored
    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: default avatarStephen Boyd <sboyd@codeaurora.org>
    Acked-by: default avatarNicolas Pitre <nicolas.pitre@linaro.org>
    Acked-by: default avatarDavid Brown <davidb@codeaurora.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    9e775ad1
board-msm7x30.c 4.04 KB