aboutsummaryrefslogtreecommitdiffstats
path: root/meta/conf/machine/include/arm
AgeCommit message (Collapse)Author
2015-07-02feature-arm-thumb.inc: Fix ARMPKGSFX_THUMB valueMartin Jansa
* my previous thumb related commit: commit 3e760031f91fb87c3e2f62b77a117eb41164f259 Author: Martin Jansa <martin.jansa@gmail.com> Date: Wed Feb 18 15:40:35 2015 +0100 feature-arm-thumb.inc: respect ARM_INSTRUCTION_SET when adding thumb suffix unfortunately removed conditional on "thumb" in TUNE_FEATURES, when setting ARMPKGSFX_THUMB * in case we have MACHINE without "thumb" in TUNE_FEATURES and distro setting ARM_INSTRUCTION_SET to "thumb" we end with: ARM_INSTRUCTION_SET="thumb" ARM_THUMB_OPT="thumb" ARM_M_OPT="thumb" # TUNE_CCARGS correctly not adding -mthumb TUNE_CCARGS=" -march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon" # but ARMPKGSFX_THUMB and TUNE_PKGARCH including "t2": ARMPKGSFX_THUMB="t2" TUNE_PKGARCH="armv7at2-vfp-neon" # causing following error: Error, the PACKAGE_ARCHS variable does not contain TUNE_PKGARCH (armv7at2-vfp-neon). Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-02-21arch-armv7a.inc, tune-arm920t.inc: Fix PACKAGE_EXTRA_ARCHSMartin Jansa
* each DEFAULTTUNE with thumb enabled should list it's arm variants in PACKAGE_EXTRA_ARCHS, otherwise packages which force arm ISA won't be found in do_rootfs * armv7athf-neon-vfpv4 was missing its own PACKAGE_ARCH and also the arm variant Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21feature-arm-thumb.inc: respect ARM_INSTRUCTION_SET when adding thumb suffixMartin Jansa
* this means that recipes with ARM_INSTRUCTION_SET explicitly changed to arm will be built in feed without thumb suffix, the same does apply for workdir, e.g. after "bitbake glib-2.0" you can see: tmp-glibc/work/armv5e-oe-linux-gnueabi: glib-2.0 glibc glibc-initial tmp-glibc/work/armv5te-oe-linux-gnueabi: acl db gdk-pixbuf kmod .... and tmp-glibc/deploy/ipk: all armv5e armv5te qemuarm * feed config should be ok, because all default DEFAULTTUNEs always include "arm" variants of all supported PACKAGE_ARCHs * for more details see http://lists.openembedded.org/pipermail/openembedded-core/2014-April/091960.html the toolchain path issues were resolved in 1.8 * add ARM_INSTRUCTION_SET = "arm" to glibc-collateral.inc and comment in glibc.inc to fix glibc-locale and glibc-scripts build Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29feature-arm-thumb.inc: Remove extra space on thumb overrideMark Hatle
The extra space makes the overrides look like "foo:bar: thumb:foobar". This may prevent thumb from working properly, and the space was never intended in the original fix. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2014-12-22aarch-arm64: Update tune filesMark Hatle
arch-arm64 is the base tune file for aarch64. Update this to allow the system to work with both aarch32 and aarch64 (multilib). arch-armv8 is for compatibility, it simply uses the base config for now. feature-arm-thumb was updated, since aarch64 mode does NOT have thumb support. We should only be processing warnings and additional arguments if thumb support is enabled on the processor core. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21Add machine qemuarm64Kai Kang
Add machine qemuarm64. The configure files are derived from linaro. Update: * rename genericarmv8 to qemuarm64 for coordination in oe-core * include qemu.inc then remove common part of config * disable using autoserial * move arch-armv8.inc from machine/include/arm64 to machine/include/arm [YOCTO #6487] Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-29feature-arm-thumb.inc: set ARMPKGSFX_THUMB only when thumb is in TUNE_FEATURESMartin Jansa
* there is issue for TUNE_PKGARCH missing in PACKAGE_ARCHS for machines without thumb enabled, it was reported by Jacob Kroon on IRC Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-29feature-arm-thumb.inc: Suppress false warningJacob Kroon
If a recipe does not explicitly set ARM_INSTRUCTION_SET, then there is no need to throw a warning: WARNING: Recipe 'foobar' selects ARM_INSTRUCTION_SET to be 'None', but tune configuration overrides it to 'arm' Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-29feature-arm-thumb.inc, arch-armv4.inc: Add "arm" to TUNE_FEATURESMartin Jansa
* 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 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-04-29feature-arm-thumb.inc: Replace inner quotes with apostrophesMartin Jansa
* so that it's highlighted correctly Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-02-02Add Cortex A7 support for NEONv2 & FPv4Kristof Robot
[YOCTO #5710] Add tuning options for Cortex-A7 with NEONv2 & FPv4: - cortexa7hf-neon-vfpv4 - cortexa7thf-neon-vfpv4 Signed-off-by: Kristof Robot <krirobo@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-01-28feature-arm-thumb: Fix missing t2 suffix for armv7a MACHINEsMartin Jansa
* unfortunatelly that note about armv7 matching also armv7a is no longer valid since armv7 include in armv7 was replaced with armv6+neon in this commit: commit 75b8adbc042e0f65fb1286bc550d02becd3b6aea Author: Khem Raj <raj.khem@gmail.com> Date: Tue Mar 27 18:37:45 2012 -0700 tune/armv7: Delete since then thumb and arm feeds had the same architecture * be aware that this will rename lots of feeds Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.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-25conf/machine: Clean up MACHINEOVERRIDES handlingRichard Purdie
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] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-03arch-armv6: add tunes without vfp enabledVíctor Enríquez
This work was made by Victor Enriquez and then modified by Denis Carikli who was helped by Mark Hatle comments. And in the end modified by Martin Jansa to support different ARMPKGARCH and removed explicit -novfp suffix. The changes are for adding support to armv6-novfp, for building binaries for armv6 machines without vfp, for example the htc dream. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> Signed-off-by: Víctor Enríquez <victor.quicksilver@gmail.com> 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-03arch-armv4.inc: add --fix-v4bx to TARGET_LD_KERNEL_ARCH only for armv4 and ↵Martin Jansa
strongarm1100 * without this patch it does apply --fix-v4bx not only to armv4, but also all higher (because they also have armv4 in TUNE_FEATURES) * it causes SIGILL on armv4t http://lists.linuxtogo.org/pipermail/openembedded-devel/2012-November/042298.html * someone please test on armv4 device (I tested only bitbake -e output that it's correctly applied with DEFAULTTUNE == armv4 * maybe we can should fix this in binutils instead (both 2.22 and 2.23 are affected) 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-03arch-arm*: unify appending to TUNE_FEATURESMartin Jansa
* 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 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-03arch-armv[457]*: fix PACKAGE_EXTRA_ARCHS for bigendian TUNEsMartin Jansa
* bigendian should not include little endian PACKAGE_ARCHS 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-03arch-armv5: fix missing thumb TUNE_FEATURE in armv5t-vfp and following tunesMartin Jansa
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-26arm/arch-arm*: define ARMPKGARCH_tune-* for default tunesMartin Jansa
* 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). Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24arch-armv7a.inc: Don't disable vectorizationKhem Raj
We have been adding this option to paper over a bug in old toolchain http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ e.g. is one but these have been weeded out. Therefore let gcc take the default vectorization optimizations Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10arch-armv4.inc: On armv4 add --fix-v4bx to linker flags for kernelKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-07-16conf/machine: replace TUNE_CONFLICTS with TUNECONFLICTSMartin Jansa
* it wasn't consistent with other machine configs * reported 2 months ago.. http://lists.linuxtogo.org/pipermail/openembedded-core/2012-May/022154.html Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-05-06conf/machine: Clean up configuration values.Peter Seebach
This cleans up and/or corrects a few values from machine includes for consistency with future toolchain sanity checks, and also adds the TUNEVALID and TUNECONFLICTS to documentation.conf. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04conf/machine/include: Cleanup ARM tunings to match READMEMark Hatle
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. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2012-03-30arch-armv7a.inc: fix PACKAGE_EXTRA_ARCHS after armv7.inc was removedMartin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28tune/armv7: DeleteKhem Raj
armv7 is least common denominator of armv7-a armv7-m and armv7-r and armv7-m does not support ARM instructions but only thumb2 instruction set which means armv7 when chosen will complain if code is compiled in arm mode which is default in OE if not specified other wise if we chose this tuning errors like below pop up error: target CPU does not support ARM mode This tuning seems theoretical and base tune for armv7 would be one of armv7-a, armv7-m or armv7-r Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)Richard Purdie
Using "1" with getVar is bad coding style and "True" is preferred. This patch is a sed over the meta directory of the form: sed \ -e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \ -e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \ -i `grep -ril getVar *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26arch-armv7.inc: fix quotingMartin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-23Change -mno-thumb to -marmKen Werner
Recent versions of the GCC reject the -mno-thumb option. In order to prevent the compiler from generating code for the Thumb instruction set the -marm switch should be used instead. For details see GNU bug #47930. Signed-off-by: Ken Werner <ken.werner@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13conf/machine/include/arm add extra MACHINEOVERRIDES like x86 doesMartin Jansa
* 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 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie
This is the result of running the following over the metadata: sed \ -e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \ -e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-22tune: add missing closing quote to arch-armv7a.inc for AVAILTUNESDarren Hart
A closing quote was missing for an AVAILTUNES append operation, add it. Signed-off-by: Darren Hart <dvhart@linux.intel.com> CC: Jason Kridner <jkridner@beagleboard.org> CC: Koen Kooi <koen@dominion.thruhere.net>
2011-08-05machine/include/arm/feature-arm-thumb: Allow thumb to be disabledRichard Purdie
The previous commit to this file meant thumb was always being turned on even when TUNE_FEATURES did not contain "thumb". This is clearly wrong and this patch corrects this so thumb options are no longer specified in that case. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-01arch-armv7a.inc: fix armv7a-vfp-neon -> armv7a compat caseKoen Kooi
Without this 'armv7a' is used as TUNE_ARCH but does *not* end up in PACKAGE_EXTRA_ARCHS: arch all 1 arch any 6 arch noarch 11 arch arm 16 arch armv4 21 arch armv4t 26 arch armv5 31 arch armv5t 36 arch armv5-vfp 41 arch armv5t-vfp 46 arch armv5e 51 arch armv5te 56 arch armv5e-vfp 61 arch armv5te-vfp 66 arch armv6-vfp 71 arch armv6t-vfp 76 arch armv7-vfp 81 arch armv7t2-vfp 86 arch armv7a-vfp 91 arch armv7at2-vfp 96 arch armv7a-vfp-neon 101 arch armv7at2-vfp-neon 106 arch beagleboard 111 Which leads to a failing do_rootfs Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-29feature-arm-thumb: respect ARM_INSTRUCTION_SETMartin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
2011-07-29arch-armv6, arch-armv5-dsp: correct endianness confusionPhil Blundell
PACKAGE_EXTRA_ARCHS_tune-armv5eb needs to be defined in terms of the non-e with the same endianness, i.e. PACKAGE_EXTRA_ARCHS_tune-armv5b not PACKAGE_EXTRA_ARCHS_tune-armv5, otherwise PACKAGE_EXTRA_ARCHS will end up containing a semi-random mixture of endiannesses and disaster will ensue. Likewise for the vfp and armv6 variants. This is all a bit confusing because TUNE_FEATURES is done the opposite way around, i.e. TUNE_FEATURES_tune-armv5eb is derived by taking the armv5e version and adding bigendian. But fixing that is probably a subject for a separate patch. Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
2011-07-27Add ARM tune file overhaul based largely on work from Mark HatleRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-25Move architecture specific TARGET_OS mangling into tune filesRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-25conf/machine/include: Start to fill out architecture specific tune include ↵Richard Purdie
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>