• Nicolas Pitre's avatar
    ARM: head-common.S: speed up startup code · 9520b1a1
    Nicolas Pitre authored
    Let's use optimized routines such as memcpy to copy .data and memzero
    to clear .bss in the startup code instead of doing it one word at a
    time. Those routines don't use any global data so they're safe to use
    even if .data and .bss segments are not initialized.
    
    In the .data copy case a temporary stack is installed in the .bss area
    as the actual kernel stack is located within the copied data area. The
    XIP kernel linker script ensures a 8 byte alignment for that purpose.
    
    Finally, make the .data copy and related pointers surrounded by
    CONFIG_XIP_KERNEL to make it obvious what it is all about. This will
    allow for further cleanups in the non-XIP linker script.
    Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
    Reviewed-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Tested-by: default avatarChris Brandt <Chris.Brandt@renesas.com>
    9520b1a1
vmlinux-xip.lds.S 6.7 KB