[U-Boot] [RFC PATCH] arm: provide a CONFIG flag for disabling relocation

Andreas Bießmann andreas.devel at googlemail.com
Thu Sep 29 18:14:52 CEST 2011


Dear Albert,

Am 21.09.2011 um 14:31 schrieb Andreas Bießmann:

> Dear Albert,
> 
> Am Mi 21 Sep 2011 14:03:09 CEST schrieb Albert ARIBAUD:
>> Le 21/09/2011 13:20, Andreas Bießmann a écrit :
>>> Dear "GROYER, Anthony",
>>> Dear Albert,
>>> 
>>> Am Mi 21 Sep 2011 12:51:33 CEST schrieb Albert ARIBAUD:
>>>> Le 21/09/2011 11:29, GROYER, Anthony a écrit :

<snip>

> No the code does register save before copy_loop and restore them right
> afterwards. Therefore even r8 could be used in the copy_loop cause it is
> preserved on the (newly created) stack. Have a look at a/a/c/pxa/start.S
> from line 241 (relocate_code) to 263 (end of copy_loop).
> But I guess the ldmia/stmia instructions could even use r3-r11, only
> r0-r2 needs to be preserved for loop counting.
> I wonder if this could improve the copy_loop ... will try to test it
> these days, if no one else can do it (Anthony?).

Simon, who has just finished his bachelor thesis did this test for me (thanks to this way ...).
It seems using more register for ldmia/stmia does _not_ improve the copy
time that much. Simon measured 10.8 ms for r9-r10 and 10.65 ms for r3-r10 (unfortunately
I do not know which system he tested, but I guess devkit8000).

best regards

Andreas Bießmann




More information about the U-Boot mailing list