[U-Boot] [RFC PATCH 1/2] armv7: enable Thumb build for armv7

Aneesh V aneesh at ti.com
Wed Mar 16 09:39:59 CET 2011


On Tuesday 15 March 2011 05:24 PM, Loïc Minier wrote:
> On Tue, Mar 15, 2011, Aneesh V wrote:
>> Please note that I am enabling armv7-a in the second patch in omap4
>> config.mk file. The reason I didn't do this here was some ARMv7 SoCs do
>> not want to use -march=armv7-a even if the compiler supports it. Tegra2
>> is an example. Please see the below from Tegra2 config.mk:
>>
>> # Use ARMv4 for Tegra2 - initial code runs on the AVP, which is an ARM7TDI.
>> PLATFORM_CPPFLAGS += -march=armv4
>
>   Good point, I wonder whether it would make sense to have
>   arch/arm/cpu/armv7/config.mk default to -march=armv7 and Tegra2 to

Sounds reasonable. I will do that.

>   override this with -march=armv4.  Maybe this code doesn't belong under
>   armv7 though; or perhaps -march=armv4 should only be set when building
>   a subset of the files rather than by default.

I don't understand it either. Maybe, the early boot code runs on one
processor and the rest run on another processor all in the same SoC.

>> This being the case I would have had to define another CONFIG flag if I
>> had to add -march=armv7-a in arch/arm/cpu/armv7/config.mk. I thought it
>> un-necessary and instead put it in the SoC specific file. So, Tegra2
>> can continue to use -march=armv4 and will get Thumb-1 if they enable
>> CONFIG_SYS_THUMB_BUILD. Or do you think we should define something like
>> CONFIG_SYS_MARCH_ARMV7
>
>   Up to you, but I would expect that code udner arch/arm/cpu/armv7/ would
>   build with -march=armv7 (maybe not -a though), with specific overrides

I tried -march=armv7 yesterday. I am getting several errors from the
assembly files. Particularly, it doesn't support high registers, spsr
etc. Looks like it defaults to the armv7-m variant(just my guess)

>   where that's not the case; it would feel a bit odd to me to have this
>   as a "config" option.

Yes, me too didn't like having a CONFIG option for this. But that
doesn't seem to be needed either as it can be over-ridden in the SoC
directory.

Albert,
Your thoughts on this?

best regards,
Aneesh


More information about the U-Boot mailing list