summaryrefslogtreecommitdiff
path: root/meta/conf/machine/include
diff options
context:
space:
mode:
authorDarren Hart <dvhart@linux.intel.com>2014-01-17 22:26:32 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-01-28 00:48:23 +0000
commit282735d7c8fcbd7e354f544c45461b095700fb77 (patch)
tree474ddf13086e2fd68f36710603b0c1ad90e5c584 /meta/conf/machine/include
parent112e291c14ce4c3b8d074b71e63500dce609784e (diff)
downloadopenembedded-core-282735d7c8fcbd7e354f544c45461b095700fb77.tar.gz
openembedded-core-282735d7c8fcbd7e354f544c45461b095700fb77.tar.bz2
openembedded-core-282735d7c8fcbd7e354f544c45461b095700fb77.zip
tune: README: Document best practice
Describe the expected usage of base architecture tune files and arch-specific files, specifically the stacking of generations. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Paul Eggleton <paul.eggleton@intel.com> Cc: Tom Zanussi <tom.zanussi@intel.com> Cc: Nitin Kamble <nitin.a.kamble@intel.com> Cc: Mark Hatle <mark.hatle@windriver.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> Cc: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine/include')
-rw-r--r--meta/conf/machine/include/README19
1 files changed, 19 insertions, 0 deletions
diff --git a/meta/conf/machine/include/README b/meta/conf/machine/include/README
index 65d09428a8..6c390adeee 100644
--- a/meta/conf/machine/include/README
+++ b/meta/conf/machine/include/README
@@ -1,6 +1,9 @@
2012/03/30 - Mark Hatle <mark.hatle@windriver.com>
- Initial Revision
+
+Introduction
+============
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
@@ -79,3 +82,19 @@ 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.
+
+
+Best Practice
+=============
+The tune infrastructure is designed to be hierarchical. When writing a
+new tune file for a "fast-forward" CPU architecture (one that supports
+everything from a previous generation), it is recommended to require the
+previous generation tune file and specify PACKAGE_EXTRA_ARCHS using the
+previous generation's override and appending the new tune. Note that
+only one previous tune file should be included to avoid mutiple includes
+of the base arch which could lead to a broken configuration due to
+multiple prepend and append assignments.
+
+For example, for x86, there is a common x86/arch-x86.inc which is
+included in the base i586 tune file. The core2 tune builds
+on that, and corei7 builds on core2.