summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoramartin@nvidia.com <amartin@nvidia.com>2012-05-14 13:14:39 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-07-07 14:07:19 +0200
commitf3717ac5848ec389919596d5e518b528fb8bebdd (patch)
treefbdd225ba837191edee560934a5f16acbb653699
parent27c4a3318f716cce0a23248317534bda7792230b (diff)
downloadu-boot-imx-f3717ac5848ec389919596d5e518b528fb8bebdd.zip
u-boot-imx-f3717ac5848ec389919596d5e518b528fb8bebdd.tar.gz
u-boot-imx-f3717ac5848ec389919596d5e518b528fb8bebdd.tar.bz2
tegra: override compiler flags for low level init code
Override -march setting for tegra to -march=armv4t for files that are necessary for low level init on tegra. The recent change to use -march=armv7-a for armv7 caused a regression on tegra because tegra starts boot on a arm7tdmi processor before transferring control to the cortex-a9. While still executing on the arm7tdmi there are calls to getenv_ulong() and memset() that cause an illegal instruction exception if compiled for armv7. Signed-off-by: Allen Martin <amartin@nvidia.com> Tested-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
-rw-r--r--arch/arm/cpu/armv7/tegra2/config.mk7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/cpu/armv7/tegra2/config.mk b/arch/arm/cpu/armv7/tegra2/config.mk
index fe9ef5b..4dd8cb8 100644
--- a/arch/arm/cpu/armv7/tegra2/config.mk
+++ b/arch/arm/cpu/armv7/tegra2/config.mk
@@ -24,10 +24,13 @@
# MA 02111-1307 USA
#
-# Tegra has an ARMv4T CPU which runs board_init_f(), so we must build this
-# file with compatible flags
+# Tegra has an ARMv4T CPU which runs board_init_f(), so we must build these
+# files with compatible flags
ifdef CONFIG_TEGRA2
CFLAGS_arch/arm/lib/board.o += -march=armv4t
+CFLAGS_arch/arm/lib/memset.o += -march=armv4t
+CFLAGS_lib/string.o += -march=armv4t
+CFLAGS_common/cmd_nvedit.o += -march=armv4t
endif
USE_PRIVATE_LIBGCC = yes