[U-Boot] Most ARM CPU's have buggy clear_bss?

Heiko Schocher
2010-10-28T06:35:23Z

Hello Reinhard,

Reinhard Meyer wrote:
> On 28.10.2010 08:20, Reinhard Meyer wrote:
>> On 28.10.2010 08:17, Heiko Schocher wrote:
>>> Hello Reinhard,
>>>
>>> Reinhard Meyer wrote:
>>>> Dear Darius,
>>>>>> Now running in RAM - U-Boot at: 57fbe000
>>>>>> NAND: raise: Signal # 8 caught
>>>>>> raise: Signal # 8 caught
>>>>>> raise: Signal # 8 caught
>>>>> This looks suspect to me. Seems to me some early init
>>>>> (pin setup? clocks?) is not OK. If you have early inits,
>>>>> you must do that now in board_early_init_f() (and you
>>>>> have to define CONFIG_BOARD_EARLY_INIT_F to enable this
>>>>> feature)
>>>> I got _exactly_ the same NAND messages when ARM relocation
>>>> was first used, because the timer.c did use static variables
>>>> which are not working _before relocation_.
>>>> Have a look at your timer implementation.
>>>
>>> Huh.. thought the elf relocation fixed this problem?
>> 2x Huh.. How would it? I moved the timer static vars into
>> global_data, THAT fixed the issue.
> OK, I should have mentioned, that those variables are values
> that are calculated _before_ relocation in timer_init and
> needed to have those values for any subsequent timer use
> before and after relocation...

Ah, ok!

bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany