[U-Boot] [RFC] ARM: Toolchain configuration for Cortex A8 based OMAP3?

ksi at koi8.net ksi at koi8.net
Wed Aug 27 22:13:22 CEST 2008


On Wed, 27 Aug 2008, Wolfgang Denk wrote:

> Dear Dirk,
>
> In message <48B5831E.3070002 at googlemail.com> you wrote:
> ...
>> Now, the remaining question is what to do with
>>
>> +CROSS_COMPILE = arm-none-linux-gnueabi-
>>
>> +PLATFORM_CPPFLAGS += -march=armv7a
>>
>> we still have above.
>>
>> Checking our code, it seems we need -march=armv7a. Else one file
>> wouldn't compile any more. E.g. replacing armv7a with armv4 results in
>>
>> - a lot of warnings "warning: target CPU does not support
> interworking"
>>
>> - start.S compilation in our patch fails:
>>
>> start.S: Assembler messages:
>> start.S:466: Error: selected processor does not support `isb'
>> start.S:475: Error: selected processor does not support `clz r5,r4'
>> start.S:500: Error: selected processor does not support `isb'
>
> Is it really necessary to use these  instructions,  or  would  it  be
> possible to modify the code to use other (less optimal, but generally
> available) instructions?

I would vote for using generic ARM set. Even though isb is somehow similar
to ppc isync and there is no direct equivalent in generic ARM set.

There is also no merit in optimizing U-Boot code -- gain is usually
miniscule and not worth a trouble of building and using a special toolchain
vs a regular one. U-Boot is not a critical piece of software performancewise
-- it is only used briefly so it doesn't matter if it runs .05% slower. It
won't reduce the resulting binary size noticeably either.

---
******************************************************************
*  KSI at home    KOI8 Net  < >  The impossible we do immediately.  *
*  Las Vegas   NV, USA   < >  Miracles require 24-hour notice.   *
******************************************************************


More information about the U-Boot mailing list