[OE-core] armv6-novfp and armv6-vfp and tune files

Koen Kooi koen at dominion.thruhere.net
Mon Sep 19 14:24:18 UTC 2011


Op 19 sep. 2011, om 16:18 heeft Mark Hatle het volgende geschreven:

> On 9/17/11 11:13 AM, Denis 'GNUtoo' Carikli wrote:
>> hi,
>> I've an HTC Dream, it has an armv6 CPU but lack a vfp unit.
>> I want to add correct support for it in meta-smartphone/meta-htc.
>> In order to have a correct machine config that works a tune inc file
>> must be required in it.
>> 
>> In openembedded-core there is no tune file yet for an armv6 that lacks a
>> vfp, but there are theses two files:
>> meta/conf/machine/include/tune-arm1136jf-s.inc
>> meta/conf/machine/include/arm/arch-armv6.inc
>> 
>> tune-arm1136jf-s.inc requires arch-armv6.inc.
>> 
>> So I need to create an tune-arm1136ej-s.inc which requires an
>> arch-armv6-novfp.inc(also to be created).
>> 
> 
> Is the arm1136ej-s the core in the HTC dream?  Or is it a custom armv6 (w/o vfp)?
> 
> If it's the later you should add a new tune file for this htc dream's processor.
> 
> The arch-armv6 should be modified to include a novfp feature.  Using the armv5
> as an example, I suggest:
> 
> # Little Endian
> -AVAILTUNES += "armv6 armv6t armv6hf armv6thf"
> +AVAILTUNES += "armv6-novfp armv6 armv6t armv6hf armv6thf"
> 
> +TUNE_FEATURES_tune-armv6-novfp ?= "armv6"
> 
> +PACKAGE_EXTRA_ARCHS_tune-armv6-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5e} armv6"
> 
> (if there is a thumb variant, add that as well...)
> 
> (...and... if there is a big endian variant add that as well...)
> 
> Then using tune-arm1136ej-s.inc as a model for a new htc-dream tune:
> 
> DEFAULTTUNE ?= "htcdream"
> 
> require conf/machine/include/arm/arch-armv6.inc
> 
> TUNEVALID[htcdream] = "Enable HTC dream specific processor optimizations"
> TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "htcdream",
> "-mtune=<something appropriate here>", "", d)}"
> 
> AVAILTUNES += "htcdream"
> TUNE_FEATURES_tune-htcdream = "${TUNE_FEATURES_tune-armv6-novfp} htcdream"
> PACKAGE_EXTRA_ARCHS_tune-htcdream = "${PACKAGE_EXTRA_ARCHS_tune-armv6-novfp}"
> 
> If the htc-dream has an existing core, then you can simply add a "novfp" variant
> to that core.
> 
>> 
>> however I wonder how to create the armv6-novfp.inc:
>> arch-armv6.inc has things like that inside:
>> TUNE_FEATURES_tune-armv6 ?= "armv6 vfp"
>> or:
>> PACKAGE_EXTRA_ARCHS_tune-armv6 = "${PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp}
>> armv6-vfp"
>> or:
>> TUNEVALID[armv6] = "Enable instructions for ARMv6"
>> 
>> in the recipes and in the feeds and in the workdir it's labeled as
>> "armv6-vfp".
>> 
>> So the correct way would be to label an armv6 that lacks a vfp "armv6".
>> 
>> however, I fear that the armv6 override is already taken, and also maybe
>> the arch-armv6.inc should be moved to arch-armv6-vfp.inc.
> 
> Due to the way this was originally implemented, I was told no variants of the
> armv6 existed w/o VFP.....  so the naming is what it is, I'm open to suggesting
> a change to make it more explicit that armv6 is w/o VFP and armv6-vfp is w/ VFP.
> But it's up to the oe-core community if they'll accept that change to the core
> tunings.  It's more likely they will accept armv6-novfp (as in the examples above.)


It's called armv6-novfp in OE classic






More information about the Openembedded-core mailing list