public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
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.

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox