From: Albert ARIBAUD <albert.aribaud@free.fr>
To: u-boot@lists.denx.de
Subject: [U-Boot] kirkwood: CONFIG_SYS_INIT_SP_ADDR wrong?
Date: Wed, 10 Nov 2010 17:29:00 +0100 [thread overview]
Message-ID: <4CDAC84C.60609@free.fr> (raw)
In-Reply-To: <4CDABE3D.50506@schmid-telecom.ch>
Le 10/11/2010 16:46, Daniel Hobi a ?crit :
> Hi Heiko,
>
> On 10.11.2010 16:40, Heiko Schocher wrote:
>> Daniel Hobi wrote:
>>> But you also added assembly code to setup the initial stack pointer in
>>> arch/arm/cpu/*/start.S (ie commit ab86f72c for arm926ejf) which reads:
>>>
>>> /* Set stackpointer in internal RAM to call board_init_f */
>>> call_board_init_f:
>>> ldr sp, =(CONFIG_SYS_INIT_SP_ADDR)
>>>
>>> CONFIG_SYS_INIT_SP_ADDR may not be aligned properly, especially with
>>> your latest patch to km_arm.h:
>>>
>>> #define CONFIG_SYS_INIT_SP_ADDR (0xC8012000 - GENERATED_GBL_DATA_SIZE)
>>
>> Ah, good catch.
>>
>> Then we should add this alignment into the generation of
>> GENERATED_GBL_DATA_SIZE.
>
> Hm? The stack pointer needs alignment, not GENERATED_GBL_DATA_SIZE. What
> happens if I define:
>
> #define CONFIG_SYS_INIT_SP_ADDR (0xC8012004 - GENERATED_GBL_DATA_SIZE)
>
> Why not add alignment to start.S?
>
> /* Set stackpointer in internal RAM to call board_init_f */
> call_board_init_f:
> ldr sp, =(CONFIG_SYS_INIT_SP_ADDR)
> + bic sp, sp, #7
>
> Best regards,
> Daniel
Bad solution IMO: if the symbol is used elsewhere, one would have to
always remember that it should be aligned down to a multiple of eight.
We may not need to make it a generated constant, but we definitely need
to make sure it is correctly aligned wherever it is used, e.g. by
defining it as
#define CONFIG_SYS_INIT_SP_ADDR (0xC8012004-GENERATED_GBL_DATA_SIZE)&~7
(spacing squashed to avoid funny line breaks)
Amicalement,
--
Albert.
next prev parent reply other threads:[~2010-11-10 16:29 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-10 13:57 [U-Boot] kirkwood: CONFIG_SYS_INIT_SP_ADDR wrong? Daniel Hobi
2010-11-10 14:15 ` Heiko Schocher
2010-11-10 14:37 ` Daniel Hobi
2010-11-10 15:02 ` Heiko Schocher
2010-11-10 15:13 ` Daniel Hobi
2010-11-10 15:40 ` Heiko Schocher
2010-11-10 15:46 ` Daniel Hobi
2010-11-10 16:29 ` Albert ARIBAUD [this message]
2010-11-10 16:46 ` Heiko Schocher
2010-11-10 17:53 ` Daniel Hobi
2010-11-10 20:13 ` Wolfgang Denk
2010-11-10 20:11 ` Wolfgang Denk
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=4CDAC84C.60609@free.fr \
--to=albert.aribaud@free.fr \
--cc=u-boot@lists.denx.de \
/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 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.