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

Nicolas Aguirre aguirre.nicolas at gmail.com
Wed Apr 18 10:29:40 UTC 2012


Le 12 avril 2012 18:25, Mark Hatle <mark.hatle at windriver.com> a écrit :
> 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.)
>

Hi Mark,

Thanks for your detailed explanation


I'm now able to build a minimal core image with hardfp enabled. The
detail of the OE Build :
TUNE_FEATURES     = "armv7a vfp callconvention-hard"
TARGET_FPU        = "vfp"

I pushed my layer on github : https://github.com/naguirre/meta-cubox
Nothing interesting for now and binaries have not been tested.

I encountered some problems during the build, due to a bad fetch
operation of mime-support package. I need to fetch it by hand, the
.tar.gz was corrupted and contains an html page.

Another problem i encountered, was during the build of cpufrequtils.
And it seems that this point is related to harfp. cpufreq is linked
against libcpufreq which are not compatible each other. I don't know
if it's a problem in cpufreq recipe, i need to investigate more.

Another problem was during the build of libvpx which seems to be not
compatible with armv7ahf, only with armv7a.

ERROR: Logfile of failure stored in:
/home/nico/e17_src/cubox/setup-scripts/build/tmp-angstrom_2010_x-eglibc/work/armv7ahf-vfp-angstrom-linux-gnueabi/libvpx-0.9.5-r3.0/temp/log.do_configure.9887
Log data follows:
| ERROR: Function failed: do_configure (see
/home/nico/e17_src/cubox/setup-scripts/build/tmp-angstrom_2010_x-eglibc/work/armv7ahf-vfp-angstrom-linux-gnueabi/libvpx-0.9.5-r3.0/temp/log.do_configure.9887
for further information)
| Configuring selected codecs
|   enabling vp8_encoder
|   enabling vp8_decoder
| Configuring for target 'armv7-linux-gcc'
|   enabling armv7
|   enabling armv6
|   enabling armv5te
|   enabling fast_unaligned
| Toolchain is unable to link executables
|
| Configuration failed. This could reflect a misconfiguration of your
| toolchains, improper options selected, or another problem. If you
| don't see any useful error messages above, the next step is to look
| at the configure error log file (config.err) to determine what
| configure was trying to do when it died.
NOTE: package libvpx-0.9.5-r3.0: task do_configure: Failed

I now understand why Koen said that hardfp is not compatible with anything :)


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

I need to dig more about wmmx2 instructions set, to see how to enable it in gcc
I will maybe come back with more questions :)

Thanks for your time,
Nicolas

> 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,
>
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel



-- 
Nicolas Aguirre
Mail: aguirre.nicolas at gmail.com
Web: http://enna.geexbox.org
Blog: http://dev.enlightenment.fr/~captainigloo/




More information about the Openembedded-devel mailing list