All of lore.kernel.org
 help / color / mirror / Atom feed
* Hard floating point support for armv7a wmmx2 processor in oe-core
@ 2012-04-12 17:38 Nicolas Aguirre
  2012-04-12 18:25 ` Mark Hatle
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Nicolas Aguirre @ 2012-04-12 17:38 UTC (permalink / raw)
  To: openembedded-devel

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.

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.

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 ?

Any help would be appreciate :)

[1] http://www.solid-run.com/products/cubox
[2] http://www.marvell.com/application-processors/armada-500/

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



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Hard floating point support for armv7a wmmx2 processor in oe-core
  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
  2012-04-12 19:43 ` Andrei Gherzan
  2012-04-12 19:50 ` Koen Kooi
  2 siblings, 1 reply; 6+ messages in thread
From: Mark Hatle @ 2012-04-12 18:25 UTC (permalink / raw)
  To: openembedded-devel

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,




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Hard floating point support for armv7a wmmx2 processor in oe-core
  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-12 19:43 ` Andrei Gherzan
  2012-04-12 19:50 ` Koen Kooi
  2 siblings, 0 replies; 6+ messages in thread
From: Andrei Gherzan @ 2012-04-12 19:43 UTC (permalink / raw)
  To: openembedded-devel

Cubox as in that 2cm^3 board?
On Apr 12, 2012 8:39 PM, "Nicolas Aguirre" <aguirre.nicolas@gmail.com>
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.
>
> 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.
>
> 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 ?
>
> Any help would be appreciate :)
>
> [1] http://www.solid-run.com/products/cubox
> [2] http://www.marvell.com/application-processors/armada-500/
>
> regards,
> --
> Nicolas Aguirre
> Mail: aguirre.nicolas@gmail.com
> Web: http://enna.geexbox.org
> Blog: http://dev.enlightenment.fr/~captainigloo/
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Hard floating point support for armv7a wmmx2 processor in oe-core
  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-12 19:43 ` Andrei Gherzan
@ 2012-04-12 19:50 ` Koen Kooi
  2 siblings, 0 replies; 6+ messages in thread
From: Koen Kooi @ 2012-04-12 19:50 UTC (permalink / raw)
  To: openembedded-devel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Op 12-04-12 19:38, Nicolas Aguirre schreef:
> 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.
> 
> 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.

Hard floating point as in using the VFP coproc or hard floating point as in
that overhyped ABI that is incompatible with everything else?


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: GPGTools - http://gpgtools.org

iQIcBAEBAgAGBQJPhzIPAAoJEHZqAkdh1vT6R68P/2PExTB9bX2Tgvv3eG1N7d0A
wgdGPDB694TQmV5QByTlqDGV/+hpb07rPQMZzH4RMYlzohrCO3dhyfylZXF34ju6
84qxXyfiB6aIhsK+oCz9mQhSH755PX6k6Wa4dspxYHbDJaHII5GlUDFZaUi9D/ve
efu2pWbZ9JMNqY8NhEpV5fatUVG1lLaWV2zliwqDaeO1h2zr+2eb4lO2/V60XvmI
tJIxUOm21l68n9SOzGjt+UQfM93GTFexRvC2EC9uk5TQaNOWIP499khxWjpdiCWN
s5AvSaIy/Y0u2XuTmpU0wkx+QviZINCDItV1qeovZXAzA0pbgOWh3D6hkdm3Aw89
B1HtLw7LFqidXIhN5BLwpIq8HhIiJG9Vej60eGEUj/dTdNTAuM7qTOIDvbQ4pPwu
ezLTgwGimCrOc1jwqxuGJ/QR7HjaQllXc6kS1RNRU3ePNv5ySVkT0IoGKfPV4ulQ
sy4u6yDCh9ZqpZvsfxFOJXkBJF6ZubEPKfF9a+24gmW6Icx2BJK4bPTPXVQNDIt+
vT8jzKZsr3tnfSELNhe2/R0Usk1TeH9OyRjy4i8I3A0UZx20gNmsQHtXa9SMNU5M
xONIOzpYa9zo90VMnrv6/eYMpfOHH+Jv/8fMECnXWPpm+tDIm/fnV3q9iWSqXnqx
ThR4S3hryDV7XQka/pA5
=pMxB
-----END PGP SIGNATURE-----




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Hard floating point support for armv7a wmmx2 processor in oe-core
  2012-04-12 18:25 ` Mark Hatle
@ 2012-04-18 10:29   ` Nicolas Aguirre
  2012-04-29  2:50     ` Khem Raj
  0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Aguirre @ 2012-04-18 10:29 UTC (permalink / raw)
  To: openembedded-devel

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/



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Hard floating point support for armv7a wmmx2 processor in oe-core
  2012-04-18 10:29   ` Nicolas Aguirre
@ 2012-04-29  2:50     ` Khem Raj
  0 siblings, 0 replies; 6+ messages in thread
From: Khem Raj @ 2012-04-29  2:50 UTC (permalink / raw)
  To: openembedded-devel

On Wed, Apr 18, 2012 at 3:29 AM, Nicolas Aguirre
<aguirre.nicolas@gmail.com> wrote:
>
> 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 :)

its similar to neon. SIMD instruction set basically I think. Does
Marvell provide gcc patches for it ?



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-04-29  3:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2012-04-29  2:50     ` Khem Raj
2012-04-12 19:43 ` Andrei Gherzan
2012-04-12 19:50 ` Koen Kooi

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.