summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine/include/tune-cortexa9.inc
AgeCommit message (Collapse)Author
2019-01-28arm-tunes: Remove -march option if mcpu is already addedKhem Raj
tune files which inherit the arch definitions already define appropriate -mcpu option, which is equivalent of right -march and -mtune combination and is preferred since gcc is getting stricter and stricter with option check semantics and can now find incompatible -march and -mcpu options better with every release. It does internal feature consistency check and if it finds out discrepency between what -mcpu would expand to as compared to -march it will flag the options to be incompatible, for naked eye it sounds wrong but gcc would translate -mcpu to a given -march internally and it might not match to what we set in these arch files. The effects are quite subtle, where this can result in configure test failing to compile due to these incompatible options and a feature option getting disabled for a recipe for no reason. e.g. with gcc9 which can now detect that -mcpu=cortex-a5 and -march=armv7-a are incompatible, many features in libstdc++ ends up disabled due to configure check failures e.g. size_t size, ptrdiff_t sizes, which inturn results in compiling libstdc++ with unwanted disabled features. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10conf/machine/include: enable hardfloat by default for ARMv6 and aboveAndre McCurdy
Defaulting to softfp probably isn't the best choice anymore, especially as there are now ARM BSP layers which leave DEFAULTTUNE entirely up to the distro: https://lists.yoctoproject.org/pipermail/yocto/2017-February/034637.html Also add 't' to the ARMv7 default DEFAULTTUNEs, since there's no clear reason to default to ignoring ARM_INSTRUCTION_SET for ARMv7. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-12-07tune-cortexa*.inc: squash whitespace within TUNE_FEATURES stringsAndre McCurdy
TUNE_FEATURES is include in BUILDCFG_VARS, so any whitespace is visible to the user during the build process. Remove the extra whitespace added during the 2.1 development cycle: http://git.openembedded.org/openembedded-core/commit/?id=f774b44fa007a2a756ada892ede832b1251d940c For consistency, squash whitespace within PACKAGE_EXTRA_ARCHS strings too. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28tune-cortexa9.inc: add vfpv3 tunesRichard Tollerton
Define tunnings to enable 32 register VFPv3 for cortexa9 processor cores More details: http://www.arm.com/products/processors/technologies/vector-floating-point.php Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-07tune-*: use mcpu instead of mtune for ARM tunesMartin Jansa
* since: commit cffda9a821a3b83a8529d643c567859e091c6846 Author: Martin Jansa <Martin.Jansa@gmail.com> Date: Tue Sep 11 17:05:45 2012 +0000 arch-arm: define different ARMPKGARCH when different CCARGS are used we don't need to worry about e.g. cortexa7 device upgrading binary package from armv7a feed which would be built with -mcpu=cortexa15, so we can use -mcpu instead of -mtune, because we won't share the binary feed with MACHINEs built with different tune. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-07feature-arm-{neon,vfp}.inc: refactor and fix issuesMartin Jansa
* respect all 4 vfp options ('vfp', 'vfpv3d16', 'vfpv3', 'vfpv4') when setting -mfloat-abi and ARMPKGSFX_EABI, without this change it wasn't possible to use call-convention hard together with vfpv4 * move 'vfpv3d16', 'vfpv3', 'vfpv4' support from feature-arm-vfp.inc to feature-arm-neon.inc the main difference is that feature-arm-vfp.inc is included in arch-armv5.inc while feature-arm-neon.inc only in armv7*.inc, so these options should be added to TUNEVALID also only for armv7* MACHINEs. * support vfpv4 with or without neon when both vfpv4 and neon are in TUNE_FEATURES we want to set only one -mfpu parameter and to neon-vfpv4 * prevent multiple appends to ARMPKGSFX_FPU, we don't want to include e.g. -vfp as well as -vfpv4 when both "vfp" and "vfpv4" are in TUNE_FEATURES * add -mfpu=vfp for tunes with "vfp" in TUNE_FEATURES - before that we were only adding -vfp to ARMPKGSFX_FPU * add TUNE_CCARGS_MFPU variable which is used to set -mfpu parameter as well as ARMPKGSFX_FPU suffix in TUNE_PKGARCH, all enabled values are appended to it based on TUNE_FEATURES and then the last one is used in the actual param and suffix * this prevents multiple -mfpu options in TUNE_CCARGS * !!! This means we need to change TUNE_PKGARCH and PACKAGE_EXTRA_ARCHS for vfpv4, vfpv3d16, vfpv3 tunes, because the -vfp* isn't prependend multiple times. If you're using one of these new DEFAULTTUNES (which were at least partially broken anyway) and depend on working binary package feed upgrade-path, then don't forget to migrate PR service database to new TUNE_PKGARCH. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-07arm/arch-arm*, tune-cortexa*, tune-thunderx.inc, ↵Martin Jansa
powerpac/arch-powerpc64.inc: Use normal assignment * some tunes were using weak assignment for TUNE_FEATURES, unify all tunes to use normal assignment so it behaves consistently Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-07arch-armv7a, tune-cortexa*: improve indentationMartin Jansa
* indent the assignments, so that it's easier to see the algoritm how these values are modified and do less errors, see fixes in next commit Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-07arch-armv7a, tune-cortexa*: improve comment VFP -> HFMartin Jansa
* the section bellow the comment adds only HF variants, VFP is already mixed in the softfp sections above (unlike armv5, armv6 tune files where it really was above VFP/DSP section) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01meta/conf/machine: use ' inside quoted valuesMartin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2013-06-12tune-cortexa*.inc: fix tunings for cortex a5, a7, a8, a9, a15 machines.Andy Voltz
Using CORTEX_ID variable reference in the tuning overrides did not work. This reverts those changes, and adds a tuning file for the cortex-a5. Revert "tune-cortexa5.inc: Add tune file for cortex-a5" Revert "tune-cortexa.inc: create a common include for cortex-a armv7a tuning" Signed-off-by: Andy Voltz <andy.voltz@timesys.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-07tune-cortexa.inc: create a common include for cortex-a armv7a tuningAndy Voltz
The tuning files for the cortex-a* processors are mostly identical for the A7,A8,A9,A15 processors. Rework these files to use a CORTEX_ID variable to setup the tuning for each specific processor. Signed-off-by: Andy Voltz <andy.voltz@timesys.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-29conf/machine: use .= instead of += in TUNE_CCARGSMartin Jansa
* number of TUNE_CCARGS conditionals is important if we add extra space with each one in "else" branch I'm building for 2 MACHINEs one is cortexa9, second is cortexa8 few months ago we added TUNE_CCARGS[vardepvalue] in bitbake.conf http://git.openembedded.org/openembedded-core/commit/?id=03f1e34ea3ce80931e9c3cd2ab22824f28a7233b which fixed some cases (like mentioned tune-xscale and tune-arm926ejs) where both had unused TUNE_CCARGS when common DEFAULTTUNE was used. with cortexa[89] it's different, because cortexa9 has one extra TUNE_CCARGS TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa9", "-mtune=cortex-a9", "", d)}" which adds extra *space* even when not used because of '+=' and as result: $ bitbake-diffsigs tmp-eglibc/sstate-diff/1366797730/*/armv7*/adapterbase/*do_configure* basehash changed from f986789fb8fb3579ed6a3492cc8a8d10 to c851b5f838d945ee13072e9ad6725dca Variable TUNE_CCARGS value changed from ' -march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon ' to ' -march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon ' Hash for dependent task gcc-runtime_4.7.bb.do_populate_sysroot changed from bdeabf7a86958b9110b566344b7916de to 2be5618e6bc8c57ec9db5659bf217915 Hash for dependent task eglibc_2.17.bb.do_populate_sysroot changed from b4f40fc62dde684acd0a574532a55360 to 97fcb426603d4a1c1099c0504d2ebf7d Hash for dependent task glib-2.0_2.34.3.bb.do_populate_sysroot changed from fd2f90b83098c34e88d649d70f6ea4f5 to ebd740bb94ea3eb0a914efda6fc82c4a Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-09tune-cortexa*: Fix TUNE_FEATURES and PACKAGE_EXTRA_ARCHS for thf-neonMartin Jansa
* all cortexa*thf-neon except cortexa8 were missing thumb feature from TUNE_FEATURES_tune-armv7athf-neon * all cortexa*thf-neon except cortexa8 included cortexa9t2-vfp instead of cortexa9t2hf-vfp * PACKAGE_EXTRA_ARCHS_tune-cortexa8thf-neon was including from armv7a -PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon +PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon * please do more testing for this, I'm sending this commit mostly because I've noticed that new a7 and a15 differ from a8 more then I've expected and I don't have any a7/a15 MACHINEs, feel free to extend http://git.openembedded.org/openembedded-core-contrib/log/?h=jansa/tune2-test to add and test fake a7/a15 configs Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-03tune-cortexa*: add another TUNE which allows to enable cortexa* together ↵Martin Jansa
with thumb and neon * like we have with tune-armv7at-neon Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-03tune-*: add PACKAGE_EXTRA_ARCHS entries starting with specific ARMPKGARCHMartin Jansa
* e.g. arm926ejs DEFAULT tune is compatible with all PACKAGE_EXTRA_ARCHS_tune-armv5te, but needs to list arm926ejs with all possible suffixes too Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-03tune-cortexa*, tune-xscale: fix ARMPKGARCHMartin Jansa
* hf/t/neon/b suffix is added by other ARMPKGSFX* variables, should not be part of ARMPKGARCH, otherwise resulting TUNE_PKGARCH have that suffix twice, e.g. cortexa8hf-neonhf-neon Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-26tune-*: define more generic DEFAULTTUNE to share feed between machinesMartin Jansa
* this is mostly for backwards compatibility and to share binary feed like it was before, but now without missing different -mtune in it * if you want to build some package with -mtune add something like this to your distro config DEFAULTTUNE_qemuarm_pn-openssl = "arm926ejs" DEFAULTTUNE_qemuarmx_pn-openssl = "xscale" be aware that if you do this you should do it also for all packages which depends on openssl because if you dont and you build e.g. dhcp, then dhcp build for arm926ejs (even with DEFAULTTUNE armv5te) will depend on openssl with arm926ejs, so dhcp in armv5te feed will be rebuild after each MACHINE switch. * cortexm3, cortexr4, iwmmx and ep9312 are using own DEFAULTTUNE because they define also different -march * shared feeds are armv4t: arm920t, arm9tdmi armv5te: arm926ejs, xscale armv7a-neon: cortexa8, cortexa9 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-26arch-arm: define different ARMPKGARCH when different CCARGS are usedMartin Jansa
* without this tune-xscale and tune-arm926ejs were both creating packages in armv5te feed, but each with different -mtune, with OEBasicHash enabled it was causing each package to rebuild with new -mtune after MACHINE switch, but that doesn't make sense with output stored in the same armv5te feed * this makes different feed for each -mtune, but more generic one to be selected with DEFAULTTUNE * tune-iwmmxt and tune-ep9312 were already using this, just move it bellow AVAILTUNES and use ARMPKGARCH_tune-foo syntax * tune-cortexr4 and tune-cortexm3 are using armv7r/armv7m as ARMPKGARCH because there isn't another tune to use the same -march Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-31tune-cortexa8/9: fix PACKAGE tunes being all armv7at even for non-Thumb onesDenys Dmytriyenko
All PACKAGE_EXTRA_ARCHS for cortexa8, cortexa8t and cortexa8-neon have typo in referencing tune-armv7at even for non-Thumb modes. Probably a copy/paste error. That's not the case for recently-added hard-fp tunes. Same for cortexa9. Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28tune-cortexa9.inc: add tunefile for cortexa9 socsHenning Heinold
Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>