summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine/include/README
diff options
context:
space:
mode:
Diffstat (limited to 'meta/conf/machine/include/README')
-rw-r--r--meta/conf/machine/include/README81
1 files changed, 81 insertions, 0 deletions
diff --git a/meta/conf/machine/include/README b/meta/conf/machine/include/README
new file mode 100644
index 0000000000..e4b59c9566
--- /dev/null
+++ b/meta/conf/machine/include/README
@@ -0,0 +1,81 @@
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
27TUNECONFLICTS[feature] - A list of features which conflict with <feature>.
28New sanity checks will try to reject combinations in which a single
29tuning ends up with features which conflict with each other.
30
31TUNE_FEATURES - This is automatically defined as TUNE_FEATURES_tune-<tune>.
32See TUNE_FEATURES_tune-<tune> for more information.
33
34TUNE_FEATURES_tune-<tune> - Specify the features used to describe a
35specific tune. This is a list of features that a tune support, each
36feature must be in the TUNEVALID list. Note: the tune and a given
37feature name may be the same, but they have different purposes. Only
38features may be used to change behavior, while tunes are used to
39describe an overall set of features.
40
41ABIEXTENSION - An ABI extension may be specified by a specific feature
42or other tuning setting, such as TARGET_FPU. Any ABI extensions either
43need to be defined in the architectures base arch file, i.e.
44ABIEXTENSION = "eabi" in the arm case, or appended to in specific tune
45files with a ".=". Spaces are not allowed in this variable.
46
47TUNE_CCARGS - Setup the cflags based on the TUNE_FEATURES settings.
48These should be additive when defined using "+=". All items in this
49list should be dynamic! i.e.
50${@bb.utils.contains("TUNE_FEATURES", "feature", "cflag", "!cflag", d)}
51
52TUNE_ARCH - The GNU canonical arch for a specific architecture. i.e.
53arm, armeb, mips, mips64, etc. This value is by bitbake to setup
54configure. TUNE_ARCH definitions are specific to a given architecture.
55They may be a single static definitions, or may be dynamically adjusted.
56See each architectures README for details for that CPU family.
57
58TUNE_PKGARCH - The package architecture used by the packaging systems to
59define the architecture, abi and tuning of a particular package.
60Similarly to TUNE_ARCH, the definition of TUNE_PKGARCH is specific to
61each architecture. See each architectures README for details for that
62CPU family.
63
64PACKAGE_EXTRA_ARCHS - Lists all runtime compatible package
65architectures. By default this is equal to
66PACKAGE_EXTRA_ARCHS_tune-<tune>. If an architecture deviates from the
67default it will be listed in the architecture README.
68
69PACKAGE_EXTRA_ARCHS_tune-<tune> - List all of the package architectures
70that are compatible with this specific tune. The package arch of this
71tune must be in the list.
72
73TARGET_FPU - The FPU setting for a given tune, hard (generate floating
74point instructions), soft (generate internal gcc calls), "other"
75architecture specific floating point. This is synchronized with the
76compiler and other toolchain items. This should be dynamically
77configured in the same way that TUNE_CCARGS is.
78
79BASE_LIB_tune-<tune> - The "/lib" location for a specific ABI. This is
80used in a multilib configuration to place the libraries in the correct,
81non-conflicting locations.