summaryrefslogtreecommitdiff
path: root/arch/arm/kernel/vmlinux.lds.S
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2017-08-24 15:54:47 -0400
committerNicolas Pitre <nicolas.pitre@linaro.org>2017-09-10 19:34:52 -0400
commit9520b1a1b5f7a34888e14de3cf2ee0ee5344e9fe (patch)
tree08d9c67e778a425d93af10bbaad866f61f447b1f /arch/arm/kernel/vmlinux.lds.S
parent569dbb88e80deb68974ef6fdd6a13edb9d686261 (diff)
ARM: head-common.S: speed up startup code
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: Nicolas Pitre <nico@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Tested-by: Chris Brandt <Chris.Brandt@renesas.com>
Diffstat (limited to 'arch/arm/kernel/vmlinux.lds.S')
0 files changed, 0 insertions, 0 deletions