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@xxxxxxxxxxxxxx> > Cc: Nicolas Pitre <nico@xxxxxxxxxxx> [..] > +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@xxxxxxxxxx> Nicolas -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html