[PATCH v2] ARM: xip: Use correct symbol for end of ROM marker

Geert Uytterhoeven geert at linux-m68k.org
Thu Nov 12 23:46:24 PST 2015


Hi Chris,

On Thu, Nov 12, 2015 at 10:01 PM, Chris Brandt <chris.brandt at renesas.com> wrote:
> For an XIP build, _edata_loc, not _etext, represents the end of the
> binary image that will be programmed into ROM and mapped into the
> MODULES_VADDR area.
> With an XIP kernel, nothing is loaded into RAM before boot, meaning
> you have to take into account the size of the entire binary image
> that was programmed, including the init data values that will be copied
> to RAM during kernel boot.
>
> This fixes the bug where you might lose the end of your kernel area
> after page table setup is complete.

Thanks for your patch!

> Signed-off-by: Chris Brandt <chris.brandt at renesas.com>
> ---
> v2
> * Added change for MODULES_VADDR
> * Moved extern to new file asm/sections.h
> ---
>  arch/arm/include/asm/sections.h |    8 ++++++++
>  arch/arm/kernel/module.c        |    2 +-
>  arch/arm/mm/mmu.c               |    4 ++--
>  3 files changed, 11 insertions(+), 3 deletions(-)
>  create mode 100644 arch/arm/include/asm/sections.h

If you create an arm-specific <asm/sections.h>, you also have to remove the
line

        generic-y += sections.h

from arch/arm/include/asm/Kbuild.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



More information about the linux-arm-kernel mailing list