summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/start-pbl.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-10-14 17:59:45 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-02-04 15:52:38 +0100
commit5b03b8148f21f4b110e7527b7e74bcfd2d3d8f35 (patch)
tree5845b1583dc40b8c0f5385d923976042fe46bc43 /arch/arm/cpu/start-pbl.c
parent4458614954f5b7644afe3101ac00337840ef634a (diff)
downloadbarebox-5b03b8148f21f4b110e7527b7e74bcfd2d3d8f35.tar.gz
barebox-5b03b8148f21f4b110e7527b7e74bcfd2d3d8f35.tar.xz
ARM: Add new entry point for barebox
Memory is a precious resource, so it makes sense to make it available as early as possible. By definition the lowlevel init code already knows where to find memory because it's the lowlevel init code which sets up the memory. Until all boards are converted this new entry is just a fallback to the old entry point. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/cpu/start-pbl.c')
-rw-r--r--arch/arm/cpu/start-pbl.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/cpu/start-pbl.c b/arch/arm/cpu/start-pbl.c
index f506792f6b..f1ce2c545a 100644
--- a/arch/arm/cpu/start-pbl.c
+++ b/arch/arm/cpu/start-pbl.c
@@ -183,3 +183,16 @@ void __naked board_init_lowlevel_return(void)
barebox_uncompress((void *)pg_start, pg_len);
}
+
+/*
+ * Main ARM entry point in the compressed image. Call this with the memory
+ * region you can spare for barebox. This doesn't necessarily have to be the
+ * full SDRAM. The currently running binary can be inside or outside of this
+ * region. TEXT_BASE can be inside or outside of this region. boarddata will
+ * be preserved and can be accessed later with barebox_arm_boarddata().
+ */
+void __naked __noreturn barebox_arm_entry(uint32_t membase, uint32_t memsize,
+ uint32_t boarddata)
+{
+ board_init_lowlevel_return();
+}