[oe] Hard floating point support for armv7a wmmx2 processor in oe-core

Mark Hatle mark.hatle at windriver.com
Thu Apr 12 18:25:18 UTC 2012


On 4/12/12 12:38 PM, Nicolas Aguirre wrote:
> Hi,
>
> I'm building an oe-core minimal image and toolchain for the cubox[1]
> which has a Marvell Armada 510 SoC, also known as Dove.
> It's a armv7 Arm processor with wmmx2 instruction set [2].
>
> I setup a new machine for the cubox and added :
> require conf/machine/include/arm/arch-armv7a.inc
> in my cubox.conf file
>
> I also added
> ARM_FP_MODE = "hardfp"
> TARGET_FPU = "hardfp"
> in my local.conf file.

That is not how to enable the mode with the newer tune infrastructure.  You need 
to simply enable a tune, in your machine configuration, that matches the desired 
output.

The following are the defined VFP (hard float requires VFP) tunes for hard float:

armv7ahf armv7athf armv7ahf-neon armv7athf-neon

the "t" varients support thumb, but don't have it enabled by default..

the -neon variants also enabled the neon instructions.

I do not know what the "wmmx2" instructions are, if they are different from VFP 
and Neon, then it sounds like you need a custom tune.

Your machine configure should set DEFAULTTUNE = "..." where "..." is the tune 
you want for that given machine.  (armv7ahf should be a safe place to start.)

> It finished the build sucessfully for angstrom efl-nodm-image.
>
> I don't know exactly which option enable and where to add it to enable
> hard floating point.
> I see in meta-oe/meta/conf/machine/include/arm/arch-armv7a.inc
> references to the armv7ahf architecture but without idea how to
> activate it.
>
> Btw is the 'a' after armv7 important for me ? As it seems that this
> arm core is an armv7 and not armv7a. I dont find arch-armv7.inc file
> in oe-core.

There was a recent commit that seemed to indicate that armv7 don't really exist, 
and everything is an armv7a....  One of the ARM experts will have to help 
clarify that point.

> Another problem is, how to add support for wmmx2 instruction set ?
> There is tune-iwmmxt.inc but it seems to refer to armv5 arch. There is
> a way to enable this instruction set ?

Figure out the correct set of commands for gcc to support this processor, and I 
can help you define a custom tune file.

The few references I found in a quick google search seem to indicate that the 
core does support thumb, it should use the armv7-a compilation, and there is 
little to no support for the wmmx2 instructions.

--Mark

> Any help would be appreciate :)
>
> [1] http://www.solid-run.com/products/cubox
> [2] http://www.marvell.com/application-processors/armada-500/
>
> regards,





More information about the Openembedded-devel mailing list