u-boot/arch/arm/lib
Benoît Thébaudeau a7f99bf139 arm: Fix _start for CONFIG_SYS_DV_NOR_BOOT_CFG
The boards using CONFIG_SYS_DV_NOR_BOOT_CFG (i.e. calimain,
da850evm_direct_nor and enbw_cmc) had the _start symbol defined after
the CONFIG_SYS_DV_NOR_BOOT_CFG word rather than before it in
arch/arm/lib/vectors.S. Because of that, if by lack of luck
'gd->mon_len = (ulong)&__bss_end - (ulong)_start' (see setup_mon_len())
was a multiple of 4 kiB (see reserve_uboot()), then the last BSS word
overlapped the first word of the following reserved RAM area (or went
beyond the top of RAM without such an area) after relocation because
__image_copy_start did not match _start (see relocate_code()).

This was broken by commit 41623c9 'arm: move exception handling out of
start.S files', which defined _start twice (before and after the
CONFIG_SYS_DV_NOR_BOOT_CFG word), then by commit 0a26e1d 'arm: fix a
double-definition error of _start symbol', which kept the definition of
the _start symbol after the CONFIG_SYS_DV_NOR_BOOT_CFG word. This new
commit fixes this issue by restoring the original behavior, i.e. by
defining the _start symbol before the CONFIG_SYS_DV_NOR_BOOT_CFG word.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Manfred Rudigier <manfred.rudigier@omicron.at>
Cc: Christian Riesch <christian.riesch@omicron.at>
Cc: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Cc: Heiko Schocher <hs@denx.de>
2014-09-11 18:04:39 +02:00
..
_ashldi3.S Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
_ashrdi3.S Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
_divsi3.S cosmetic: remove empty lines at the top of file 2013-11-08 09:41:37 -05:00
_lshrdi3.S Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
_modsi3.S cosmetic: remove empty lines at the top of file 2013-11-08 09:41:37 -05:00
_udivsi3.S Move lib_$ARCH directories to arch/$ARCH/lib 2010-04-13 09:13:03 +02:00
_umodsi3.S Move lib_$ARCH directories to arch/$ARCH/lib 2010-04-13 09:13:03 +02:00
asm-offsets.c kbuild: move asm-offsets.c from SoC directory to arch/$(ARCH)/lib 2014-03-28 15:06:29 -04:00
board.c arm: fdt_control: fix a build error with CONFIG_OF_EMBED=y 2014-06-05 14:38:38 -04:00
bootm-fdt.c ARM: HYP/non-sec/PSCI: emit DT nodes 2014-07-28 17:19:52 +02:00
bootm.c arm64: Correct passing of Linux kernel args 2014-08-30 07:46:40 -04:00
cache-cp15.c ARM: Fix overflow in MMU setup 2014-08-30 07:46:39 -04:00
cache-pl310.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cache.c ARM: cache_v7: use __weak 2014-07-04 19:57:22 +02:00
crt0.S arm: Support pre-relocation malloc() 2014-08-04 05:24:35 -06:00
crt0_64.S arm64: core support 2014-01-09 16:08:44 +01:00
div0.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
eabi_compat.c eabi_compat: add __aeabi_memcpy __aeabi_memset 2014-09-09 13:51:11 +02:00
gic_64.S arm64 patch: gicv3 support 2014-04-08 00:15:12 +02:00
interrupts.c ARM: add missing HYP mode constant 2014-07-28 17:06:35 +02:00
interrupts_64.c arm64: core support 2014-01-09 16:08:44 +01:00
Makefile arm: Add support for semihosting for armv8 fastmodel targets. 2014-07-03 08:35:45 +02:00
memcpy.S arm: lib: memcpy: Do not copy to same address 2011-09-03 22:40:45 +02:00
memset.S arm: Use optimized memcpy and memset from linux 2011-04-27 19:38:07 +02:00
relocate.S Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
relocate_64.S armv8/cache: Flush D-cache, invalidate I-cache for relocation 2014-04-07 17:43:36 +02:00
reset.c arm:reset: call the reset_misc() before the cpu reset 2014-09-05 13:58:49 +09:00
sections.c ARM: HYP/non-sec: add separate section for secure code 2014-07-28 17:07:23 +02:00
semihosting.c arm: Add support for semihosting for armv8 fastmodel targets. 2014-07-03 08:35:45 +02:00
spl.c ARM: SPL: do not set gd again 2014-09-09 13:50:57 +02:00
vectors.S arm: Fix _start for CONFIG_SYS_DV_NOR_BOOT_CFG 2014-09-11 18:04:39 +02:00