Age | Commit message (Collapse) | Author |
|
Move all of the tune files found in conf/machine/include into their
respective architecture directories in that same location. All
references to these will need to be updated. So, change the relevant
ones for this tree in this commit as well.
For the ARM tunes, nest them one further into armv8a, armv8m, etc. and
rename some to make them uniform with the rest of the tunes.
(From OE-Core rev: b6f15209bcfff953cce69da97a93f9ddff141ced)
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This is the result of automated script conversion:
scripts/contrib/convert-overrides.py <oe-core directory>
converting the metadata to use ":" as the override character instead of "_".
(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Multiple files have " ," instead of ", " in expressions. This changes
them to conform to the way the rest of them are done.
Found and corrected via:
git ls-files | xargs sed --follow-symlinks -i 's/ ,d/, d/g'
(From OE-Core rev: 36c3afd2dd8bded02ea8f255e89a09ebd75c795b)
Signed-off-by: Jon Mason <jon.mason@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
(From OE-Core rev: ac83d22eb5031f7fdd09d34a1a46d92fd3e39a3c)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
(From OE-Core rev: 2b3ae58f5eaecc8474761c543ff5347aa0e3c4c8)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
(From OE-Core rev: 5610c6397ee098dd998b7417b343494de77179f9)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
* 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.
(From OE-Core rev: f7bb2d4cf18ca8d2a90b4b3b5c6c48dad106ca28)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
* 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.
(From OE-Core rev: 6661718158f8fdcdf63b0d48e8fe72d3ac4778f2)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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
(From OE-Core rev: 0a52bd3ed23e66200401d0836aad783095e7c7a0)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
* 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
(From OE-Core rev: f774b44fa007a2a756ada892ede832b1251d940c)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
* 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)
(From OE-Core rev: 0c60d744f6ec3b77f044ac7d66e30c00d00fea81)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
(From OE-Core rev: 924ccf202a6d89de32fc34a140bf9e35e8e43b4e)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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>
|
|
with thumb and neon
* like we have with tune-armv7at-neon
(From OE-Core rev: 3337b695ca3af5b894d9c61436c61a1d1750f089)
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>
|
|
* 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>
|
|
Enable machines or distros to select the hard floating point abi for cortexa8
machines. I left out the arm7a thumb+neon combinations as they were not
present in the original non-hf set.
(From OE-Core rev: c70ebd6f8ff34071febeb132c8bc4df220e328da)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Jason Kridner <jkridner@beagleboard.org>
CC: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
(From OE-Core rev: 789dcb8e68a2ab9784ac10ab36815010c61af2fc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
files and tune features
These changes revolve around the idea of tune features. These are represented by
'flag' strings that are included in the TUNE_FEATURES variable.
Any string included in TUNE_FEATURES should also add a TUNEVALID[<name>] entry so
we can know which flags are available in TUNE_FEATURES and have documentation about
what the flags do. We will add sanity code to error if flags are listed in
TUNE_FEATURES but are not documented in TUNEVALID.
A given tune configuration will want to define one or more predetermined sets of
_FEATURE flag lists. These are defined in the form TUNE_FEATURES_tune-<name>.
For defined tune configuation, <name> should be added to the AVAILTUNE list so that
we can determine what tune configurations are available. Flags cannot be used in this
case as with TUNEVALID since its useful to be able to build up tune lists from other
TUNE_FEATURES_tune-yyy options.
A given tune configuration may also define PACKAGE_EXTRA_ARCHS_tune-<name> and
BASE_LIB_tune-<name> to control the multilib location. All options can be overridden
by the distro or local user configuration.
(From OE-Core rev: 5f9d56bd64997b93ed7e46c117851002a0556654)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Since we're updating the tune file format, it makes sense to abstract
the compiler tune arguments at this point too. This means that should
these need to be overridden at any point, the original values can
still be obtained in a similar manner to the other TUNE* variables.
Whilst this isn't strictly necessary for any current need, its likely
good practise to standardise this behaviour.
(From OE-Core rev: 3a3c69a1bc3cf0b6f6a3b13d86c12ed21798d48e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There is currently consideradble confusion over how the tune files operate
and how these interact with the rest of the build system. This update/overhaul
changes things so the tune files are primarily resonsible for setting:
TUNE_ARCH - What was formerly set as TARGET_ARCH and is the value that
represents the architecture we're targetting.
TUNE_PKGARCH - The value that represents the tune confuration that this set
of tune parameters results in.
This allows the significant improvement that the core can now always determine
the target architecture value, even when TARGET_ARCH needs to be reset to
something different and likewise, there is one package architecture variable
the core can reference allowing simplification of the BASE_PACKAGE_ARCH, PACKAGE_ARCH
and FEED_ARCH variables.
(From OE-Core rev: a10de4cf8b424ee95c8e283e75d486be5b3b8eac)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There is a problem with the current PACKAGE_EXTRA_ARCHS implementation
since its impossible to control which extra architectures sort higher
than TARGET_ARCH and which sort lower. In the x86 case for example,
TARGET_ARCH might be "i586", i486 should be lower than this and i686 should
be higher. There are also complications where its easy to inject duplicate
entries into the variable.
I tried various versions of this patch and concluded that it was simplest
just to force the tune files to include TARGET_ARCH in the list in the
right place if they're planning to customise it themselves. Other approaches
with appends and prepends just complicated the code for no good reason.
The TARGET_ARCH definitions should also move to the tune files but I'll
leave this for a separate patch.
(From OE-Core rev: d492ebf8b1801da99c679f465be98ce54fd3061a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This gets us closer to making including tune-<arch>.inc "just work".
Moving the TARGET_ARCH definitions is something for a follup patch.
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Mike Turquette <mturquette@ti.com>
|
|
others improves
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4880 311d38ba-8fff-0310-9ca6-ca027cbcb966
|
|
many problems
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4867 311d38ba-8fff-0310-9ca6-ca027cbcb966
|
|
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4857 311d38ba-8fff-0310-9ca6-ca027cbcb966
|
|
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4617 311d38ba-8fff-0310-9ca6-ca027cbcb966
|
|
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4615 311d38ba-8fff-0310-9ca6-ca027cbcb966
|