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"
(From OE-Core rev: 74158c2e99c6d8631800ae80025d1cc9f19336d2)
Signed-off-by: Andy Voltz <andy.voltz@timesys.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 3e4f4a1cf07ff7cf4c71566492385f8fbf581789)
Signed-off-by: Andy Voltz <andy.voltz@timesys.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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
(From OE-Core rev: b7430ff83760ac29079d20dc7c62f498a0a9d55d)
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>
* 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
(From OE-Core rev: a207ce735b602b751467eb43e09b958e664a8e81)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* e.g. arm926ejs DEFAULT tune is compatible with all PACKAGE_EXTRA_ARCHS_tune-armv5te, but needs to list arm926ejs with all possible suffixes too
(From OE-Core rev: ee3e85e3bdd382aca4ad8e2eece44064ee89dcff)
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>
* 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
(From OE-Core rev: 007a0dec82a33b01541c7f6fcad5d28c47a318ba)
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>
* 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
(From OE-Core rev: a11bdc36a1be18cc5aa14682b2a2c9ee83141f51)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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
(From OE-Core rev: cffda9a821a3b83a8529d643c567859e091c6846)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 4e91c00bb3a171bebdb716451b901f5f099a04bc)
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>