* [U-Boot] [PATCH] ARM: Respect CONFIG_SPL_STACK define in lowlevel_init.S
@ 2016-09-05 3:36 Siarhei Siamashka
2016-09-08 18:13 ` Tom Rini
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Siarhei Siamashka @ 2016-09-05 3:36 UTC (permalink / raw)
To: u-boot
The SPL and U-Boot proper may use different initial stack
locations, which are configured via CONFIG_SPL_STACK and
CONFIG_SYS_INIT_SP_ADDR defines. The lowlevel_init.S
code needs to handle this in the same way as crt0.S
Without this fix, setting the U-Boot stack location to some
place, which is not safely accessible by the SPL (such as
the DRAM), causes a very early SPL deadlock.
Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
---
arch/arm/cpu/armv7/lowlevel_init.S | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/cpu/armv7/lowlevel_init.S b/arch/arm/cpu/armv7/lowlevel_init.S
index 1872c57..658934d 100644
--- a/arch/arm/cpu/armv7/lowlevel_init.S
+++ b/arch/arm/cpu/armv7/lowlevel_init.S
@@ -19,7 +19,11 @@ ENTRY(lowlevel_init)
/*
* Setup a temporary stack. Global data is not available yet.
*/
+#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_STACK)
+ ldr sp, =CONFIG_SPL_STACK
+#else
ldr sp, =CONFIG_SYS_INIT_SP_ADDR
+#endif
bic sp, sp, #7 /* 8-byte alignment for ABI compliance */
#ifdef CONFIG_SPL_DM
mov r9, #0
--
2.7.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH] ARM: Respect CONFIG_SPL_STACK define in lowlevel_init.S
2016-09-05 3:36 [U-Boot] [PATCH] ARM: Respect CONFIG_SPL_STACK define in lowlevel_init.S Siarhei Siamashka
@ 2016-09-08 18:13 ` Tom Rini
2016-09-19 0:57 ` Simon Glass
2016-10-08 17:04 ` [U-Boot] " Tom Rini
2 siblings, 0 replies; 4+ messages in thread
From: Tom Rini @ 2016-09-08 18:13 UTC (permalink / raw)
To: u-boot
On Mon, Sep 05, 2016 at 06:36:10AM +0300, Siarhei Siamashka wrote:
> The SPL and U-Boot proper may use different initial stack
> locations, which are configured via CONFIG_SPL_STACK and
> CONFIG_SYS_INIT_SP_ADDR defines. The lowlevel_init.S
> code needs to handle this in the same way as crt0.S
>
> Without this fix, setting the U-Boot stack location to some
> place, which is not safely accessible by the SPL (such as
> the DRAM), causes a very early SPL deadlock.
>
> Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160908/5352af40/attachment.sig>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH] ARM: Respect CONFIG_SPL_STACK define in lowlevel_init.S
2016-09-05 3:36 [U-Boot] [PATCH] ARM: Respect CONFIG_SPL_STACK define in lowlevel_init.S Siarhei Siamashka
2016-09-08 18:13 ` Tom Rini
@ 2016-09-19 0:57 ` Simon Glass
2016-10-08 17:04 ` [U-Boot] " Tom Rini
2 siblings, 0 replies; 4+ messages in thread
From: Simon Glass @ 2016-09-19 0:57 UTC (permalink / raw)
To: u-boot
On 4 September 2016 at 21:36, Siarhei Siamashka
<siarhei.siamashka@gmail.com> wrote:
> The SPL and U-Boot proper may use different initial stack
> locations, which are configured via CONFIG_SPL_STACK and
> CONFIG_SYS_INIT_SP_ADDR defines. The lowlevel_init.S
> code needs to handle this in the same way as crt0.S
>
> Without this fix, setting the U-Boot stack location to some
> place, which is not safely accessible by the SPL (such as
> the DRAM), causes a very early SPL deadlock.
>
> Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
> ---
> arch/arm/cpu/armv7/lowlevel_init.S | 4 ++++
> 1 file changed, 4 insertions(+)
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] ARM: Respect CONFIG_SPL_STACK define in lowlevel_init.S
2016-09-05 3:36 [U-Boot] [PATCH] ARM: Respect CONFIG_SPL_STACK define in lowlevel_init.S Siarhei Siamashka
2016-09-08 18:13 ` Tom Rini
2016-09-19 0:57 ` Simon Glass
@ 2016-10-08 17:04 ` Tom Rini
2 siblings, 0 replies; 4+ messages in thread
From: Tom Rini @ 2016-10-08 17:04 UTC (permalink / raw)
To: u-boot
On Mon, Sep 05, 2016 at 06:36:10AM +0300, Siarhei Siamashka wrote:
> The SPL and U-Boot proper may use different initial stack
> locations, which are configured via CONFIG_SPL_STACK and
> CONFIG_SYS_INIT_SP_ADDR defines. The lowlevel_init.S
> code needs to handle this in the same way as crt0.S
>
> Without this fix, setting the U-Boot stack location to some
> place, which is not safely accessible by the SPL (such as
> the DRAM), causes a very early SPL deadlock.
>
> Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161008/4a226df7/attachment.sig>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-10-08 17:04 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-05 3:36 [U-Boot] [PATCH] ARM: Respect CONFIG_SPL_STACK define in lowlevel_init.S Siarhei Siamashka
2016-09-08 18:13 ` Tom Rini
2016-09-19 0:57 ` Simon Glass
2016-10-08 17:04 ` [U-Boot] " Tom Rini
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.