All of lore.kernel.org
 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 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.