Commit Graph

20 Commits

Author SHA1 Message Date
Jon Mason
ff0ea5633a arch-arm*: add better support for gcc march extensions
GCC has the ability to pass extensions to the march parameter, which
expand the funcationality of the march.  For example
"-march=armv7ve+simd" adds SIMD to ARMv7.  Currently, there is no way to
expand the march setting without modifying each instance, as you can't
guarantee the ordering when using the existing TUNE_CCARGS.  By
introducing two new variables, TUNE_CCARGS_MARCH and
TUNE_CCARGS_MARCH_OPT, we can enforce that these two go together.

Also, expand existing and create new feature files that use these
variables to expand the functionality.

(From OE-Core rev: 794eb617bfd1997e7a3498812c63a20c58a10554)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-20 08:53:03 +01:00
Richard Purdie
bb6ddc3691 Convert to new override syntax
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>
2021-08-02 15:44:10 +01:00
Jon Mason
ceefa75ac0 Space-comma Cleanups
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>
2020-09-30 15:01:51 +01:00
Khem Raj
fb2e4b1913 arch-armv4.inc, arch-armv5.inc: Do not tie generating thumb ISA to -march
-march=armv5't'e means that CPU can execute thumb ISA, we do not need to
tie this to exclusively generating thumb ISA, this change means that
when we have thumb in tune features then it can use 't' in -march
options irrespective of ISA being thumb or arm.

This fixes derivative of armv5 tunes and paves way for gcc9 where e.g.
armv5e is dropped and minimum arch supported is armv5te

(From OE-Core rev: 49bc3eab2897307a92b538a045e3d4dce245b0e0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-07 10:54:13 +00:00
Andre McCurdy
9571347bcc arch-arm*.inc: squash whitespace within TUNE_FEATURES strings
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.

Whitespace within TUNE_FEATURES strings in the tune-cortexa*.inc
files has been fixed in a separate commit:

  http://git.openembedded.org/openembedded-core/commit/?id=5610c6397ee098dd998b7417b343494de77179f9

(From OE-Core rev: 3cd0c5ef748ad072f1bd9a8d42157e9643bf97eb)

(From OE-Core rev: 971e43270173afb08f21ffac16a4157f7e611b81)

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>
2017-02-23 12:49:48 -08:00
Martin Jansa
9280a8ea61 arch-armv5.inc: drop duplicate ARMPKGSFX_DSP and PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp
* both belong and already are in arch-armv5-dsp.inc

(From OE-Core rev: 791f52d3b58ce1fd4bfd159deb83a1917d6267f2)

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>
2016-01-07 13:40:18 +00:00
Martin Jansa
46d6b0ea46 arch-armv[456]*.inc: improve indentation like armv7a
(From OE-Core rev: 5e685647733294315e6c2ce76733c9b9a5ee554b)

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>
2016-01-07 13:40:18 +00:00
Martin Jansa
860663a92f arm/arch-arm*, tune-cortexa*, tune-thunderx.inc, 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>
2016-01-07 13:40:18 +00:00
Martin Jansa
06859de21b meta/conf/machine: use ' inside quoted values
(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>
2015-12-01 21:32:05 +00:00
Martin Jansa
d19e29a8e6 feature-arm-thumb.inc, arch-armv4.inc: Add "arm" to TUNE_FEATURES
* it will be inherited by most DEFAULTTUNEs, except few exceptions which
  support only thumb and not arm
* respect missing "arm" in TUNE_FEATURES in feature-arm-thumb.inc, so
  when recipe asks for "arm" and MACHINE supports only "thumb" ignore
  recipe and try to build with "thumb"
* show warning when overriding ARM_INSTRUCTION_SET set by recipe from tune
  config

(From OE-Core rev: 1250d3e009363d20f15bbfaced622c5912a7fb93)

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>
2014-04-29 17:20:11 +01:00
Martin Jansa
60589dd60c conf/machine: use .= instead of += in TUNE_CCARGS
* 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>
2013-04-29 14:45:06 +01:00
Richard Purdie
88fa952b7c conf/machine: Clean up MACHINEOVERRIDES handling
OVERRIDES reads from left to right, least to most specific. We were
appending to MACHINEOVERRIDES when we should have been prepending so
the ordering of qemuall verses qemuxxx was incorrect, as was the x86
override and several of the arm overrides. This patch is a batch cleanup
of the various issues to correct the order from least to most specific.
The include order does matter and we needed to tweak some of that in this
patch too.

[YOCTO #4090]

(From OE-Core rev: bdc1b214431c9c93a929b547b9a61e7b87fbd366)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-25 17:42:58 +00:00
Martin Jansa
d8bb18e2ce arch-arm*: unify appending to TUNE_FEATURES
* that we always use TUNE_FEATURES_tune-arm* variable and add only one TUNE_FEATURE to it
* for bigendian always use littleendian counterpart and append bigendian TUNE_FEATURE

(From OE-Core rev: 1bc205f895c8143e0bde3c4ba0e699cc0b2f0de8)

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-03 14:47:58 +00:00
Martin Jansa
37af048936 arch-armv[457]*: fix PACKAGE_EXTRA_ARCHS for bigendian TUNEs
* bigendian should not include little endian PACKAGE_ARCHS

(From OE-Core rev: 42e18249b02280de28fb7159b11e3c7c78a6cb03)

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-03 14:47:57 +00:00
Martin Jansa
b0e8c6a83f arch-armv5: fix missing thumb TUNE_FEATURE in armv5t-vfp and following tunes
(From OE-Core rev: 7fbbf13ea5f0f3b4ac93e40ead581de572771a5d)

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-03 14:47:57 +00:00
Martin Jansa
c5b670e4c9 arm/arch-arm*: define ARMPKGARCH_tune-* for default tunes
* tune-foo is not valid override, for it to work I had to add
  ARMPKGARCH = "${ARMPKGARCH_tune-${DEFAULTTUNE}}"
  but that doesn't work without value defined for every supported
  DEFAULTTUNE value, otherwise it's expanded like this
  TUNE_PKGARCH (${ARMPKGARCH_tune-armv5te}te).

(From OE-Core rev: 31e4f2dee990ee7f5d7491b65565e71d7d580209)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-26 10:01:22 +00:00
Martin Jansa
1f7f9258c4 conf/machine: replace TUNE_CONFLICTS with TUNECONFLICTS
* it wasn't consistent with other machine configs
* reported 2 months ago..
  http://lists.linuxtogo.org/pipermail/openembedded-core/2012-May/022154.html

(From OE-Core rev: 3fec966531059b4b21f40be3b22a60edf88c5190)

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-07-17 10:53:53 +01:00
Mark Hatle
449dae1e03 conf/machine/include: Cleanup ARM tunings to match README
Cleanup the ARM tunings to match the new tunings README file.

The ARM tunings define TUNE_PKGARCH in a way that only one main
arm architecture, i.e. armv6, may be defined at the same time.  We
may have to revise these settings in the future, as well as figure
out a way to better differentiate various optimize tunings in the
package arch.  (This was not done, to preserve existing behavior!)

Fix a number of minor issues w/ the armv5 tunings where DSP variants
were referenced but not defined.

Fix incorrect armv7 entries in armv7a.

Fix PACKAGE_EXTRA_ARCHS definitions inside of tune-cortexm3 and tune-cortexr4.

(From OE-Core rev: 0e71abea5458122188d5eddef2c17147f61ff895)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:55 +01:00
Martin Jansa
ebe66be93a conf/machine/include/arm add extra MACHINEOVERRIDES like x86 does
* motivated by this NAK
  http://patchwork.openembedded.org/patch/15777/
  and today's discussion on #yocto I hope it's worth it to send this RFC

(From OE-Core rev: e3e1fef27345e2ea923b76b1e6bcb9cd5572cec6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:11 +00:00
Richard Purdie
6afd21bced Add ARM tune file overhaul based largely on work from Mark Hatle
(From OE-Core rev: 789dcb8e68a2ab9784ac10ab36815010c61af2fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-27 15:45:48 +01:00