summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine/include/README
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2012-03-30 14:27:05 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-04-04 17:17:54 +0100
commit62331ff46bd63067dbcdf672460a9aeda18a6e7e (patch)
tree036c7c31d595c0e3de9cb3192f94b7507e80ebad /meta/conf/machine/include/README
parentc87b50ea9d159bba1ab36f14dc2ec602a4352dbe (diff)
downloadpoky-62331ff46bd63067dbcdf672460a9aeda18a6e7e.tar.gz
conf/machine/include/README: Add readme to explain cpu tunings
Add a new README that covers the basic items used with various cpu tunings. The goal is to better help people understand the various settings and where things should or should not be defined. Corresponding architecture README files will also be generated to explain the particulars of architectural tunings. Also remove the default TUNE_PKGARCH setting in bitbake.conf. This was done to ensure an error occurs if an invalid tuning is defined. (From OE-Core rev: e138f9f7e48e0af94c5c88045c4f0581cc68248d) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine/include/README')
-rw-r--r--meta/conf/machine/include/README77
1 files changed, 77 insertions, 0 deletions
diff --git a/meta/conf/machine/include/README b/meta/conf/machine/include/README
new file mode 100644
index 0000000000..6a3a63dbca
--- /dev/null
+++ b/meta/conf/machine/include/README
@@ -0,0 +1,77 @@
12012/03/30 - Mark Hatle <mark.hatle@windriver.com>
2 - Initial Revision
3
4The individual CPU, and ABI tunings are contained in this directory. A
5number of local and global variables are used to control the way the
6tunings are setup and how they work together to specify an optimized
7configuration.
8
9The following is brief summary of the generic components that are used
10in these tunings.
11
12AVAILTUNES - This is a list of all of the tuning definitions currently
13available in the system. Not all tunes in this list may be compatible
14with the machine configuration, or each other in a multilib
15configuration. Each tuning file can add to this list using "+=", but
16should never replace the list using "=".
17
18DEFAULTTUNE - This specifies the tune to use for a particular build.
19Each tune should specify a reasonable default, which can be overriden by
20a machine or multilib configuration. The specified tune must be listed
21in the AVAILTUNES.
22
23TUNEVALID[feature] - The <feature> is defined with a human readable
24explanation for what it does. All architectural, cpu, abi, etc tuning
25features must be defined using TUNEVALID.
26
27TUNE_FEATURES - This is automatically defined as TUNE_FEATURES_tune-<tune>.
28See TUNE_FEATURES_tune-<tune> for more information.
29
30TUNE_FEATURES_tune-<tune> - Specify the features used to describe a
31specific tune. This is a list of features that a tune support, each
32feature must be in the TUNEVALID list. Note: the tune and a given
33feature name may be the same, but they have different purposes. Only
34features may be used to change behavior, while tunes are used to
35describe an overall set of features.
36
37ABIEXTENSION - An ABI extension may be specified by a specific feature
38or other tuning setting, such as TARGET_FPU. Any ABI extensions either
39need to be defined in the architectures base arch file, i.e.
40ABIEXTENSION = "eabi" in the arm case, or appended to in specific tune
41files with a ".=". Spaces are not allowed in this variable.
42
43TUNE_CCARGS - Setup the cflags based on the TUNE_FEATURES settings.
44These should be additive when defined using "+=". All items in this
45list should be dynamic! i.e.
46${@bb.utils.contains("TUNE_FEATURES", "feature", "cflag", "!cflag", d)}
47
48TUNE_ARCH - The GNU canonical arch for a specific architecture. i.e.
49arm, armeb, mips, mips64, etc. This value is by bitbake to setup
50configure. TUNE_ARCH definitions are specific to a given architecture.
51They may be a single static definitions, or may be dynamically adjusted.
52See each architectures README for details for that CPU family.
53
54TUNE_PKGARCH - The package architecture used by the packaging systems to
55define the architecture, abi and tuning of a particular package.
56Similarly to TUNE_ARCH, the definition of TUNE_PKGARCH is specific to
57each architecture. See each architectures README for details for that
58CPU family.
59
60PACKAGE_EXTRA_ARCHS - Lists all runtime compatible package
61architectures. By default this is equal to
62PACKAGE_EXTRA_ARCHS_tune-<tune>. If an architecture deviates from the
63default it will be listed in the architecture README.
64
65PACKAGE_EXTRA_ARCHS_tune-<tune> - List all of the package architectures
66that are compatible with this specific tune. The package arch of this
67tune must be in the list.
68
69TARGET_FPU - The FPU setting for a given tune, hard (generate floating
70point instructions), soft (generate internal gcc calls), "other"
71architecture specific floating point. This is synchronized with the
72compiler and other toolchain items. This should be dynamically
73configured in the same way that TUNE_CCARGS is.
74
75BASE_LIB_tune-<tune> - The "/lib" location for a specific ABI. This is
76used in a multilib configuration to place the libraries in the correct,
77non-conflicting locations.