generic-poky/meta/conf/machine/include
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
..
arm conf/machine: Clean up MACHINEOVERRIDES handling 2013-03-25 17:42:58 +00:00
ia32 conf/machine: Clean up MACHINEOVERRIDES handling 2013-03-25 17:42:58 +00:00
mips insane.bbclass and friends: Fix sanity checks and multlib headers for n32 2012-10-27 09:44:56 +01:00
powerpc arch-powerpc.inc: add altivec as a valid tune feature 2012-09-28 15:19:41 +01:00
sh conf/machine/include: Update SH tunings to match README 2012-04-04 17:17:55 +01:00
README conf/machine: Clean up configuration values. 2012-05-06 09:55:46 +01:00
ia32-base.inc mesa: rename mesa-dri recipe to just mesa 2013-03-22 17:07:16 +00:00
qemu.inc conf/machine: Clean up MACHINEOVERRIDES handling 2013-03-25 17:42:58 +00:00
soc-family.inc soc-family: fix SOC_FAMILY override order 2013-03-10 04:36:50 +00:00
tune-arm9tdmi.inc tune-*: add PACKAGE_EXTRA_ARCHS entries starting with specific ARMPKGARCH 2012-12-03 14:47:57 +00:00
tune-arm920t.inc tune-*: add PACKAGE_EXTRA_ARCHS entries starting with specific ARMPKGARCH 2012-12-03 14:47:57 +00:00
tune-arm926ejs.inc tune-*: add PACKAGE_EXTRA_ARCHS entries starting with specific ARMPKGARCH 2012-12-03 14:47:57 +00:00
tune-arm1136jf-s.inc tune-*: add PACKAGE_EXTRA_ARCHS entries starting with specific ARMPKGARCH 2012-12-03 14:47:57 +00:00
tune-atom.inc conf/machine/include: Start to fill out architecture specific tune include files and tune features 2011-07-25 14:36:30 +01:00
tune-c3.inc conf/machine: Clean up configuration values. 2012-05-06 09:55:46 +01:00
tune-core2.inc conf/machine/include: Cleanup IA tunings to match README 2012-04-04 17:17:54 +01:00
tune-cortexa7.inc tune-cortexa*: Fix TUNE_FEATURES and PACKAGE_EXTRA_ARCHS for thf-neon 2013-03-10 04:36:52 +00:00
tune-cortexa8.inc tune-cortexa*: Fix TUNE_FEATURES and PACKAGE_EXTRA_ARCHS for thf-neon 2013-03-10 04:36:52 +00:00
tune-cortexa9.inc tune-cortexa*: Fix TUNE_FEATURES and PACKAGE_EXTRA_ARCHS for thf-neon 2013-03-10 04:36:52 +00:00
tune-cortexa15.inc tune-cortexa*: Fix TUNE_FEATURES and PACKAGE_EXTRA_ARCHS for thf-neon 2013-03-10 04:36:52 +00:00
tune-cortexm1.inc tune-*: add PACKAGE_EXTRA_ARCHS entries starting with specific ARMPKGARCH 2012-12-03 14:47:57 +00:00
tune-cortexm3.inc tune-*: add PACKAGE_EXTRA_ARCHS entries starting with specific ARMPKGARCH 2012-12-03 14:47:57 +00:00
tune-cortexr4.inc arch-arm: define different ARMPKGARCH when different CCARGS are used 2012-11-26 10:01:22 +00:00
tune-ep9312.inc tune-*: add PACKAGE_EXTRA_ARCHS entries starting with specific ARMPKGARCH 2012-12-03 14:47:57 +00:00
tune-i586.inc conf/machine/include: Cleanup IA tunings to match README 2012-04-04 17:17:54 +01:00
tune-iwmmxt.inc tune-*: add PACKAGE_EXTRA_ARCHS entries starting with specific ARMPKGARCH 2012-12-03 14:47:57 +00:00
tune-mips32.inc conf/machine: replace TUNE_CONFLICTS with TUNECONFLICTS 2012-07-17 10:53:53 +01:00
tune-mips64.inc tune-mips64.inc: Add new tune file for mips64 big-endian 2012-05-21 09:59:04 +01:00
tune-ppc476.inc tune-ppc476.inc: Support ppc476 2012-07-18 14:29:29 +01:00
tune-ppc603e.inc conf/machine/include: Cleanup PowerPC tunings to match README 2012-04-04 17:17:55 +01:00
tune-ppce300c2.inc conf/machine/include: Cleanup PowerPC tunings to match README 2012-04-04 17:17:55 +01:00
tune-ppce300c3.inc conf/tune: add tune-ppce300c3 2012-09-07 12:10:39 +01:00
tune-ppce500.inc conf/machine/include: Cleanup PowerPC tunings to match README 2012-04-04 17:17:55 +01:00
tune-ppce500mc.inc conf/machine/include: Cleanup PowerPC tunings to match README 2012-04-04 17:17:55 +01:00
tune-ppce500v2.inc conf/machine/include: Cleanup PowerPC tunings to match README 2012-04-04 17:17:55 +01:00
tune-ppce5500.inc conf/machine/include: Cleanup PowerPC tunings to match README 2012-04-04 17:17:55 +01:00
tune-ppce6500.inc tune-ppce6500.inc: add e6500 tune files 2012-09-28 15:19:41 +01:00
tune-sh3.inc tune-sh4.inc: Fix spelling of big-endian feature set 2012-05-01 12:38:07 +01:00
tune-sh4.inc tune-sh4.inc: Fix spelling of big-endian feature set 2012-05-01 12:38:07 +01:00
tune-strongarm1100.inc tune-*: add PACKAGE_EXTRA_ARCHS entries starting with specific ARMPKGARCH 2012-12-03 14:47:57 +00:00
tune-supersparc.inc conf/machine/include: Set TUNE_CCARGS instead of TARGET_CC_ARCH 2011-07-25 12:06:30 +01:00
tune-thumb.inc meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True) 2012-03-05 10:22:56 -08:00
tune-x86_64.inc tune-x86-64: Fix DEFAULTTUNE order so weak default to overrides the arch-ia32 version 2011-08-10 13:33:06 +01:00
tune-xscale.inc tune-xscale: Drop unneeded optimisation overrides 2013-03-18 13:18:20 +00:00

README

2012/03/30 - Mark Hatle <mark.hatle@windriver.com>
 - Initial Revision

The individual CPU, and ABI tunings are contained in this directory.  A 
number of local and global variables are used to control the way the 
tunings are setup and how they work together to specify an optimized 
configuration.

The following is brief summary of the generic components that are used 
in these tunings.

AVAILTUNES - This is a list of all of the tuning definitions currently 
available in the system.  Not all tunes in this list may be compatible 
with the machine configuration, or each other in a multilib 
configuration.  Each tuning file can add to this list using "+=", but 
should never replace the list using "=".

DEFAULTTUNE - This specifies the tune to use for a particular build.  
Each tune should specify a reasonable default, which can be overriden by 
a machine or multilib configuration.  The specified tune must be listed 
in the AVAILTUNES.

TUNEVALID[feature] - The <feature> is defined with a human readable 
explanation for what it does.  All architectural, cpu, abi, etc tuning 
features must be defined using TUNEVALID.

TUNECONFLICTS[feature] - A list of features which conflict with <feature>.
New sanity checks will try to reject combinations in which a single
tuning ends up with features which conflict with each other.

TUNE_FEATURES - This is automatically defined as TUNE_FEATURES_tune-<tune>.
See TUNE_FEATURES_tune-<tune> for more information.

TUNE_FEATURES_tune-<tune> - Specify the features used to describe a 
specific tune.  This is a list of features that a tune support, each 
feature must be in the TUNEVALID list.  Note: the tune and a given 
feature name may be the same, but they have different purposes.  Only 
features may be used to change behavior, while tunes are used to 
describe an overall set of features.

ABIEXTENSION - An ABI extension may be specified by a specific feature 
or other tuning setting, such as TARGET_FPU.  Any ABI extensions either 
need to be defined in the architectures base arch file, i.e.  
ABIEXTENSION = "eabi" in the arm case, or appended to in specific tune 
files with a ".=".  Spaces are not allowed in this variable.

TUNE_CCARGS - Setup the cflags based on the TUNE_FEATURES settings.  
These should be additive when defined using "+=".  All items in this 
list should be dynamic! i.e. 
${@bb.utils.contains("TUNE_FEATURES", "feature", "cflag", "!cflag", d)}

TUNE_ARCH - The GNU canonical arch for a specific architecture.  i.e. 
arm, armeb, mips, mips64, etc.  This value is by bitbake to setup 
configure. TUNE_ARCH definitions are specific to a given architecture.  
They may be a single static definitions, or may be dynamically adjusted.  
See each architectures README for details for that CPU family.

TUNE_PKGARCH - The package architecture used by the packaging systems to 
define the architecture, abi and tuning of a particular package.  
Similarly to TUNE_ARCH, the definition of TUNE_PKGARCH is specific to 
each architecture. See each architectures README for details for that 
CPU family.

PACKAGE_EXTRA_ARCHS - Lists all runtime compatible package 
architectures.  By default this is equal to 
PACKAGE_EXTRA_ARCHS_tune-<tune>.  If an architecture deviates from the 
default it will be listed in the architecture README.

PACKAGE_EXTRA_ARCHS_tune-<tune> - List all of the package architectures 
that are compatible with this specific tune.  The package arch of this 
tune must be in the list.

TARGET_FPU - The FPU setting for a given tune, hard (generate floating 
point instructions), soft (generate internal gcc calls), "other" 
architecture specific floating point.  This is synchronized with the 
compiler and other toolchain items.  This should be dynamically 
configured in the same way that TUNE_CCARGS is.

BASE_LIB_tune-<tune> - The "/lib" location for a specific ABI.  This is 
used in a multilib configuration to place the libraries in the correct, 
non-conflicting locations.