From 282735d7c8fcbd7e354f544c45461b095700fb77 Mon Sep 17 00:00:00 2001 From: Darren Hart Date: Fri, 17 Jan 2014 22:26:32 +0000 Subject: 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 Cc: Richard Purdie Cc: Paul Eggleton Cc: Tom Zanussi Cc: Nitin Kamble Cc: Mark Hatle Cc: Bruce Ashfield Cc: Martin Jansa Signed-off-by: Richard Purdie --- meta/conf/machine/include/README | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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 - 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- - 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. -- cgit v1.2.3