All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolas Aguirre <aguirre.nicolas@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: Hard floating point support for armv7a wmmx2 processor in oe-core
Date: Wed, 18 Apr 2012 10:29:40 +0000	[thread overview]
Message-ID: <CAHTvVMcj_ADZxYCBvvcJcsTxXxW3uupq8xvWf-p=7xnrc=_n0Q@mail.gmail.com> (raw)
In-Reply-To: <4F871E0E.7080500@windriver.com>

Le 12 avril 2012 18:25, Mark Hatle <mark.hatle@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@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel



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



  reply	other threads:[~2012-04-18 10:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-12 17:38 Hard floating point support for armv7a wmmx2 processor in oe-core Nicolas Aguirre
2012-04-12 18:25 ` Mark Hatle
2012-04-18 10:29   ` Nicolas Aguirre [this message]
2012-04-29  2:50     ` Khem Raj
2012-04-12 19:43 ` Andrei Gherzan
2012-04-12 19:50 ` Koen Kooi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAHTvVMcj_ADZxYCBvvcJcsTxXxW3uupq8xvWf-p=7xnrc=_n0Q@mail.gmail.com' \
    --to=aguirre.nicolas@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.