lkml.org 
[lkml]   [2011]   [Jul]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] ARM: Set proper TEXT_OFFSET for newer MSMs
On Sun, 24 Jul 2011, Stephen Boyd wrote:

> 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>
> Cc: Nicolas Pitre <nico@fluxnic.net>

[..]

> +static void __init msm7x30_fixup(struct machine_desc *desc, struct tag *tag,
> + char **cmdline, struct meminfo *mi)
> +{
> + for (; tag->hdr.size; tag = tag_next(tag))
> + if (tag->hdr.tag == ATAG_MEM && tag->u.mem.start == 0x200000)
> + tag->u.mem.start = 0;
> +}

Don't you need to also increase tag->u.mem.size by 2MB ?

Other than that:

Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>


Nicolas


\
 
 \ /
  Last update: 2011-07-24 21:59    [W:1.024 / U:0.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site