mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
To: barebox@lists.infradead.org
Subject: [PATCH 01/36] ARM: Add new entry point for barebox
Date: Sun,  3 Feb 2013 16:10:01 +0100	[thread overview]
Message-ID: <1359904236-11622-1-git-send-email-plagnioj@jcrosoft.com> (raw)
In-Reply-To: <20130203150333.GE18068@game.jcrosoft.org>

From: Sascha Hauer <s.hauer@pengutronix.de>

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>
---
 arch/arm/cpu/start-pbl.c           |   13 +++++++++++++
 arch/arm/cpu/start.c               |   13 +++++++++++++
 arch/arm/include/asm/barebox-arm.h |    1 +
 3 files changed, 27 insertions(+)

diff --git a/arch/arm/cpu/start-pbl.c b/arch/arm/cpu/start-pbl.c
index f506792..f1ce2c5 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();
+}
diff --git a/arch/arm/cpu/start.c b/arch/arm/cpu/start.c
index 793445a..0b7eee8 100644
--- a/arch/arm/cpu/start.c
+++ b/arch/arm/cpu/start.c
@@ -63,3 +63,16 @@ void __naked board_init_lowlevel_return(void)
 
 	start_barebox();
 }
+
+/*
+ * Main ARM entry point in the uncompressed 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();
+}
diff --git a/arch/arm/include/asm/barebox-arm.h b/arch/arm/include/asm/barebox-arm.h
index 993130d..4ccf938 100644
--- a/arch/arm/include/asm/barebox-arm.h
+++ b/arch/arm/include/asm/barebox-arm.h
@@ -39,5 +39,6 @@ void board_init_lowlevel_return(void);
 uint32_t get_runtime_offset(void);
 
 void setup_c(void);
+void __noreturn barebox_arm_entry(uint32_t membase, uint32_t memsize, uint32_t boarddata);
 
 #endif	/* _BAREBOX_ARM_H_ */
-- 
1.7.10.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  reply	other threads:[~2013-02-03 15:11 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-03 15:03 [PATCH v3] Add new ARM " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10 ` Jean-Christophe PLAGNIOL-VILLARD [this message]
2013-02-03 15:10   ` [PATCH 02/36] ARM: add __noreturn to board_init_lowlevel_return Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 03/36] ARM i.MX: Use SRAM stack in lowlevel code Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 04/36] ARM i.MX: Add i.MX specific entry point for barebox Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 05/36] ARM i.MX: prepare external nand boot for SoC specific entry Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 06/36] ARM i.MX boards: switch to barebox_arm_entry Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 07/36] ARM MXS " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 08/36] ARM OMAP " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 09/36] ARM Samsung " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 10/36] ARM PXA " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 11/36] ARM ep93xx " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 12/36] ARM tegra " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 13/36] ARM nomadik " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 14/36] ARM versatile " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 15/36] ARM netx " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 16/36] ARM clep7212: " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 17/36] ARM raspberrypi: " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 18/36] ARM AT91: switch at91sam9 to barebox_arm_entry part1 Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 19/36] ARM AT91: switch at91rm9200 board to barebox_arm_entry Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 20/36] ARM AT91: switch at91sam9g45 " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 21/36] ARM AT91: switch at91sam9x5 " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 22/36] ARM AT91: switch at91sam9n12 " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 23/36] ARM AT91: switch sama5d3 " Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 24/36] ARM: remove now unused MACH_[HAS|DO]_LOWLEVEL_INIT Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 25/36] ARM start-pbl: make board_init_lowlevel_return static Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 26/36] ARM start-pbl: call uncompressed binary with arguments Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 27/36] ARM start: pickup parameters from pbl Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 28/36] ARM: Setup stack at end of SDRAM Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 29/36] ARM pbl: Use dynamic parameters for early malloc space Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 30/36] ARM mmu: pickup already enabled mmu Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 31/36] ARM: Factor out early mmu code Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 32/36] ARM: Enable mmu early Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 33/36] ARM: Automatically determine malloc size Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 34/36] generic memory layout: fix deps for [MALLOC|STACK]_BASE Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 35/36] ARM: disable HAVE_CONFIGURABLE_MEMORY_LAYOUT Jean-Christophe PLAGNIOL-VILLARD
2013-02-03 15:10   ` [PATCH 36/36] ARM pbl: inline decompress function Jean-Christophe PLAGNIOL-VILLARD

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1359904236-11622-1-git-send-email-plagnioj@jcrosoft.com \
    --to=plagnioj@jcrosoft.com \
    --cc=barebox@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox