[OE-core] [PATCH] tune-cortexa5.inc: add tune file for cortex-a5, based on a7

Andy Voltz andy.voltz at timesys.com
Tue Jun 4 19:57:26 UTC 2013


> Date: Mon, 03 Jun 2013 23:18:24 +0200
> From: Marcin Juszkiewicz <marcin at juszkiewicz.com.pl>
> To: openembedded-core at lists.openembedded.org
> Subject: Re: [OE-core] [PATCH] tune-cortexa5.inc: add tune file for
>         cortex-a5, based on a7
> Message-ID: <51AD0820.8030302 at juszkiewicz.com.pl>
> Content-Type: text/plain; charset=UTF-8
> 
> W dniu 03.06.2013 18:40, Andy Voltz pisze:
> > Signed-off-by: Andy Voltz <andy.voltz at timesys.com>
> > ---
> >  meta/conf/machine/include/tune-cortexa5.inc |   36 +++++++++++++++++++++++++++
> 
> I think that it is time to create simple tune-cortex.inc which would be
> used by cores tunes to set all of it.
> 
> So tune-cortexa5.inc would be:
> 
> ----
> CORTEX_ID   = "a5"
> CORTEX_NAME = "A5"
> 
> require conf/machine/include/arm/tune-cortex.inc
> ----
> 
> and tune-cortex.inc will have things like:
> 
> ----
> DEFAULTTUNE ?= "armv7a-neon"
> 
> require conf/machine/include/arm/arch-armv7a.inc
> 
> TUNEVALID[cortex${CORTEX_ID}] = "Enable Cortex-${CORTEX_NAME} specific
> processor optimizations"
> TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES",
> "cortex${CORTEX_ID}", " -mtune=cortex-${CORTEX_ID}", "", d)}"
> 
> # Little Endian base configs
> AVAILTUNES += "cortex${CORTEX_ID} cortex${CORTEX_ID}t
> cortex${CORTEX_ID}-neon cortex${CORTEX_ID}t-neon"
> ARMPKGARCH_tune-cortex${CORTEX_ID} = "cortex${CORTEX_ID}"
> ARMPKGARCH_tune-cortex${CORTEX_ID}t = "cortex${CORTEX_ID}"
> ARMPKGARCH_tune-cortex${CORTEX_ID}-neon = "cortex${CORTEX_ID}"
> ARMPKGARCH_tune-cortex${CORTEX_ID}t-neon = "cortex${CORTEX_ID}"
> TUNE_FEATURES_tune-cortex${CORTEX_ID} = "${TUNE_FEATURES_tune-armv7a}
> cortex${CORTEX_ID}"
> TUNE_FEATURES_tune-cortex${CORTEX_ID}t = "${TUNE_FEATURES_tune-armv7at}
> cortex${CORTEX_ID}"
> TUNE_FEATURES_tune-cortex${CORTEX_ID}-neon =
> "${TUNE_FEATURES_tune-armv7a-neon} cortex${CORTEX_ID}"
> TUNE_FEATURES_tune-cortex${CORTEX_ID}t-neon =
> "${TUNE_FEATURES_tune-armv7at-neon} cortex${CORTEX_ID}"
> PACKAGE_EXTRA_ARCHS_tune-cortex${CORTEX_ID} =
> "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortex${CORTEX_ID}-vfp"
> PACKAGE_EXTRA_ARCHS_tune-cortex${CORTEX_ID}t =
> "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortex${CORTEX_ID}-vfp
> cortex${CORTEX_ID}t2-vfp"
> PACKAGE_EXTRA_ARCHS_tune-cortex${CORTEX_ID}-neon =
> "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortex${CORTEX_ID}-vfp
> cortex${CORTEX_ID}-vfp-neon"
> PACKAGE_EXTRA_ARCHS_tune-cortex${CORTEX_ID}t-neon =
> "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortex${CORTEX_ID}-vfp
> cortex${CORTEX_ID}-vfp-neon cortex${CORTEX_ID}t2-vfp
> cortex${CORTEX_ID}t2-vfp-neon"
> 
> [..]
> -----
> 
> What do you think?
> 
> 

I just tried this solution with my vybrid cortex-a5 build. The only issue is a
parse error on ${CORTEX_ID} here: 

TUNEVALID[cortex${CORTEX_ID}] = "Enable Cortex-${CORTEX_NAME} specific

I amended the changes so that each tune-cortexa5.inc (for example) looks like:

+CORTEX_ID = "a5"
+
+TUNEVALID[cortexa5] = "Enable Cortex-A5 specific processor optimizations"
+
+require conf/machine/include/tune-cortex.inc

I didn't think it was worth having a CORTEX_NAME if TUNEVALID does not parse..

My only other thought is perhaps tune-cortex.inc should be called
tune-cortexa.inc? It seems like the m series is a different animal.

What do you think?

Regards
--
Andy Voltz
Linux Engineer
Timesys Corporation



More information about the Openembedded-core mailing list