mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: barebox@lists.infradead.org
Subject: [PATCH 01/34] ARM: Add new entry point for barebox
Date: Sun, 27 Jan 2013 11:46:30 +0100	[thread overview]
Message-ID: <1359283623-1782-2-git-send-email-s.hauer@pengutronix.de> (raw)
In-Reply-To: <1359283623-1782-1-git-send-email-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 c5f9705..0778fb5 100644
--- a/arch/arm/cpu/start-pbl.c
+++ b/arch/arm/cpu/start-pbl.c
@@ -200,3 +200,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-01-27 10:47 UTC|newest]

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

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=1359283623-1782-2-git-send-email-s.hauer@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --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