From: Albert ARIBAUD <albert.u.boot@aribaud.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC PATCH] arm: provide a CONFIG flag for disabling relocation
Date: Tue, 20 Sep 2011 21:13:34 +0200 [thread overview]
Message-ID: <4E78E5DE.60300@aribaud.net> (raw)
In-Reply-To: <20110920180959.8008F1208F1E@gemini.denx.de>
Le 20/09/2011 20:09, Wolfgang Denk a ?crit :
> Dear "GROYER, Anthony",
>
> In message<BC0A2F434D4F39448D24A68EA6EFFB9F0194D534@EU-FR-EXBE07.eu.corp.airliquide.com> you wrote:
>>
>> The use of the initial patches for the CONFIG_SYS_SKIP_ARM_RELOCATION featu
>> res has revealed two issues.
>
> Could you please restict your line length to some 70 characters or so?
> Thanks.
>
>> First issue: the calculation of the relocation offset was done only if the
>> relocation is actually done. So we could reach a point where r9 has a wrong
>> value, since it has never been used before (in my case, this bug happens w
>
> This is a configuration error then, isn't it? The relocation offset
> should be either the intended value, or eventually zero, if no
> relocation is intended.
Actually, even though "revision 1083" and "revision 1113" are not git
references (and thus I can't be sure Anthony is referring to up-to-date
mainline code), there is a point to what Anthony says: in the case where
relocation is unneeded (r0 equals r6) then r9 is not set, but is still
used when branching to board_init_r().
for this bug to have any effect, relocation would have to be unneeded,
which is a rare case, *and* r9 has to be nonzero, which may or may not
happen depending on the code executed until relocate_code() is called,
and thus makes the whole condition rarer yet; probably the rarity of
these two conjunct conditions explains why it was not noticed until now.
However, since start.S has a code path to handle the non-relocating
case, this path ought to be bug-free. But then, I want it to be
consistent: if the relocation offset is computed in r9, then testing
whether relocation is needed would be done on r9 once computed, not
before, by replacing
adr r0, _start
cmp r0, r6
beq clear_bss /* skip relocation */
With
adr r0, _start
sub r9, r6, r0
cmp r0, #0
beq clear_bss /* skip relocation */
> BTW: your patch has a number ofd coduing style errors, and the
> Signed-off-by: line is missing.
Plus it did not have the commit message separator either. I suspect it
was not produced using git format-patch / git send-email.
Anthony, please submit a proper [PATCH], without [RFC], and with the
setting of r9 done as shown above, and applied to all relevant start.S
files in arch/arm/cpu/*/ -- in next merge window we should try and
factorize those start.S files, BTW.
> Best regards,
>
> Wolfgang Denk
Amicalement,
--
Albert.
next prev parent reply other threads:[~2011-09-20 19:13 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-20 14:22 [U-Boot] [RFC PATCH] arm: provide a CONFIG flag for disabling relocation GROYER, Anthony
2011-09-20 18:09 ` Wolfgang Denk
2011-09-20 19:13 ` Albert ARIBAUD [this message]
2011-09-21 9:29 ` GROYER, Anthony
2011-09-21 10:45 ` Wolfgang Denk
2011-09-21 11:44 ` Albert ARIBAUD
2011-09-21 10:51 ` Albert ARIBAUD
2011-09-21 11:20 ` Andreas Bießmann
2011-09-21 12:03 ` Albert ARIBAUD
2011-09-21 12:31 ` Andreas Bießmann
2011-09-21 14:23 ` Albert ARIBAUD
2011-09-22 7:10 ` Andreas Bießmann
2011-09-29 16:14 ` Andreas Bießmann
2011-09-30 7:21 ` Simon Schwarz
2011-10-01 6:48 ` Albert ARIBAUD
2011-09-20 21:34 ` Simon Glass
2011-09-21 14:21 ` Aneesh V
2011-09-23 16:04 ` Simon Glass
2011-10-01 7:01 ` Albert ARIBAUD
2011-10-03 3:34 ` Simon Glass
-- strict thread matches above, loose matches on Subject: below --
2011-03-25 13:12 Aneesh V
2011-03-25 13:27 ` Aneesh V
2011-03-25 14:12 ` Wolfgang Denk
2011-03-25 16:12 ` Aneesh V
2011-03-25 18:35 ` Albert ARIBAUD
2011-04-20 18:34 ` Simon Glass
2011-04-21 6:56 ` Aneesh V
2011-04-21 15:18 ` Simon Glass
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=4E78E5DE.60300@aribaud.net \
--to=albert.u.boot@aribaud.net \
--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.