summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-03-07 19:40:57 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-03-10 11:11:30 +0100
commit4271263e0d81cbb1e51a9a56e206844355ae7b7d (patch)
treef507f2d2e250eb7e582a1ad485a902aa0d352b06
parent3f8a1c0be2ece8f4bc1ea9f8b9a1046a6d87d3ff (diff)
downloadbarebox-4271263e0d81cbb1e51a9a56e206844355ae7b7d.tar.gz
barebox-4271263e0d81cbb1e51a9a56e206844355ae7b7d.tar.xz
ARM: Add missing barebox_arm_boarddata function
The comment above barebox_arm_entry promises to preserve the boarddata variable passed to it which can then later get back with barebox_arm_boarddata(). This function was missing so far, add it. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/cpu/start.c10
-rw-r--r--arch/arm/include/asm/barebox-arm.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/cpu/start.c b/arch/arm/cpu/start.c
index cd34d9c66d..943fa46281 100644
--- a/arch/arm/cpu/start.c
+++ b/arch/arm/cpu/start.c
@@ -30,6 +30,15 @@
#include "mmu-early.h"
unsigned long arm_stack_top;
+static unsigned long barebox_boarddata;
+
+/*
+ * return the boarddata variable passed to barebox_arm_entry
+ */
+unsigned long barebox_arm_boarddata(void)
+{
+ return barebox_boarddata;
+}
static noinline __noreturn void __start(uint32_t membase, uint32_t memsize,
uint32_t boarddata)
@@ -39,6 +48,7 @@ static noinline __noreturn void __start(uint32_t membase, uint32_t memsize,
setup_c();
+ barebox_boarddata = boarddata;
arm_stack_top = endmem;
endmem -= STACK_SIZE; /* Stack */
diff --git a/arch/arm/include/asm/barebox-arm.h b/arch/arm/include/asm/barebox-arm.h
index 9c10e366d9..f09709221e 100644
--- a/arch/arm/include/asm/barebox-arm.h
+++ b/arch/arm/include/asm/barebox-arm.h
@@ -41,5 +41,6 @@ uint32_t get_runtime_offset(void);
void setup_c(void);
void __noreturn barebox_arm_entry(uint32_t membase, uint32_t memsize, uint32_t boarddata);
+unsigned long barebox_arm_boarddata(void);
#endif /* _BAREBOX_ARM_H_ */