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

Reinhard Meyer
2010-10-28T11:16:46Z

Dear Alexander Holler,
> Am 28.10.2010 10:39, schrieb Wolfgang Denk:
>> Dear Heiko Schocher,
>>
>> In message<4CC914D8.4070101@denx.de> you wrote:
>>> Hmm.. I think the question is, is CONFIG_SKIP_RELOCATE_UBOOT not
>>> obsolete?
>> sorry for a stupid question - how are CONFIG_SKIP_RELOCATE_UBOOT and
>> CONFIG_SYS_ARM_WITHOUT_RELOC related to each other?
>>
>
> I've got confused by that too. Currently there are 3 defines in regard
> to relocation:
>
> CONFIG_SYS_ARM_WITHOUT_RELOC

Introduced by Heiko as a try to unbreak old boards that are not converted to
relocation yet. Basically it #else's between the old code and the new code.
As far as I understand that define won't work anymore because of several other
changes in u-boot that necessitate fixing the affected boards.

> CONFIG_RELOC_FIXUP_WORKS

Not needed for ARM when ELF relocation is used. I don't know whether other
architectures still need it. Do NOT set it on ARM or you get in trouble by
some addresses being relocated twice.

> CONFIG_SKIP_RELOCATE_UBOOT

The old way in ARM before ELF relocation was introduced. A misnomer because it seemingly
skipped the *COPY* of the image from whereever it was loaded to the TEXT_BASE
location. There was no real *RELOCATION* done there. This define probably does not work
anymore. It was set on ARM boards where a preloader did load u-boot to the
TEXT_BASE address.

In an up to date ARM system all those defines MUST NOT be set.

Best Regards,
Reinhard