summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrzysztof Halasa <khc@pm.waw.pl>2010-12-21 00:04:20 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2010-12-21 09:02:40 +0100
commitfdf5768a1b2eb8af6bf4de3e7e82fe9d87f7b03a (patch)
treece7ff2ab2b0c20c4b4240d5725e86885d0335d25
parentd66ae58cd87c78b76652ecf750371b1e005d44de (diff)
downloadbarebox-fdf5768a1b2eb8af6bf4de3e7e82fe9d87f7b03a.tar.gz
barebox-fdf5768a1b2eb8af6bf4de3e7e82fe9d87f7b03a.tar.xz
ARM: support big-endian processors.
Signed-off-by: Krzysztof HaƂasa <khc@pm.waw.pl> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/cpu/Kconfig3
-rw-r--r--arch/arm/cpu/start.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/cpu/Kconfig b/arch/arm/cpu/Kconfig
index 7e17f9d3e2..3572a1fe6a 100644
--- a/arch/arm/cpu/Kconfig
+++ b/arch/arm/cpu/Kconfig
@@ -61,6 +61,9 @@ config CPU_32v7
comment "processor features"
+config ARCH_SUPPORTS_BIG_ENDIAN
+ bool
+
config CPU_BIG_ENDIAN
bool "Build big-endian kernel"
depends on ARCH_SUPPORTS_BIG_ENDIAN
diff --git a/arch/arm/cpu/start.c b/arch/arm/cpu/start.c
index 53d7ac199f..b55df5dc87 100644
--- a/arch/arm/cpu/start.c
+++ b/arch/arm/cpu/start.c
@@ -70,6 +70,9 @@ void __naked __bare_init reset(void)
r = get_cr();
r &= ~(CR_M | CR_C | CR_B | CR_S | CR_R | CR_V);
r |= CR_A | CR_I;
+#ifdef __ARMEB__
+ r |= CR_B;
+#endif
set_cr(r);
#ifdef CONFIG_MACH_DO_LOWLEVEL_INIT