diff options
author | Tudor Florea <tudor.florea@enea.com> | 2015-10-09 22:59:03 +0200 |
---|---|---|
committer | Tudor Florea <tudor.florea@enea.com> | 2015-10-09 22:59:03 +0200 |
commit | 972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch) | |
tree | 97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /meta/conf/machine/include | |
download | poky-972dcfcdbfe75dcfeb777150c136576cf1a71e99.tar.gz |
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta/conf/machine/include')
63 files changed, 1619 insertions, 0 deletions
diff --git a/meta/conf/machine/include/README b/meta/conf/machine/include/README new file mode 100644 index 0000000000..d66130acbc --- /dev/null +++ b/meta/conf/machine/include/README | |||
@@ -0,0 +1,100 @@ | |||
1 | 2012/03/30 - Mark Hatle <mark.hatle@windriver.com> | ||
2 | - Initial Revision | ||
3 | |||
4 | |||
5 | Introduction | ||
6 | ============ | ||
7 | The individual CPU, and ABI tunings are contained in this directory. A | ||
8 | number of local and global variables are used to control the way the | ||
9 | tunings are setup and how they work together to specify an optimized | ||
10 | configuration. | ||
11 | |||
12 | The following is brief summary of the generic components that are used | ||
13 | in these tunings. | ||
14 | |||
15 | AVAILTUNES - This is a list of all of the tuning definitions currently | ||
16 | available in the system. Not all tunes in this list may be compatible | ||
17 | with the machine configuration, or each other in a multilib | ||
18 | configuration. Each tuning file can add to this list using "+=", but | ||
19 | should never replace the list using "=". | ||
20 | |||
21 | DEFAULTTUNE - This specifies the tune to use for a particular build. | ||
22 | Each tune should specify a reasonable default, which can be overriden by | ||
23 | a machine or multilib configuration. The specified tune must be listed | ||
24 | in the AVAILTUNES. | ||
25 | |||
26 | TUNEVALID[feature] - The <feature> is defined with a human readable | ||
27 | explanation for what it does. All architectural, cpu, abi, etc tuning | ||
28 | features must be defined using TUNEVALID. | ||
29 | |||
30 | TUNECONFLICTS[feature] - A list of features which conflict with <feature>. | ||
31 | New sanity checks will try to reject combinations in which a single | ||
32 | tuning ends up with features which conflict with each other. | ||
33 | |||
34 | TUNE_FEATURES - This is automatically defined as TUNE_FEATURES_tune-<tune>. | ||
35 | See TUNE_FEATURES_tune-<tune> for more information. | ||
36 | |||
37 | TUNE_FEATURES_tune-<tune> - Specify the features used to describe a | ||
38 | specific tune. This is a list of features that a tune support, each | ||
39 | feature must be in the TUNEVALID list. Note: the tune and a given | ||
40 | feature name may be the same, but they have different purposes. Only | ||
41 | features may be used to change behavior, while tunes are used to | ||
42 | describe an overall set of features. | ||
43 | |||
44 | ABIEXTENSION - An ABI extension may be specified by a specific feature | ||
45 | or other tuning setting, such as TARGET_FPU. Any ABI extensions either | ||
46 | need to be defined in the architectures base arch file, i.e. | ||
47 | ABIEXTENSION = "eabi" in the arm case, or appended to in specific tune | ||
48 | files with a ".=". Spaces are not allowed in this variable. | ||
49 | |||
50 | TUNE_CCARGS - Setup the cflags based on the TUNE_FEATURES settings. | ||
51 | These should be additive when defined using "+=". All items in this | ||
52 | list should be dynamic! i.e. | ||
53 | ${@bb.utils.contains("TUNE_FEATURES", "feature", "cflag", "!cflag", d)} | ||
54 | |||
55 | TUNE_ARCH - The GNU canonical arch for a specific architecture. i.e. | ||
56 | arm, armeb, mips, mips64, etc. This value is used by bitbake to setup | ||
57 | configure. TUNE_ARCH definitions are specific to a given architecture. | ||
58 | They may be a single static definition, or may be dynamically adjusted. | ||
59 | See each architecture's README for details for that CPU family. | ||
60 | |||
61 | TUNE_PKGARCH - The package architecture used by the packaging systems to | ||
62 | define the architecture, abi and tuning of a particular package. | ||
63 | Similarly to TUNE_ARCH, the definition of TUNE_PKGARCH is specific to | ||
64 | each architecture. See each architectures README for details for that | ||
65 | CPU family. | ||
66 | |||
67 | PACKAGE_EXTRA_ARCHS - Lists all runtime compatible package | ||
68 | architectures. By default this is equal to | ||
69 | PACKAGE_EXTRA_ARCHS_tune-<tune>. If an architecture deviates from the | ||
70 | default it will be listed in the architecture README. | ||
71 | |||
72 | PACKAGE_EXTRA_ARCHS_tune-<tune> - List all of the package architectures | ||
73 | that are compatible with this specific tune. The package arch of this | ||
74 | tune must be in the list. | ||
75 | |||
76 | TARGET_FPU - The FPU setting for a given tune, hard (generate floating | ||
77 | point instructions), soft (generate internal gcc calls), "other" | ||
78 | architecture specific floating point. This is synchronized with the | ||
79 | compiler and other toolchain items. This should be dynamically | ||
80 | configured in the same way that TUNE_CCARGS is. | ||
81 | |||
82 | BASE_LIB_tune-<tune> - The "/lib" location for a specific ABI. This is | ||
83 | used in a multilib configuration to place the libraries in the correct, | ||
84 | non-conflicting locations. | ||
85 | |||
86 | |||
87 | Best Practice | ||
88 | ============= | ||
89 | The tune infrastructure is designed to be hierarchical. When writing a | ||
90 | new tune file for a "fast-forward" CPU architecture (one that supports | ||
91 | everything from a previous generation), it is recommended to require the | ||
92 | previous generation tune file and specify PACKAGE_EXTRA_ARCHS using the | ||
93 | previous generation's override and appending the new tune. Note that | ||
94 | only one previous tune file should be included to avoid mutiple includes | ||
95 | of the base arch which could lead to a broken configuration due to | ||
96 | multiple prepend and append assignments. | ||
97 | |||
98 | For example, for x86, there is a common x86/arch-x86.inc which is | ||
99 | included in the base i586 tune file. The core2 tune builds | ||
100 | on that, and corei7 builds on core2. | ||
diff --git a/meta/conf/machine/include/arm/README b/meta/conf/machine/include/arm/README new file mode 100644 index 0000000000..a1beb75fdf --- /dev/null +++ b/meta/conf/machine/include/arm/README | |||
@@ -0,0 +1,40 @@ | |||
1 | 2012/03/30 - Mark Hatle <mark.hatle@windriver.com> | ||
2 | - Initial Revision | ||
3 | |||
4 | The ARM architecture definitions are split among a number of files. | ||
5 | The primary definitions for the variables are handled by the core | ||
6 | arch-arm.inc file. | ||
7 | |||
8 | TUNE_ARCH is set to either "arm" or "armeb" depending on the value | ||
9 | of the existence of the "bigendian" feature in a given tune. | ||
10 | |||
11 | A small set of ARM specific variables have been defined to allow | ||
12 | TUNE_PKGARCH to be automatically defined. Optimized tunings must NOT | ||
13 | change the definiton of TUNE_PKGARCH. TUNE_PKGACH_tune-<tune> will be | ||
14 | ignored. The format of the package arch is enforced by the TUNE_PKGARCH | ||
15 | default. The format must be of the form: | ||
16 | <armversion>[t][e][hf][b][-vfp][-neon] | ||
17 | |||
18 | TUNE_PKGARCH is defined as: | ||
19 | ${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU} | ||
20 | |||
21 | ARMPKGARCH - This is the core package arch component specified by each | ||
22 | tuning. This is the primary identifier of a tuning. Usual values are: | ||
23 | arm, armv4, armv5, armv6, armv7a, etc. | ||
24 | |||
25 | ARMPKGSFX_THUMB - This is the thumb specific suffix. Curently it is | ||
26 | defined in feature-arm-thumb.inc. | ||
27 | |||
28 | ARMPKGSFX_DSP - This is the DSP specific suffix. Currently this is set | ||
29 | to 'e' when on armv5 and the dsp feature is enabled. | ||
30 | |||
31 | ARMPKGSFX_EABI - This is the eabi specific suffix. There are currently | ||
32 | two defined ABIs specificed, standard EABI and Hard Float (VFP) EABI. | ||
33 | When the callconvention-hard is enabled, "hf" is specified, otherwise it | ||
34 | is blank. | ||
35 | |||
36 | ARMPKGSFX_ENDIAN - This is the endian specific suffix. It is defined in | ||
37 | the core arch-arm.inc file. | ||
38 | |||
39 | ARMPKGSFX_FPU - This is the FPU specific suffix. The suffix indicates | ||
40 | specific FPU optimizations. 'vfp' and 'neon' are both defined. | ||
diff --git a/meta/conf/machine/include/arm/arch-arm.inc b/meta/conf/machine/include/arm/arch-arm.inc new file mode 100644 index 0000000000..90b80c4c36 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-arm.inc | |||
@@ -0,0 +1,17 @@ | |||
1 | |||
2 | TUNEVALID[bigendian] = "Enable big-endian mode." | ||
3 | |||
4 | ARMPKGARCH = "${ARMPKGARCH_tune-${DEFAULTTUNE}}" | ||
5 | ARMPKGSFX_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "b", "", d)}" | ||
6 | ARMPKGSFX_FPU ??= "" | ||
7 | ARMPKGSFX_DSP ??= "" | ||
8 | ARMPKGSFX_EABI ??= "" | ||
9 | ARMPKGSFX_THUMB ??= "" | ||
10 | |||
11 | TUNE_ARCH = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "armeb", "arm", d)}" | ||
12 | TUNE_PKGARCH = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}" | ||
13 | |||
14 | ABIEXTENSION = "eabi" | ||
15 | |||
16 | TARGET_FPU = "${@d.getVar('ARMPKGSFX_FPU', True).strip('-') or 'soft'}" | ||
17 | |||
diff --git a/meta/conf/machine/include/arm/arch-armv4.inc b/meta/conf/machine/include/arm/arch-armv4.inc new file mode 100644 index 0000000000..52c07a83cf --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv4.inc | |||
@@ -0,0 +1,34 @@ | |||
1 | DEFAULTTUNE ?= "armv4" | ||
2 | |||
3 | TUNEVALID[arm] = "Enable ARM instruction set" | ||
4 | TUNEVALID[armv4] = "Enable instructions for ARMv4" | ||
5 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "armv4", " -march=armv4${ARMPKGSFX_THUMB}", "", d)}" | ||
6 | # enable --fix-v4bx when we have armv4 in TUNE_FEATURES, but then disable it when we have also armv5 or thumb | ||
7 | # maybe we should extend bb.utils.contains to support check for any checkvalues in value, now it does | ||
8 | # checkvalues.issubset(val) which cannot be used for negative test of foo neither bar in value | ||
9 | FIX_V4BX_ARMV4 = "${@bb.utils.contains("TUNE_FEATURES", "armv4", "--fix-v4bx", "", d)}" | ||
10 | FIX_V4BX_ARMV5 = "${@bb.utils.contains("TUNE_FEATURES", "armv5", "", "${FIX_V4BX_ARMV4}", d)}" | ||
11 | FIX_V4BX = "${@bb.utils.contains("TUNE_FEATURES", "thumb", "", "${FIX_V4BX_ARMV5}", d)}" | ||
12 | TARGET_LD_KERNEL_ARCH += "${FIX_V4BX}" | ||
13 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "armv4", "armv4:", "" ,d)}" | ||
14 | |||
15 | require conf/machine/include/arm/arch-arm.inc | ||
16 | require conf/machine/include/arm/feature-arm-thumb.inc | ||
17 | |||
18 | # Little Endian | ||
19 | AVAILTUNES += "armv4 armv4t" | ||
20 | ARMPKGARCH_tune-armv4 ?= "armv4" | ||
21 | ARMPKGARCH_tune-armv4t ?= "armv4" | ||
22 | TUNE_FEATURES_tune-armv4 ?= "arm armv4" | ||
23 | TUNE_FEATURES_tune-armv4t ?= "${TUNE_FEATURES_tune-armv4} thumb" | ||
24 | PACKAGE_EXTRA_ARCHS_tune-armv4 = "arm armv4" | ||
25 | PACKAGE_EXTRA_ARCHS_tune-armv4t = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv4t" | ||
26 | |||
27 | # Big Endian | ||
28 | AVAILTUNES += "armv4b armv4tb" | ||
29 | ARMPKGARCH_tune-armv4b ?= "armv4" | ||
30 | ARMPKGARCH_tune-armv4tb ?= "armv4" | ||
31 | TUNE_FEATURES_tune-armv4b ?= "${TUNE_FEATURES_tune-armv4} bigendian" | ||
32 | TUNE_FEATURES_tune-armv4tb ?= "${TUNE_FEATURES_tune-armv4t} bigendian" | ||
33 | PACKAGE_EXTRA_ARCHS_tune-armv4b = "armeb armv4b" | ||
34 | PACKAGE_EXTRA_ARCHS_tune-armv4tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv4tb" | ||
diff --git a/meta/conf/machine/include/arm/arch-armv5-dsp.inc b/meta/conf/machine/include/arm/arch-armv5-dsp.inc new file mode 100644 index 0000000000..524a62aec9 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv5-dsp.inc | |||
@@ -0,0 +1,52 @@ | |||
1 | ARMPKGSFX_DSP = "${@bb.utils.contains("TUNE_FEATURES", [ "armv5", "dsp" ], "e", "", d)}" | ||
2 | TUNEVALID[dsp] = "ARM DSP functionality" | ||
3 | |||
4 | require conf/machine/include/arm/arch-armv5.inc | ||
5 | |||
6 | # Little Endian | ||
7 | AVAILTUNES += "armv5e armv5te" | ||
8 | ARMPKGARCH_tune-armv5e ?= "armv5" | ||
9 | ARMPKGARCH_tune-armv5te ?= "armv5" | ||
10 | TUNE_FEATURES_tune-armv5e ?= "${TUNE_FEATURES_tune-armv5} dsp" | ||
11 | TUNE_FEATURES_tune-armv5te ?= "${TUNE_FEATURES_tune-armv5t} dsp" | ||
12 | PACKAGE_EXTRA_ARCHS_tune-armv5e = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5e" | ||
13 | PACKAGE_EXTRA_ARCHS_tune-armv5te = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5e armv5te" | ||
14 | |||
15 | # Little Endian + VFP/DSP | ||
16 | AVAILTUNES += "armv5e-vfp armv5te-vfp armv5ehf-vfp armv5tehf-vfp" | ||
17 | ARMPKGARCH_tune-armv5e-vfp ?= "armv5" | ||
18 | ARMPKGARCH_tune-armv5te-vfp ?= "armv5" | ||
19 | ARMPKGARCH_tune-armv5ehf-vfp ?= "armv5" | ||
20 | ARMPKGARCH_tune-armv5tehf-vfp ?= "armv5" | ||
21 | TUNE_FEATURES_tune-armv5e-vfp ?= "${TUNE_FEATURES_tune-armv5e} vfp" | ||
22 | TUNE_FEATURES_tune-armv5te-vfp ?= "${TUNE_FEATURES_tune-armv5te} vfp" | ||
23 | TUNE_FEATURES_tune-armv5ehf-vfp ?= "${TUNE_FEATURES_tune-armv5e-vfp} callconvention-hard" | ||
24 | TUNE_FEATURES_tune-armv5tehf-vfp ?= "${TUNE_FEATURES_tune-armv5te-vfp} callconvention-hard" | ||
25 | PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5-vfp} armv5e armv5e-vfp" | ||
26 | PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp} armv5e armv5te armv5e-vfp armv5te-vfp" | ||
27 | PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp} armv5ehf-vfp" | ||
28 | PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp" | ||
29 | |||
30 | # Big Endian | ||
31 | AVAILTUNES += "armv5eb armv5teb" | ||
32 | ARMPKGARCH_tune-armv5eb ?= "armv5" | ||
33 | ARMPKGARCH_tune-armv5teb ?= "armv5" | ||
34 | TUNE_FEATURES_tune-armv5eb ?= "${TUNE_FEATURES_tune-armv5e} bigendian" | ||
35 | TUNE_FEATURES_tune-armv5teb ?= "${TUNE_FEATURES_tune-armv5te} bigendian" | ||
36 | PACKAGE_EXTRA_ARCHS_tune-armv5eb = "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5eb" | ||
37 | PACKAGE_EXTRA_ARCHS_tune-armv5teb = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5eb armv5teb" | ||
38 | |||
39 | # Big Endian + VFP/DSP | ||
40 | AVAILTUNES += "armv5eb-vfp armv5teb-vfp armv5ehfb-vfp armv5tehfb-vfp" | ||
41 | ARMPKGARCH_tune-armv5eb-vfp ?= "armv5" | ||
42 | ARMPKGARCH_tune-armv5teb-vfp ?= "armv5" | ||
43 | ARMPKGARCH_tune-armv5ehfb-vfp ?= "armv5" | ||
44 | ARMPKGARCH_tune-armv5tehfb-vfp ?= "armv5" | ||
45 | TUNE_FEATURES_tune-armv5eb-vfp ?= "${TUNE_FEATURES_tune-armv5e-vfp} bigendian" | ||
46 | TUNE_FEATURES_tune-armv5teb-vfp ?= "${TUNE_FEATURES_tune-armv5te-vfp} bigendian" | ||
47 | TUNE_FEATURES_tune-armv5ehfb-vfp ?= "${TUNE_FEATURES_tune-armv5ehf-vfp} bigendian" | ||
48 | TUNE_FEATURES_tune-armv5tehfb-vfp ?= "${TUNE_FEATURES_tune-armv5tehf-vfp} bigendian" | ||
49 | PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp} armv5eb armv5eb-vfp" | ||
50 | PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp} armv5eb armv5teb armv5eb-vfp armv5teb-vfp" | ||
51 | PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp} armv5ehfb-vfp" | ||
52 | PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp} armv5ehfb-vfp armv5tehfb-vfp" | ||
diff --git a/meta/conf/machine/include/arm/arch-armv5.inc b/meta/conf/machine/include/arm/arch-armv5.inc new file mode 100644 index 0000000000..5cceafa06f --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv5.inc | |||
@@ -0,0 +1,60 @@ | |||
1 | DEFAULTTUNE ?= "armv5" | ||
2 | |||
3 | TUNEVALID[armv5] = "Enable instructions for ARMv5" | ||
4 | TUNECONFLICTS[armv5] = "armv4" | ||
5 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "armv5", " -march=armv5${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}", "", d)}" | ||
6 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "armv5", "armv5:", "" ,d)}" | ||
7 | |||
8 | ARMPKGSFX_DSP = "${@bb.utils.contains("TUNE_FEATURES", [ "armv5", "dsp" ], "e", "", d)}" | ||
9 | |||
10 | require conf/machine/include/arm/arch-armv4.inc | ||
11 | require conf/machine/include/arm/feature-arm-vfp.inc | ||
12 | |||
13 | # Little Endian | ||
14 | AVAILTUNES += "armv5 armv5t" | ||
15 | ARMPKGARCH_tune-armv5 ?= "armv5" | ||
16 | ARMPKGARCH_tune-armv5t ?= "armv5" | ||
17 | TUNE_FEATURES_tune-armv5 ?= "arm armv5" | ||
18 | TUNE_FEATURES_tune-armv5t ?= "${TUNE_FEATURES_tune-armv5} thumb" | ||
19 | PACKAGE_EXTRA_ARCHS_tune-armv5 = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv5" | ||
20 | PACKAGE_EXTRA_ARCHS_tune-armv5t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} armv5 armv5t" | ||
21 | |||
22 | # Little Endian + VFP/DSP | ||
23 | AVAILTUNES += "armv5-vfp armv5t-vfp armv5hf-vfp armv5thf-vfp" | ||
24 | ARMPKGARCH_tune-armv5-vfp ?= "armv5" | ||
25 | ARMPKGARCH_tune-armv5t-vfp ?= "armv5" | ||
26 | ARMPKGARCH_tune-armv5hf-vfp ?= "armv5" | ||
27 | ARMPKGARCH_tune-armv5thf-vfp ?= "armv5" | ||
28 | TUNE_FEATURES_tune-armv5-vfp ?= "${TUNE_FEATURES_tune-armv5} vfp" | ||
29 | TUNE_FEATURES_tune-armv5t-vfp ?= "${TUNE_FEATURES_tune-armv5t} vfp" | ||
30 | TUNE_FEATURES_tune-armv5hf-vfp ?= "${TUNE_FEATURES_tune-armv5-vfp} callconvention-hard" | ||
31 | TUNE_FEATURES_tune-armv5thf-vfp ?= "${TUNE_FEATURES_tune-armv5t-vfp} callconvention-hard" | ||
32 | PACKAGE_EXTRA_ARCHS_tune-armv5-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5-vfp" | ||
33 | PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5-vfp armv5t-vfp" | ||
34 | PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp = "armv5hf-vfp" | ||
35 | PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp = "armv5hf-vfp armv5thf-vfp" | ||
36 | PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp" | ||
37 | |||
38 | # Big Endian | ||
39 | AVAILTUNES += "armv5b armv5tb" | ||
40 | ARMPKGARCH_tune-armv5b ?= "armv5" | ||
41 | ARMPKGARCH_tune-armv5tb ?= "armv5" | ||
42 | TUNE_FEATURES_tune-armv5b ?= "${TUNE_FEATURES_tune-armv5} bigendian" | ||
43 | TUNE_FEATURES_tune-armv5tb ?= "${TUNE_FEATURES_tune-armv5t} bigendian" | ||
44 | PACKAGE_EXTRA_ARCHS_tune-armv5b = "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv5b" | ||
45 | PACKAGE_EXTRA_ARCHS_tune-armv5tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4tb} armv5b armv5tb" | ||
46 | |||
47 | # Big Endian + VFP/DSP | ||
48 | AVAILTUNES += "armv5b-vfp armv5tb-vfp armv5hfb-vfp armv5thfb-vfp" | ||
49 | ARMPKGARCH_tune-armv5b-vfp ?= "armv5" | ||
50 | ARMPKGARCH_tune-armv5tb-vfp ?= "armv5" | ||
51 | ARMPKGARCH_tune-armv5hfb-vfp ?= "armv5" | ||
52 | ARMPKGARCH_tune-armv5thfb-vfp ?= "armv5" | ||
53 | TUNE_FEATURES_tune-armv5b-vfp ?= "${TUNE_FEATURES_tune-armv5-vfp} bigendian" | ||
54 | TUNE_FEATURES_tune-armv5tb-vfp ?= "${TUNE_FEATURES_tune-armv5t-vfp} bigendian" | ||
55 | TUNE_FEATURES_tune-armv5hfb-vfp ?= "${TUNE_FEATURES_tune-armv5hf-vfp} bigendian" | ||
56 | TUNE_FEATURES_tune-armv5thfb-vfp ?= "${TUNE_FEATURES_tune-armv5thf-vfp} bigendian" | ||
57 | PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5b-vfp" | ||
58 | PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5b-vfp armv5tb-vfp" | ||
59 | PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp = "armv5hfb-vfp" | ||
60 | PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp = "armv5hfb-vfp armv5thfb-vfp" | ||
diff --git a/meta/conf/machine/include/arm/arch-armv6.inc b/meta/conf/machine/include/arm/arch-armv6.inc new file mode 100644 index 0000000000..4b0c5bf2d1 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv6.inc | |||
@@ -0,0 +1,50 @@ | |||
1 | DEFAULTTUNE ?= "armv6" | ||
2 | |||
3 | TUNEVALID[armv6] = "Enable instructions for ARMv6" | ||
4 | TUNECONFLICTS[armv6] = "armv4 armv5" | ||
5 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "armv6", " -march=armv6", "", d)}" | ||
6 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "armv6", "armv6:", "" ,d)}" | ||
7 | |||
8 | require conf/machine/include/arm/arch-armv5-dsp.inc | ||
9 | |||
10 | # Little Endian | ||
11 | AVAILTUNES += "armv6-novfp armv6t-novfp armv6 armv6t armv6hf armv6thf" | ||
12 | ARMPKGARCH_tune-armv6-novfp ?= "armv6" | ||
13 | ARMPKGARCH_tune-armv6t-novfp ?= "armv6" | ||
14 | ARMPKGARCH_tune-armv6 ?= "armv6" | ||
15 | ARMPKGARCH_tune-armv6t ?= "armv6" | ||
16 | ARMPKGARCH_tune-armv6hf ?= "armv6" | ||
17 | ARMPKGARCH_tune-armv6thf ?= "armv6" | ||
18 | TUNE_FEATURES_tune-armv6-novfp ?= "arm armv6" | ||
19 | TUNE_FEATURES_tune-armv6t-novfp ?= "${TUNE_FEATURES_tune-armv6-novfp} thumb" | ||
20 | TUNE_FEATURES_tune-armv6 ?= "${TUNE_FEATURES_tune-armv6-novfp} vfp" | ||
21 | TUNE_FEATURES_tune-armv6t ?= "${TUNE_FEATURES_tune-armv6t-novfp} vfp" | ||
22 | TUNE_FEATURES_tune-armv6hf ?= "${TUNE_FEATURES_tune-armv6} callconvention-hard" | ||
23 | TUNE_FEATURES_tune-armv6thf ?= "${TUNE_FEATURES_tune-armv6t} callconvention-hard" | ||
24 | PACKAGE_EXTRA_ARCHS_tune-armv6-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5e} armv6" | ||
25 | PACKAGE_EXTRA_ARCHS_tune-armv6t-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} armv6 armv6t" | ||
26 | PACKAGE_EXTRA_ARCHS_tune-armv6 = "${PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp} armv6 armv6-vfp" | ||
27 | PACKAGE_EXTRA_ARCHS_tune-armv6t = "${PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp} armv6 armv6t armv6-vfp armv6t-vfp" | ||
28 | PACKAGE_EXTRA_ARCHS_tune-armv6hf = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp} armv6hf-vfp" | ||
29 | PACKAGE_EXTRA_ARCHS_tune-armv6thf = "${PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp} armv6hf-vfp armv6thf-vfp" | ||
30 | |||
31 | # Big Endian | ||
32 | AVAILTUNES += "armv6b-novfp armv6tb-novfp armv6b armv6tb armv6hfb armv6thfb" | ||
33 | ARMPKGARCH_tune-armv6b-novfp ?= "armv6" | ||
34 | ARMPKGARCH_tune-armv6tb-novfp ?= "armv6" | ||
35 | ARMPKGARCH_tune-armv6b ?= "armv6" | ||
36 | ARMPKGARCH_tune-armv6tb ?= "armv6" | ||
37 | ARMPKGARCH_tune-armv6hfb ?= "armv6" | ||
38 | ARMPKGARCH_tune-armv6thfb ?= "armv6" | ||
39 | TUNE_FEATURES_tune-armv6b-novfp ?= "${TUNE_FEATURES_tune-armv6-novfp} bigendian" | ||
40 | TUNE_FEATURES_tune-armv6tb-novfp ?= "${TUNE_FEATURES_tune-armv6t-novfp} bigendian" | ||
41 | TUNE_FEATURES_tune-armv6b ?= "${TUNE_FEATURES_tune-armv6} bigendian" | ||
42 | TUNE_FEATURES_tune-armv6tb ?= "${TUNE_FEATURES_tune-armv6t} bigendian" | ||
43 | TUNE_FEATURES_tune-armv6hfb ?= "${TUNE_FEATURES_tune-armv6hf} bigendian" | ||
44 | TUNE_FEATURES_tune-armv6thfb ?= "${TUNE_FEATURES_tune-armv6thf} bigendian" | ||
45 | PACKAGE_EXTRA_ARCHS_tune-armv6b-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb} armv6b" | ||
46 | PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} armv6b armv6tb" | ||
47 | PACKAGE_EXTRA_ARCHS_tune-armv6b = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp} armv6b armv6b-vfp" | ||
48 | PACKAGE_EXTRA_ARCHS_tune-armv6tb = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp} armv6b armv6tb armv6b-vfp armv6tb-vfp" | ||
49 | PACKAGE_EXTRA_ARCHS_tune-armv6hfb = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp} armv6hfb-vfp" | ||
50 | PACKAGE_EXTRA_ARCHS_tune-armv6thfb = "${PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp} armv6hfb-vfp armv6thfb-vfp" | ||
diff --git a/meta/conf/machine/include/arm/arch-armv7a.inc b/meta/conf/machine/include/arm/arch-armv7a.inc new file mode 100644 index 0000000000..f2c04a302e --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv7a.inc | |||
@@ -0,0 +1,75 @@ | |||
1 | DEFAULTTUNE ?= "armv7a" | ||
2 | |||
3 | TUNEVALID[armv7a] = "Enable instructions for ARMv7-a" | ||
4 | TUNECONFLICTS[armv7a] = "armv4 armv5 armv6 armv7" | ||
5 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "armv7a", " -march=armv7-a", "", d)}" | ||
6 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "armv7a", "armv7a:", "" ,d)}" | ||
7 | |||
8 | require conf/machine/include/arm/arch-armv6.inc | ||
9 | require conf/machine/include/arm/feature-arm-neon.inc | ||
10 | |||
11 | # Little Endian base configs | ||
12 | AVAILTUNES += "armv7a armv7at armv7a-neon armv7at-neon" | ||
13 | ARMPKGARCH_tune-armv7a ?= "armv7a" | ||
14 | ARMPKGARCH_tune-armv7at ?= "armv7a" | ||
15 | ARMPKGARCH_tune-armv7a-neon?= "armv7a" | ||
16 | ARMPKGARCH_tune-armv7at-neon ?= "armv7a" | ||
17 | TUNE_FEATURES_tune-armv7a ?= "arm armv7a vfp" | ||
18 | TUNE_FEATURES_tune-armv7at ?= "${TUNE_FEATURES_tune-armv7a} thumb" | ||
19 | TUNE_FEATURES_tune-armv7a-neon ?= "${TUNE_FEATURES_tune-armv7a} neon" | ||
20 | TUNE_FEATURES_tune-armv7at-neon ?= "${TUNE_FEATURES_tune-armv7at} neon" | ||
21 | PACKAGE_EXTRA_ARCHS_tune-armv7a = "${PACKAGE_EXTRA_ARCHS_tune-armv6} armv7a armv7a-vfp" | ||
22 | PACKAGE_EXTRA_ARCHS_tune-armv7a-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-vfp-neon" | ||
23 | PACKAGE_EXTRA_ARCHS_tune-armv7at = "${PACKAGE_EXTRA_ARCHS_tune-armv6t} armv7a armv7a-vfp armv7at2-vfp" | ||
24 | PACKAGE_EXTRA_ARCHS_tune-armv7at-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfp-neon armv7at2-vfp-neon" | ||
25 | |||
26 | # VFP Tunes | ||
27 | AVAILTUNES += "armv7ahf armv7athf armv7ahf-neon armv7athf-neon armv7ahf-neon-vfpv4 armv7athf-neon-vfpv4" | ||
28 | ARMPKGARCH_tune-armv7ahf ?= "armv7a" | ||
29 | ARMPKGARCH_tune-armv7athf ?= "armv7a" | ||
30 | ARMPKGARCH_tune-armv7ahf-neon?= "armv7a" | ||
31 | ARMPKGARCH_tune-armv7athf-neon ?= "armv7a" | ||
32 | ARMPKGARCH_tune-armv7ahf-neon-vfpv4 ?= "armv7a" | ||
33 | ARMPKGARCH_tune-armv7athf-neon-vfpv4 ?= "armv7a" | ||
34 | TUNE_FEATURES_tune-armv7ahf ?= "${TUNE_FEATURES_tune-armv7a} callconvention-hard" | ||
35 | TUNE_FEATURES_tune-armv7athf ?= "${TUNE_FEATURES_tune-armv7at} callconvention-hard" | ||
36 | TUNE_FEATURES_tune-armv7ahf-neon ?= "${TUNE_FEATURES_tune-armv7a-neon} callconvention-hard" | ||
37 | TUNE_FEATURES_tune-armv7athf-neon ?= "${TUNE_FEATURES_tune-armv7at-neon} callconvention-hard" | ||
38 | TUNE_FEATURES_tune-armv7ahf-neon-vfpv4 ?= "${TUNE_FEATURES_tune-armv7ahf-neon} vfpv4" | ||
39 | TUNE_FEATURES_tune-armv7athf-neon-vfpv4 ?= "${TUNE_FEATURES_tune-armv7athf-neon} vfpv4" | ||
40 | PACKAGE_EXTRA_ARCHS_tune-armv7ahf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} armv7ahf-vfp" | ||
41 | PACKAGE_EXTRA_ARCHS_tune-armv7athf = "${PACKAGE_EXTRA_ARCHS_tune-armv6thf} armv7ahf-vfp armv7at2hf-vfp" | ||
42 | PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfp-neon" | ||
43 | PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfp-neon armv7at2hf-vfp-neon" | ||
44 | PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} armv7ahf-vfp-neon-vfpv4" | ||
45 | PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} armv7athf-vfp-neon-vfpv4" | ||
46 | |||
47 | # Big Endian | ||
48 | AVAILTUNES += "armv7ab armv7atb armv7ab-neon armv7atb-neon" | ||
49 | ARMPKGARCH_tune-armv7ab ?= "armv7a" | ||
50 | ARMPKGARCH_tune-armv7atb ?= "armv7a" | ||
51 | ARMPKGARCH_tune-armv7ab-neon?= "armv7a" | ||
52 | ARMPKGARCH_tune-armv7atb-neon ?= "armv7a" | ||
53 | TUNE_FEATURES_tune-armv7ab ?= "${TUNE_FEATURES_tune-armv7a} bigendian" | ||
54 | TUNE_FEATURES_tune-armv7atb ?= "${TUNE_FEATURES_tune-armv7at} bigendian" | ||
55 | TUNE_FEATURES_tune-armv7ab-neon ?= "${TUNE_FEATURES_tune-armv7a-neon} bigendian" | ||
56 | TUNE_FEATURES_tune-armv7atb-neon ?= "${TUNE_FEATURES_tune-armv7at-neon} bigendian" | ||
57 | PACKAGE_EXTRA_ARCHS_tune-armv7ab = "${PACKAGE_EXTRA_ARCHS_tune-armv6b} armv7ab-vfp" | ||
58 | PACKAGE_EXTRA_ARCHS_tune-armv7atb = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb} armv7ab-vfp armv7at2b-vfp" | ||
59 | PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-vfp-neon" | ||
60 | PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfp-neon armv7at2b-vfp-neon" | ||
61 | |||
62 | # Big Endian + VFP | ||
63 | AVAILTUNES += "armv7ahfb armv7athfb armv7ahfb-neon armv7athfb-neon" | ||
64 | ARMPKGARCH_tune-armv7ahfb ?= "armv7a" | ||
65 | ARMPKGARCH_tune-armv7athfb ?= "armv7a" | ||
66 | ARMPKGARCH_tune-armv7ahfb-neon?= "armv7a" | ||
67 | ARMPKGARCH_tune-armv7athfb-neon ?= "armv7a" | ||
68 | TUNE_FEATURES_tune-armv7ahfb ?= "${TUNE_FEATURES_tune-armv7ahf} bigendian" | ||
69 | TUNE_FEATURES_tune-armv7athfb ?= "${TUNE_FEATURES_tune-armv7athf} bigendian" | ||
70 | TUNE_FEATURES_tune-armv7ahfb-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} bigendian" | ||
71 | TUNE_FEATURES_tune-armv7athfb-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} bigendian" | ||
72 | PACKAGE_EXTRA_ARCHS_tune-armv7ahfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6hfb} armv7ahfb-vfp" | ||
73 | PACKAGE_EXTRA_ARCHS_tune-armv7athfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp" | ||
74 | PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfp-neon" | ||
75 | PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-vfp-neon armv7at2hfb-vfp-neon" | ||
diff --git a/meta/conf/machine/include/arm/feature-arm-neon.inc b/meta/conf/machine/include/arm/feature-arm-neon.inc new file mode 100644 index 0000000000..e8b2b85d5a --- /dev/null +++ b/meta/conf/machine/include/arm/feature-arm-neon.inc | |||
@@ -0,0 +1,3 @@ | |||
1 | TUNEVALID[neon] = "Enable Neon SIMD accelerator unit." | ||
2 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "neon", bb.utils.contains("TUNE_FEATURES", "vfpv4", " -mfpu=neon-vfpv4", " -mfpu=neon", d), "" , d)}" | ||
3 | ARMPKGSFX_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "neon", "-neon", "", d)}" | ||
diff --git a/meta/conf/machine/include/arm/feature-arm-thumb.inc b/meta/conf/machine/include/arm/feature-arm-thumb.inc new file mode 100644 index 0000000000..a94386f577 --- /dev/null +++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc | |||
@@ -0,0 +1,44 @@ | |||
1 | # The instruction set the compiler should use when generating application | ||
2 | # code. The kernel is always compiled with arm code at present. arm code | ||
3 | # is the original 32 bit ARM instruction set, thumb code is the 16 bit | ||
4 | # encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size) | ||
5 | # but requires more instructions (140% for 70% smaller code) so may be | ||
6 | # slower. | ||
7 | TUNEVALID[thumb] = "Use thumb instructions instead of ARM" | ||
8 | ARM_THUMB_OPT = "${@['arm', 'thumb'][d.getVar('ARM_INSTRUCTION_SET', True) == 'thumb']}" | ||
9 | ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', 't', '', d)}" | ||
10 | ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', 't', '', d)}" | ||
11 | ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', 't', '', d)}" | ||
12 | ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', 't2', '', d)}" | ||
13 | ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7r', 't2', '', d)}" | ||
14 | ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', 't2', '', d)}" | ||
15 | |||
16 | # If the device supports ARM, then respect ARM_THUMB_OPT (which can be "arm" or "thumb") | ||
17 | # If the defice doesn't support ARM, then always set "thumb" even when | ||
18 | # some recipe explicitly sets ARM_INSTRUCTION_SET to "arm" | ||
19 | ARM_M_OPT = "${@bb.utils.contains('TUNE_FEATURES', 'arm', '${ARM_THUMB_OPT}', 'thumb', d)}" | ||
20 | python () { | ||
21 | selected = d.getVar('ARM_INSTRUCTION_SET', True) | ||
22 | if selected == None: | ||
23 | return | ||
24 | used = d.getVar('ARM_M_OPT', True) | ||
25 | if selected != used: | ||
26 | pn = d.getVar('PN', True) | ||
27 | bb.warn("Recipe '%s' selects ARM_INSTRUCTION_SET to be '%s', but tune configuration overrides it to '%s'" % (pn, selected, used)) | ||
28 | } | ||
29 | |||
30 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ' -m${ARM_M_OPT}', '', d)}" | ||
31 | OVERRIDES .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ':thumb', '', d)}" | ||
32 | |||
33 | ARMPKGSFX_THUMB .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${ARM_THUMB_SUFFIX}', '', d)}" | ||
34 | |||
35 | # Whether to compile with code to allow interworking between the two | ||
36 | # instruction sets. This allows thumb code to be executed on a primarily | ||
37 | # arm system and vice versa. It is strongly recommended that DISTROs not | ||
38 | # turn this off - the actual cost is very small. | ||
39 | TUNEVALID[no-thumb-interwork] = "Disable mixing of thumb and ARM functions" | ||
40 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'no-thumb-interwork', ' -mno-thumb-interwork', ' -mthumb-interwork', d)}" | ||
41 | OVERRIDES .= "${@bb.utils.contains('TUNE_FEATURES', 'no-thumb-interwork', ':thumb-interwork', '', d)}" | ||
42 | |||
43 | # what about armv7m devices which don't support -marm (e.g. Cortex-M3)? | ||
44 | TARGET_CC_KERNEL_ARCH += "-mno-thumb-interwork -marm" | ||
diff --git a/meta/conf/machine/include/arm/feature-arm-vfp.inc b/meta/conf/machine/include/arm/feature-arm-vfp.inc new file mode 100644 index 0000000000..13927ffc12 --- /dev/null +++ b/meta/conf/machine/include/arm/feature-arm-vfp.inc | |||
@@ -0,0 +1,9 @@ | |||
1 | TUNEVALID[vfp] = "Enable Vector Floating Point (vfp) unit." | ||
2 | ARMPKGSFX_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "vfp", "-vfp", "" ,d)}" | ||
3 | |||
4 | TUNEVALID[vfpv4] = "Enable Vector Floating Point Version 4 (vfpv4) unit." | ||
5 | ARMPKGSFX_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "vfpv4", "-vfpv4", "" ,d)}" | ||
6 | |||
7 | TUNEVALID[callconvention-hard] = "Enable EABI hard float call convention, requires VFP." | ||
8 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "vfp", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", " -mfloat-abi=hard", " -mfloat-abi=softfp", d), "" ,d)}" | ||
9 | ARMPKGSFX_EABI .= "${@bb.utils.contains("TUNE_FEATURES", [ "callconvention-hard", "vfp" ], "hf", "", d)}" | ||
diff --git a/meta/conf/machine/include/mips/README b/meta/conf/machine/include/mips/README new file mode 100644 index 0000000000..c375f316df --- /dev/null +++ b/meta/conf/machine/include/mips/README | |||
@@ -0,0 +1,36 @@ | |||
1 | 2012/03/30 - Mark Hatle <mark.hatle@windriver.com> | ||
2 | - Initial Version | ||
3 | |||
4 | MIPS currently defines 12 ABIs. Combinations of: | ||
5 | *) Big/Little Endian | ||
6 | *) Hardware/Software Floating Point | ||
7 | *) o32, n32, n64 ABI | ||
8 | |||
9 | TUNE_ARCH, the GNU canonical arch, is defined as: | ||
10 | |||
11 | mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN} | ||
12 | |||
13 | The package arch is defined in such a way to generated a standard naming | ||
14 | scheme. The scheme is: <mips variant>[-nf][-n32] | ||
15 | |||
16 | TUNE_PKGARCH is defined as: | ||
17 | |||
18 | ${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI} | ||
19 | |||
20 | The following is a list of MIPS specific variables: | ||
21 | |||
22 | MIPSPKGSFX_BYTE - This is defined as either blank and "64" for MIPS64 CPUs. | ||
23 | |||
24 | MIPSPKGSFX_ENDIAN - For bigendian hardware this is blank, otherwise it's | ||
25 | defined as "el". | ||
26 | |||
27 | MIPSPKGSFX_VARIANT_tune-<tune> - In the default tunings it is set to the | ||
28 | same value as TUNE_ARCH. In custom, optimized tunings, the value should | ||
29 | be modified to more precisely describe the tuning. | ||
30 | |||
31 | MIPSPKGSFX_FPU - The value is set to "" or "-nf", where "-nf" indicates | ||
32 | that the tune is using a non-floating point ABI. | ||
33 | |||
34 | MIPSPKGSFX_ABI - This is used to specify an alternative ABI when the previous | ||
35 | values are not enough to distringuish the package. "-n32" is added when | ||
36 | building for N32 ABI. | ||
diff --git a/meta/conf/machine/include/mips/arch-mips.inc b/meta/conf/machine/include/mips/arch-mips.inc new file mode 100644 index 0000000000..02626d300e --- /dev/null +++ b/meta/conf/machine/include/mips/arch-mips.inc | |||
@@ -0,0 +1,102 @@ | |||
1 | # MIPS Architecture definition | ||
2 | # 12 defined ABIs, all combinations of: | ||
3 | # *) Big/Little Endian | ||
4 | # *) Hardware/Software Floating Point | ||
5 | # *) o32, n32, n64 ABI | ||
6 | |||
7 | DEFAULTTUNE ?= "mips" | ||
8 | |||
9 | # Endianess | ||
10 | TUNEVALID[bigendian] = "Enable big-endian mode" | ||
11 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -meb", " -mel", d)}" | ||
12 | |||
13 | # ABI flags | ||
14 | TUNEVALID[o32] = "MIPS o32 ABI" | ||
15 | TUNECONFLICTS[o32] = "n32 n64" | ||
16 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "o32", " -mabi=32", "", d)}" | ||
17 | |||
18 | TUNEVALID[n32] = "MIPS64 n32 ABI" | ||
19 | TUNECONFLICTS[n32] = "o32 n64" | ||
20 | ABIEXTENSION .= "${@bb.utils.contains("TUNE_FEATURES", "n32", "n32", "" ,d)}" | ||
21 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "n32", " -mabi=n32", "", d)}" | ||
22 | |||
23 | TUNEVALID[n64] = "MIPS64 n64 ABI" | ||
24 | TUNECONFLICTS[n64] = "o32 n32" | ||
25 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "n64", " -mabi=64", "", d)}" | ||
26 | |||
27 | # Floating point | ||
28 | TUNEVALID[fpu-hard] = "Use hardware FPU" | ||
29 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", " -mhard-float", " -msoft-float", d)}" | ||
30 | TARGET_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", "", "soft", d)}" | ||
31 | |||
32 | # Package naming | ||
33 | MIPSPKGSFX_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "", "el", d)}" | ||
34 | MIPSPKGSFX_BYTE = "${@bb.utils.contains("TUNE_FEATURES", "n64" , "64", "", d)}" | ||
35 | MIPSPKGSFX_BYTE .= "${@bb.utils.contains("TUNE_FEATURES", "n32" , "64", "", d)}" | ||
36 | MIPSPKGSFX_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard" , "", "-nf", d)}" | ||
37 | MIPSPKGSFX_ABI = "${@bb.utils.contains("TUNE_FEATURES", "n32", "-n32", "", d)}" | ||
38 | |||
39 | TUNE_ARCH = "mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}" | ||
40 | TUNE_PKGARCH = "${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}" | ||
41 | |||
42 | # Base tunes | ||
43 | AVAILTUNES += "mips mips64-n32 mips64 mipsel mips64el-n32 mips64el mips-nf mips64-nf-n32 mips64-nf mipsel-nf mips64el-nf-n32 mips64el-nf" | ||
44 | TUNE_FEATURES_tune-mips = "o32 bigendian fpu-hard" | ||
45 | BASE_LIB_tune-mips = "lib" | ||
46 | MIPSPKGSFX_VARIANT_tune-mips = "${TUNE_ARCH}" | ||
47 | PACKAGE_EXTRA_ARCHS_tune-mips = "mips" | ||
48 | |||
49 | TUNE_FEATURES_tune-mips64-n32 = "n32 bigendian fpu-hard" | ||
50 | BASE_LIB_tune-mips64-n32 = "lib32" | ||
51 | MIPSPKGSFX_VARIANT_tune-mips64-n32 = "${TUNE_ARCH}" | ||
52 | PACKAGE_EXTRA_ARCHS_tune-mips64-n32 = "mips64-n32" | ||
53 | |||
54 | TUNE_FEATURES_tune-mips64 = "n64 bigendian fpu-hard" | ||
55 | BASE_LIB_tune-mips64 = "lib64" | ||
56 | MIPSPKGSFX_VARIANT_tune-mips64 = "${TUNE_ARCH}" | ||
57 | PACKAGE_EXTRA_ARCHS_tune-mips64 = "mips64" | ||
58 | |||
59 | TUNE_FEATURES_tune-mipsel = "o32 fpu-hard" | ||
60 | BASE_LIB_tune-mipsel = "lib" | ||
61 | MIPSPKGSFX_VARIANT_tune-mipsel = "${TUNE_ARCH}" | ||
62 | PACKAGE_EXTRA_ARCHS_tune-mipsel = "mipsel" | ||
63 | |||
64 | TUNE_FEATURES_tune-mips64el-n32 = "n32 fpu-hard" | ||
65 | BASE_LIB_tune-mips64el-n32 = "lib32" | ||
66 | MIPSPKGSFX_VARIANT_tune-mips64el-n32 = "${TUNE_ARCH}" | ||
67 | PACKAGE_EXTRA_ARCHS_tune-mips64el-n32 = "mips64el-n32" | ||
68 | |||
69 | TUNE_FEATURES_tune-mips64el = "n64 fpu-hard" | ||
70 | BASE_LIB_tune-mips64el = "lib64" | ||
71 | MIPSPKGSFX_VARIANT_tune-mips64el = "${TUNE_ARCH}" | ||
72 | PACKAGE_EXTRA_ARCHS_tune-mips64el = "mips64el" | ||
73 | |||
74 | TUNE_FEATURES_tune-mips-nf = "o32 bigendian" | ||
75 | BASE_LIB_tune-mips-nf = "lib" | ||
76 | MIPSPKGSFX_VARIANT_tune-mips-nf = "${TUNE_ARCH}" | ||
77 | PACKAGE_EXTRA_ARCHS_tune-mips-nf = "mips-nf" | ||
78 | |||
79 | TUNE_FEATURES_tune-mips64-nf-n32 = "n32 bigendian" | ||
80 | BASE_LIB_tune-mips64-nf-n32 = "lib32" | ||
81 | MIPSPKGSFX_VARIANT_tune-mips64-nf-n32 = "${TUNE_ARCH}" | ||
82 | PACKAGE_EXTRA_ARCHS_tune-mips64-nf-n32 = "mips64-nf-n32" | ||
83 | |||
84 | TUNE_FEATURES_tune-mips64-nf = "n64 bigendian" | ||
85 | BASE_LIB_tune-mips64-nf = "lib64" | ||
86 | MIPSPKGSFX_VARIANT_tune-mips64-nf = "${TUNE_ARCH}" | ||
87 | PACKAGE_EXTRA_ARCHS_tune-mips64-nf = "mips64-nf" | ||
88 | |||
89 | TUNE_FEATURES_tune-mipsel-nf = "o32" | ||
90 | BASE_LIB_tune-mipsel-nf = "lib" | ||
91 | MIPSPKGSFX_VARIANT_tune-mipsel-nf = "${TUNE_ARCH}" | ||
92 | PACKAGE_EXTRA_ARCHS_tune-mipsel-nf = "mipsel-nf" | ||
93 | |||
94 | TUNE_FEATURES_tune-mips64el-nf-n32 = "n32" | ||
95 | BASE_LIB_tune-mips64el-nf-n32 = "lib32" | ||
96 | MIPSPKGSFX_VARIANT_tune-mips64el-nf-n32 = "${TUNE_ARCH}" | ||
97 | PACKAGE_EXTRA_ARCHS_tune-mips64el-nf-n32 = "mips64el-nf-n32" | ||
98 | |||
99 | TUNE_FEATURES_tune-mips64el-nf = "n64" | ||
100 | BASE_LIB_tune-mips64el-nf = "lib64" | ||
101 | MIPSPKGSFX_VARIANT_tune-mips64el-nf = "${TUNE_ARCH}" | ||
102 | PACKAGE_EXTRA_ARCHS_tune-mips64el-nf = "mips64el-nf" | ||
diff --git a/meta/conf/machine/include/powerpc/README b/meta/conf/machine/include/powerpc/README new file mode 100644 index 0000000000..e87fb5082c --- /dev/null +++ b/meta/conf/machine/include/powerpc/README | |||
@@ -0,0 +1,17 @@ | |||
1 | 2012/03/30 - Mark Hatle <mark.hatle@windriver.com> | ||
2 | - Initial revision | ||
3 | |||
4 | There are 4 primary PowerPC ABIs. | ||
5 | # *) Hard/Soft Floating Point | ||
6 | # *) 32-bit/64-bit | ||
7 | |||
8 | TUNE_ARCH is defined as either "powerpc" or "powerpc64" based on the m32 | ||
9 | or m64 feature. | ||
10 | |||
11 | May of the PowerPC package archictures are based on legacy Linux names. | ||
12 | However, a general naming scheme should be similar to: ppc[64][<family>][-nf]. | ||
13 | (Note: the default package architectures are "powerpc" and "powerpc64".) | ||
14 | |||
15 | TUNE_PKGARCH is defined as TUNE_PKGARCH_tune-${DEFAULTTUNE}. All | ||
16 | PowerPC tunings are required to define TUNE_PKGARCH_tune-<tune>. | ||
17 | |||
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc.inc b/meta/conf/machine/include/powerpc/arch-powerpc.inc new file mode 100644 index 0000000000..036ca3c974 --- /dev/null +++ b/meta/conf/machine/include/powerpc/arch-powerpc.inc | |||
@@ -0,0 +1,34 @@ | |||
1 | # Power Architecture definition | ||
2 | # Four defined ABIs, all combinations of: | ||
3 | # *) Hard/Soft Floating Point | ||
4 | # *) 32-bit/64-bit | ||
5 | |||
6 | DEFAULTTUNE ?= "powerpc" | ||
7 | |||
8 | TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" | ||
9 | ABIEXTENSION ?= "" | ||
10 | |||
11 | TUNEVALID[m32] = "Power ELF32 standard ABI" | ||
12 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "m32", " -m32", "", d)}" | ||
13 | TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m32", "powerpc", "", d)}" | ||
14 | |||
15 | TUNEVALID[fpu-hard] = "Use hardware FPU." | ||
16 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", " -mhard-float", "", d)}" | ||
17 | |||
18 | TUNEVALID[fpu-soft] = "Use software FPU." | ||
19 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", " -msoft-float", "", d)}" | ||
20 | TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", "soft", "", d)}" | ||
21 | |||
22 | TUNEVALID[altivec] = "Altivec" | ||
23 | |||
24 | # Basic tune definitions | ||
25 | AVAILTUNES += "powerpc powerpc-nf" | ||
26 | TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft" | ||
27 | BASE_LIB_tune-powerpc-nf = "lib" | ||
28 | TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf" | ||
29 | PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf" | ||
30 | |||
31 | TUNE_FEATURES_tune-powerpc = "m32 fpu-hard" | ||
32 | BASE_LIB_tune-powerpc = "lib" | ||
33 | TUNE_PKGARCH_tune-powerpc = "powerpc" | ||
34 | PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc" | ||
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/meta/conf/machine/include/powerpc/arch-powerpc64.inc new file mode 100644 index 0000000000..8476dec8a0 --- /dev/null +++ b/meta/conf/machine/include/powerpc/arch-powerpc64.inc | |||
@@ -0,0 +1,14 @@ | |||
1 | DEFAULTTUNE ?= "powerpc64" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[m64] = "Power ELF64 standard ABI" | ||
6 | TUNECONFLICTS[m64] = "m32 nf" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "m64", " -m64", "", d)}" | ||
8 | TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", [ "m64" ], "powerpc64", "", d)}" | ||
9 | |||
10 | AVAILTUNES += "powerpc64" | ||
11 | TUNE_FEATURES_tune-powerpc64 ?= "m64 fpu-hard" | ||
12 | BASE_LIB_tune-powerpc64 = "lib64" | ||
13 | TUNE_PKGARCH_tune-powerpc64 = "powerpc64" | ||
14 | PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64" | ||
diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc new file mode 100644 index 0000000000..a5fc88aa01 --- /dev/null +++ b/meta/conf/machine/include/qemu.inc | |||
@@ -0,0 +1,29 @@ | |||
1 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" | ||
2 | PREFERRED_PROVIDER_virtual/egl ?= "mesa" | ||
3 | PREFERRED_PROVIDER_virtual/libgl ?= "mesa" | ||
4 | PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" | ||
5 | PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" | ||
6 | |||
7 | XSERVER ?= "xserver-xorg \ | ||
8 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast', '', d)} \ | ||
9 | xf86-input-evdev \ | ||
10 | xf86-input-mouse \ | ||
11 | xf86-video-fbdev \ | ||
12 | xf86-input-keyboard" | ||
13 | |||
14 | MACHINE_FEATURES = "alsa bluetooth usbgadget screen" | ||
15 | |||
16 | MACHINEOVERRIDES =. "qemuall:" | ||
17 | |||
18 | IMAGE_FSTYPES += "tar.bz2 ext3" | ||
19 | |||
20 | # Don't include kernels in standard images | ||
21 | RDEPENDS_kernel-base = "" | ||
22 | |||
23 | # Use a common kernel recipe for all QEMU machines | ||
24 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" | ||
25 | |||
26 | EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native" | ||
27 | |||
28 | # Provide the nfs server kernel module for all qemu images | ||
29 | KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc" | ||
diff --git a/meta/conf/machine/include/sh/README b/meta/conf/machine/include/sh/README new file mode 100644 index 0000000000..b351acdd28 --- /dev/null +++ b/meta/conf/machine/include/sh/README | |||
@@ -0,0 +1,11 @@ | |||
1 | 2012/03/30 - Mark Hatle <mark.hatle@windriver.com> | ||
2 | - Initial Revision | ||
3 | |||
4 | Both big endian and little endian are defined for SH. | ||
5 | |||
6 | Experimental -- SH tunings have not been validated. | ||
7 | |||
8 | The TUNE_ARCH is defined as ${TUNE_ARCH_tune-${DEFAULTTUNE}}. | ||
9 | |||
10 | The TUNE_PKGARCH is defind as ${TUNE_PKGARCH_tune-${DEFAULTTUNE}}. | ||
11 | |||
diff --git a/meta/conf/machine/include/sh/arch-sh.inc b/meta/conf/machine/include/sh/arch-sh.inc new file mode 100644 index 0000000000..64d4cac829 --- /dev/null +++ b/meta/conf/machine/include/sh/arch-sh.inc | |||
@@ -0,0 +1,9 @@ | |||
1 | # SH Architecture definition | ||
2 | |||
3 | DEFAULTTUNE ?= "sh" | ||
4 | |||
5 | TUNE_ARCH = "${TUNE_ARCH_tune-${DEFAULTTUNE}}" | ||
6 | TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" | ||
7 | |||
8 | TUNEVALID[bigendian] = "Enabled big-endian mode." | ||
9 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mb", " -ml", d)}" | ||
diff --git a/meta/conf/machine/include/soc-family.inc b/meta/conf/machine/include/soc-family.inc new file mode 100644 index 0000000000..0251da079c --- /dev/null +++ b/meta/conf/machine/include/soc-family.inc | |||
@@ -0,0 +1,2 @@ | |||
1 | # Add SOC_FAMILY to machine overrides so we get access to e.g. 'omap3' and 'ti335x' | ||
2 | MACHINEOVERRIDES =. "${@['', '${SOC_FAMILY}:']['${SOC_FAMILY}' != '']}" | ||
diff --git a/meta/conf/machine/include/tune-arm1136jf-s.inc b/meta/conf/machine/include/tune-arm1136jf-s.inc new file mode 100644 index 0000000000..4a131b64c3 --- /dev/null +++ b/meta/conf/machine/include/tune-arm1136jf-s.inc | |||
@@ -0,0 +1,11 @@ | |||
1 | DEFAULTTUNE ?= "armv6" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv6.inc | ||
4 | |||
5 | TUNEVALID[arm1136jfs] = "Enable arm1136jfs specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "arm1136jfs", " -mtune=arm1136jf-s", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "arm1136jfs" | ||
9 | ARMPKGARCH_tune-arm1136jfs = "arm1136jfs" | ||
10 | TUNE_FEATURES_tune-arm1136jfs = "${TUNE_FEATURES_tune-armv6} arm1136jfs" | ||
11 | PACKAGE_EXTRA_ARCHS_tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6} arm1136jfs-vfp" | ||
diff --git a/meta/conf/machine/include/tune-arm920t.inc b/meta/conf/machine/include/tune-arm920t.inc new file mode 100644 index 0000000000..5cadcc7dc3 --- /dev/null +++ b/meta/conf/machine/include/tune-arm920t.inc | |||
@@ -0,0 +1,11 @@ | |||
1 | DEFAULTTUNE ?= "armv4t" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv4.inc | ||
4 | |||
5 | TUNEVALID[arm920t] = "Enable arm920t specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "arm920t", " -mtune=arm920t", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "arm920t" | ||
9 | ARMPKGARCH_tune-arm920t = "arm920t" | ||
10 | TUNE_FEATURES_tune-arm920t = "${TUNE_FEATURES_tune-armv4t} arm920t" | ||
11 | PACKAGE_EXTRA_ARCHS_tune-arm920t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm920tt" | ||
diff --git a/meta/conf/machine/include/tune-arm926ejs.inc b/meta/conf/machine/include/tune-arm926ejs.inc new file mode 100644 index 0000000000..335e4e020d --- /dev/null +++ b/meta/conf/machine/include/tune-arm926ejs.inc | |||
@@ -0,0 +1,11 @@ | |||
1 | DEFAULTTUNE ?= "armv5te" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv5-dsp.inc | ||
4 | |||
5 | TUNEVALID[arm926ejs] = "Enable arm926ejs specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "arm926ejs", " -mtune=arm926ej-s", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "arm926ejs" | ||
9 | ARMPKGARCH_tune-arm926ejs = "arm926ejs" | ||
10 | TUNE_FEATURES_tune-arm926ejs = "${TUNE_FEATURES_tune-armv5te} arm926ejs" | ||
11 | PACKAGE_EXTRA_ARCHS_tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} arm926ejste" | ||
diff --git a/meta/conf/machine/include/tune-arm9tdmi.inc b/meta/conf/machine/include/tune-arm9tdmi.inc new file mode 100644 index 0000000000..dee57c9858 --- /dev/null +++ b/meta/conf/machine/include/tune-arm9tdmi.inc | |||
@@ -0,0 +1,11 @@ | |||
1 | DEFAULTTUNE ?= "armv4t" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv4.inc | ||
4 | |||
5 | TUNEVALID[arm9tdmi] = "Enable arm9tdmi specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "arm9tdmi", " -mtune=arm9tdmi", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "arm9tdmi" | ||
9 | ARMPKGARCH_tune-arm9tdmi = "arm9tdmi" | ||
10 | TUNE_FEATURES_tune-arm9tdmi = "${TUNE_FEATURES_tune-armv4t} arm9tdmi" | ||
11 | PACKAGE_EXTRA_ARCHS_tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm9tdmit" | ||
diff --git a/meta/conf/machine/include/tune-atom.inc b/meta/conf/machine/include/tune-atom.inc new file mode 100644 index 0000000000..5e1bb74c6c --- /dev/null +++ b/meta/conf/machine/include/tune-atom.inc | |||
@@ -0,0 +1,2 @@ | |||
1 | # Atom tunings are the same as core2 for now... | ||
2 | require conf/machine/include/tune-core2.inc | ||
diff --git a/meta/conf/machine/include/tune-c3.inc b/meta/conf/machine/include/tune-c3.inc new file mode 100644 index 0000000000..fafc28ada0 --- /dev/null +++ b/meta/conf/machine/include/tune-c3.inc | |||
@@ -0,0 +1,12 @@ | |||
1 | require conf/machine/include/x86/arch-x86.inc | ||
2 | |||
3 | TUNEVALID[c3] = "VIA Cyrix III or VIA C3 specific optimizations" | ||
4 | TUNECONFLICTS[c3] = "m64 mx32" | ||
5 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "c3", " -march=c3 -mtune=c3", "", d)}" | ||
6 | |||
7 | AVAILTUNES += "c3" | ||
8 | TUNE_FEATURES_tune-c3 = "${TUNE_FEATURES_tune-x86} c3" | ||
9 | BASE_LIBS_tune-c3 = "${BASE_LIB_tune-x86}" | ||
10 | # The following should likely be something other then i586... | ||
11 | TUNE_PKGARCH_tune-c3 = "i586" | ||
12 | PACKAGE_EXTRA_ARCHS_tune-c3 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586" | ||
diff --git a/meta/conf/machine/include/tune-core2.inc b/meta/conf/machine/include/tune-core2.inc new file mode 100644 index 0000000000..078e22d192 --- /dev/null +++ b/meta/conf/machine/include/tune-core2.inc | |||
@@ -0,0 +1,35 @@ | |||
1 | # Settings for the GCC(1) cpu-type "core2": | ||
2 | # | ||
3 | # Intel Core2 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3 | ||
4 | # instruction set support. | ||
5 | # | ||
6 | # This tune is recommended for the Intel Core 2 CPU family, including Conroe, | ||
7 | # Merom and beyond, as well as the first Atom CPUs, Diamondville, and beyond. | ||
8 | # | ||
9 | DEFAULTTUNE ?= "core2-32" | ||
10 | |||
11 | # Include the previous tune to pull in PACKAGE_EXTRA_ARCHS | ||
12 | require conf/machine/include/tune-i586.inc | ||
13 | |||
14 | # Extra tune features | ||
15 | TUNEVALID[core2] = "Enable core2 specific processor optimizations" | ||
16 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "core2", " -march=core2 -mtune=core2 -msse3 -mfpmath=sse", "", d)}" | ||
17 | |||
18 | # Extra tune selections | ||
19 | AVAILTUNES += "core2-32" | ||
20 | TUNE_FEATURES_tune-core2-32 = "${TUNE_FEATURES_tune-x86} core2" | ||
21 | BASE_LIB_tune-core2-32 = "lib" | ||
22 | TUNE_PKGARCH_tune-core2-32 = "core2-32" | ||
23 | PACKAGE_EXTRA_ARCHS_tune-core2-32 = "${PACKAGE_EXTRA_ARCHS_tune-i586} core2-32" | ||
24 | |||
25 | AVAILTUNES += "core2-64" | ||
26 | TUNE_FEATURES_tune-core2-64 = "${TUNE_FEATURES_tune-x86-64} core2" | ||
27 | BASE_LIB_tune-core2-64 = "lib64" | ||
28 | TUNE_PKGARCH_tune-core2-64 = "core2-64" | ||
29 | PACKAGE_EXTRA_ARCHS_tune-core2-64 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64} core2-64" | ||
30 | |||
31 | AVAILTUNES += "core2-64-x32" | ||
32 | TUNE_FEATURES_tune-core2-64-x32 = "${TUNE_FEATURES_tune-x86-64-x32} core2" | ||
33 | BASE_LIB_tune-core2-64-x32 = "libx32" | ||
34 | TUNE_PKGARCH_tune-core2-64-x32 = "core2-64-x32" | ||
35 | PACKAGE_EXTRA_ARCHS_tune-core2-64-x32 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64-x32} core2-64-x32" | ||
diff --git a/meta/conf/machine/include/tune-corei7.inc b/meta/conf/machine/include/tune-corei7.inc new file mode 100644 index 0000000000..42cf93261c --- /dev/null +++ b/meta/conf/machine/include/tune-corei7.inc | |||
@@ -0,0 +1,35 @@ | |||
1 | # Settings for the GCC(1) cpu-type "corei7": | ||
2 | # | ||
3 | # Intel Core i7 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 | ||
4 | # and SSE4.2 instruction set support. | ||
5 | # | ||
6 | # This tune is recommended for Intel Nehalem and Silvermont (e.g. Bay Trail) CPUs | ||
7 | # (and beyond). | ||
8 | # | ||
9 | DEFAULTTUNE ?= "corei7-64" | ||
10 | |||
11 | # Pull in the previous tune in to pull in PACKAGE_EXTRA_ARCHS | ||
12 | require conf/machine/include/tune-core2.inc | ||
13 | |||
14 | # Extra tune features | ||
15 | TUNEVALID[corei7] = "Enable corei7 specific processor optimizations" | ||
16 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "corei7", " -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2", "", d)}" | ||
17 | |||
18 | # Extra tune selections | ||
19 | AVAILTUNES += "corei7-32" | ||
20 | TUNE_FEATURES_tune-corei7-32 = "${TUNE_FEATURES_tune-x86} corei7" | ||
21 | BASE_LIB_tune-corei7-32 = "lib" | ||
22 | TUNE_PKGARCH_tune-corei7-32 = "corei7-32" | ||
23 | PACKAGE_EXTRA_ARCHS_tune-corei7-32 = "${PACKAGE_EXTRA_ARCHS_tune-core2} corei7-32" | ||
24 | |||
25 | AVAILTUNES += "corei7-64" | ||
26 | TUNE_FEATURES_tune-corei7-64 = "${TUNE_FEATURES_tune-x86-64} corei7" | ||
27 | BASE_LIB_tune-corei7-64 = "lib64" | ||
28 | TUNE_PKGARCH_tune-corei7-64 = "corei7-64" | ||
29 | PACKAGE_EXTRA_ARCHS_tune-corei7-64 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64} corei7-64" | ||
30 | |||
31 | AVAILTUNES += "corei7-64-x32" | ||
32 | TUNE_FEATURES_tune-corei7-64-x32 = "${TUNE_FEATURES_tune-x86-64-x32} corei7" | ||
33 | BASE_LIB_tune-corei7-64-x32 = "libx32" | ||
34 | TUNE_PKGARCH_tune-corei7-64-x32 = "corei7-64-x32" | ||
35 | PACKAGE_EXTRA_ARCHS_tune-corei7-64-x32 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64-x32} corei7-64-x32" | ||
diff --git a/meta/conf/machine/include/tune-cortexa15.inc b/meta/conf/machine/include/tune-cortexa15.inc new file mode 100644 index 0000000000..552977722f --- /dev/null +++ b/meta/conf/machine/include/tune-cortexa15.inc | |||
@@ -0,0 +1,36 @@ | |||
1 | DEFAULTTUNE ?= "armv7a-neon" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv7a.inc | ||
4 | |||
5 | TUNEVALID[cortexa15] = "Enable Cortex-A15 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa15", " -mtune=cortex-a15", "", d)}" | ||
7 | |||
8 | # Little Endian base configs | ||
9 | AVAILTUNES += "cortexa15 cortexa15t cortexa15-neon cortexa15t-neon" | ||
10 | ARMPKGARCH_tune-cortexa15 = "cortexa15" | ||
11 | ARMPKGARCH_tune-cortexa15t = "cortexa15" | ||
12 | ARMPKGARCH_tune-cortexa15-neon = "cortexa15" | ||
13 | ARMPKGARCH_tune-cortexa15t-neon = "cortexa15" | ||
14 | TUNE_FEATURES_tune-cortexa15 = "${TUNE_FEATURES_tune-armv7a} cortexa15" | ||
15 | TUNE_FEATURES_tune-cortexa15t = "${TUNE_FEATURES_tune-armv7at} cortexa15" | ||
16 | TUNE_FEATURES_tune-cortexa15-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa15" | ||
17 | TUNE_FEATURES_tune-cortexa15t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa15" | ||
18 | PACKAGE_EXTRA_ARCHS_tune-cortexa15 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa15-vfp" | ||
19 | PACKAGE_EXTRA_ARCHS_tune-cortexa15t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa15-vfp cortexa15t2-vfp" | ||
20 | PACKAGE_EXTRA_ARCHS_tune-cortexa15-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa15-vfp cortexa15-vfp-neon" | ||
21 | PACKAGE_EXTRA_ARCHS_tune-cortexa15t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa15-vfp cortexa15-vfp-neon cortexa15t2-vfp cortexa15t2-vfp-neon" | ||
22 | |||
23 | # VFP Tunes | ||
24 | AVAILTUNES += "cortexa15hf cortexa15thf cortexa15hf-neon cortexa15thf-neon" | ||
25 | ARMPKGARCH_tune-cortexa15hf = "cortexa15" | ||
26 | ARMPKGARCH_tune-cortexa15thf = "cortexa15" | ||
27 | ARMPKGARCH_tune-cortexa15hf-neon = "cortexa15" | ||
28 | ARMPKGARCH_tune-cortexa15thf-neon = "cortexa15" | ||
29 | TUNE_FEATURES_tune-cortexa15hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa15" | ||
30 | TUNE_FEATURES_tune-cortexa15thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa15" | ||
31 | TUNE_FEATURES_tune-cortexa15hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa15" | ||
32 | TUNE_FEATURES_tune-cortexa15thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa15" | ||
33 | PACKAGE_EXTRA_ARCHS_tune-cortexa15hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa15hf-vfp" | ||
34 | PACKAGE_EXTRA_ARCHS_tune-cortexa15thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa15hf-vfp cortexa15t2hf-vfp" | ||
35 | PACKAGE_EXTRA_ARCHS_tune-cortexa15hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa15hf-vfp cortexa15hf-vfp-neon" | ||
36 | PACKAGE_EXTRA_ARCHS_tune-cortexa15thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa15hf-vfp cortexa15hf-vfp-neon cortexa15t2hf-vfp cortexa15t2hf-vfp-neon" | ||
diff --git a/meta/conf/machine/include/tune-cortexa5.inc b/meta/conf/machine/include/tune-cortexa5.inc new file mode 100644 index 0000000000..139e65c828 --- /dev/null +++ b/meta/conf/machine/include/tune-cortexa5.inc | |||
@@ -0,0 +1,36 @@ | |||
1 | DEFAULTTUNE ?= "armv7a-neon" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv7a.inc | ||
4 | |||
5 | TUNEVALID[cortexa5] = "Enable Cortex-A5 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa5", " -mtune=cortex-a5", "", d)}" | ||
7 | |||
8 | # Little Endian base configs | ||
9 | AVAILTUNES += "cortexa5 cortexa5t cortexa5-neon cortexa5t-neon" | ||
10 | ARMPKGARCH_tune-cortexa5 = "cortexa5" | ||
11 | ARMPKGARCH_tune-cortexa5t = "cortexa5" | ||
12 | ARMPKGARCH_tune-cortexa5-neon = "cortexa5" | ||
13 | ARMPKGARCH_tune-cortexa5t-neon = "cortexa5" | ||
14 | TUNE_FEATURES_tune-cortexa5 = "${TUNE_FEATURES_tune-armv7a} cortexa5" | ||
15 | TUNE_FEATURES_tune-cortexa5t = "${TUNE_FEATURES_tune-armv7at} cortexa5" | ||
16 | TUNE_FEATURES_tune-cortexa5-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa5" | ||
17 | TUNE_FEATURES_tune-cortexa5t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa5" | ||
18 | PACKAGE_EXTRA_ARCHS_tune-cortexa5 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa5-vfp" | ||
19 | PACKAGE_EXTRA_ARCHS_tune-cortexa5t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa5-vfp cortexa5t2-vfp" | ||
20 | PACKAGE_EXTRA_ARCHS_tune-cortexa5-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa5-vfp cortexa5-vfp-neon" | ||
21 | PACKAGE_EXTRA_ARCHS_tune-cortexa5t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa5-vfp cortexa5-vfp-neon cortexa5t2-vfp cortexa5t2-vfp-neon" | ||
22 | |||
23 | # VFP Tunes | ||
24 | AVAILTUNES += "cortexa5hf cortexa5thf cortexa5hf-neon cortexa5thf-neon" | ||
25 | ARMPKGARCH_tune-cortexa5hf = "cortexa5" | ||
26 | ARMPKGARCH_tune-cortexa5thf = "cortexa5" | ||
27 | ARMPKGARCH_tune-cortexa5hf-neon = "cortexa5" | ||
28 | ARMPKGARCH_tune-cortexa5thf-neon = "cortexa5" | ||
29 | TUNE_FEATURES_tune-cortexa5hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa5" | ||
30 | TUNE_FEATURES_tune-cortexa5thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa5" | ||
31 | TUNE_FEATURES_tune-cortexa5hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa5" | ||
32 | TUNE_FEATURES_tune-cortexa5thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa5" | ||
33 | PACKAGE_EXTRA_ARCHS_tune-cortexa5hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa5hf-vfp" | ||
34 | PACKAGE_EXTRA_ARCHS_tune-cortexa5thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa5hf-vfp cortexa5t2hf-vfp" | ||
35 | PACKAGE_EXTRA_ARCHS_tune-cortexa5hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa5hf-vfp cortexa5hf-vfp-neon" | ||
36 | PACKAGE_EXTRA_ARCHS_tune-cortexa5thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa5hf-vfp cortexa5hf-vfp-neon cortexa5t2hf-vfp cortexa5t2hf-vfp-neon" | ||
diff --git a/meta/conf/machine/include/tune-cortexa7.inc b/meta/conf/machine/include/tune-cortexa7.inc new file mode 100644 index 0000000000..9d069100f0 --- /dev/null +++ b/meta/conf/machine/include/tune-cortexa7.inc | |||
@@ -0,0 +1,42 @@ | |||
1 | DEFAULTTUNE ?= "armv7a-neon" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv7a.inc | ||
4 | |||
5 | TUNEVALID[cortexa7] = "Enable Cortex-A7 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa7", " -mtune=cortex-a7", "", d)}" | ||
7 | |||
8 | # Little Endian base configs | ||
9 | AVAILTUNES += "cortexa7 cortexa7t cortexa7-neon cortexa7t-neon" | ||
10 | ARMPKGARCH_tune-cortexa7 = "cortexa7" | ||
11 | ARMPKGARCH_tune-cortexa7t = "cortexa7" | ||
12 | ARMPKGARCH_tune-cortexa7-neon = "cortexa7" | ||
13 | ARMPKGARCH_tune-cortexa7t-neon = "cortexa7" | ||
14 | TUNE_FEATURES_tune-cortexa7 = "${TUNE_FEATURES_tune-armv7a} cortexa7" | ||
15 | TUNE_FEATURES_tune-cortexa7t = "${TUNE_FEATURES_tune-armv7at} cortexa7" | ||
16 | TUNE_FEATURES_tune-cortexa7-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa7" | ||
17 | TUNE_FEATURES_tune-cortexa7t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa7" | ||
18 | PACKAGE_EXTRA_ARCHS_tune-cortexa7 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa7-vfp" | ||
19 | PACKAGE_EXTRA_ARCHS_tune-cortexa7t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa7-vfp cortexa7t2-vfp" | ||
20 | PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa7-vfp cortexa7-vfp-neon" | ||
21 | PACKAGE_EXTRA_ARCHS_tune-cortexa7t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa7-vfp cortexa7-vfp-neon cortexa7t2-vfp cortexa7t2-vfp-neon" | ||
22 | |||
23 | # VFP Tunes | ||
24 | AVAILTUNES += "cortexa7hf cortexa7thf cortexa7hf-neon cortexa7thf-neon cortexa7hf-neon-vfpv4 cortexa7thf-neon-vfpv4" | ||
25 | ARMPKGARCH_tune-cortexa7hf = "cortexa7" | ||
26 | ARMPKGARCH_tune-cortexa7thf = "cortexa7" | ||
27 | ARMPKGARCH_tune-cortexa7hf-neon = "cortexa7" | ||
28 | ARMPKGARCH_tune-cortexa7thf-neon = "cortexa7" | ||
29 | ARMPKGARCH_tune-cortexa7hf-neon-vfpv4 = "cortexa7" | ||
30 | ARMPKGARCH_tune-cortexa7thf-neon-vfpv4 = "cortexa7" | ||
31 | TUNE_FEATURES_tune-cortexa7hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa7" | ||
32 | TUNE_FEATURES_tune-cortexa7thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa7" | ||
33 | TUNE_FEATURES_tune-cortexa7hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa7" | ||
34 | TUNE_FEATURES_tune-cortexa7thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa7" | ||
35 | TUNE_FEATURES_tune-cortexa7hf-neon-vfpv4 ?= "${TUNE_FEATURES_tune-armv7ahf-neon-vfpv4} cortexa7" | ||
36 | TUNE_FEATURES_tune-cortexa7thf-neon-vfpv4 ?= "${TUNE_FEATURES_tune-armv7athf-neon-vfpv4} cortexa7" | ||
37 | PACKAGE_EXTRA_ARCHS_tune-cortexa7hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa7hf-vfp" | ||
38 | PACKAGE_EXTRA_ARCHS_tune-cortexa7thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa7hf-vfp cortexa7t2hf-vfp" | ||
39 | PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa7hf-vfp cortexa7hf-vfp-neon" | ||
40 | PACKAGE_EXTRA_ARCHS_tune-cortexa7thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa7hf-vfp cortexa7hf-vfp-neon cortexa7t2hf-vfp cortexa7t2hf-vfp-neon" | ||
41 | PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-vfp-neon cortexa7hf-vfp-vfpv4-neon" | ||
42 | PACKAGE_EXTRA_ARCHS_tune-cortexa7thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-vfp-neon cortexa7t2hf-vfp cortexa7t2hf-vfp-neon cortexa7hf-vfp-vfpv4-neon cortexa7t2hf-vfp-vfpv4-neon" | ||
diff --git a/meta/conf/machine/include/tune-cortexa8.inc b/meta/conf/machine/include/tune-cortexa8.inc new file mode 100644 index 0000000000..771537ff84 --- /dev/null +++ b/meta/conf/machine/include/tune-cortexa8.inc | |||
@@ -0,0 +1,36 @@ | |||
1 | DEFAULTTUNE ?= "armv7a-neon" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv7a.inc | ||
4 | |||
5 | TUNEVALID[cortexa8] = "Enable Cortex-A8 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa8", " -mtune=cortex-a8", "", d)}" | ||
7 | |||
8 | # Little Endian base configs | ||
9 | AVAILTUNES += "cortexa8 cortexa8t cortexa8-neon cortexa8t-neon" | ||
10 | ARMPKGARCH_tune-cortexa8 = "cortexa8" | ||
11 | ARMPKGARCH_tune-cortexa8t = "cortexa8" | ||
12 | ARMPKGARCH_tune-cortexa8-neon = "cortexa8" | ||
13 | ARMPKGARCH_tune-cortexa8t-neon = "cortexa8" | ||
14 | TUNE_FEATURES_tune-cortexa8 = "${TUNE_FEATURES_tune-armv7a} cortexa8" | ||
15 | TUNE_FEATURES_tune-cortexa8t = "${TUNE_FEATURES_tune-armv7at} cortexa8" | ||
16 | TUNE_FEATURES_tune-cortexa8-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa8" | ||
17 | TUNE_FEATURES_tune-cortexa8t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa8" | ||
18 | PACKAGE_EXTRA_ARCHS_tune-cortexa8 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa8-vfp" | ||
19 | PACKAGE_EXTRA_ARCHS_tune-cortexa8t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa8-vfp cortexa8t2-vfp" | ||
20 | PACKAGE_EXTRA_ARCHS_tune-cortexa8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa8-vfp cortexa8-vfp-neon" | ||
21 | PACKAGE_EXTRA_ARCHS_tune-cortexa8t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa8-vfp cortexa8-vfp-neon cortexa8t2-vfp cortexa8t2-vfp-neon" | ||
22 | |||
23 | # VFP Tunes | ||
24 | AVAILTUNES += "cortexa8hf cortexa8thf cortexa8hf-neon cortexa8thf-neon" | ||
25 | ARMPKGARCH_tune-cortexa8hf = "cortexa8" | ||
26 | ARMPKGARCH_tune-cortexa8thf = "cortexa8" | ||
27 | ARMPKGARCH_tune-cortexa8hf-neon = "cortexa8" | ||
28 | ARMPKGARCH_tune-cortexa8thf-neon = "cortexa8" | ||
29 | TUNE_FEATURES_tune-cortexa8hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa8" | ||
30 | TUNE_FEATURES_tune-cortexa8thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa8" | ||
31 | TUNE_FEATURES_tune-cortexa8hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa8" | ||
32 | TUNE_FEATURES_tune-cortexa8thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa8" | ||
33 | PACKAGE_EXTRA_ARCHS_tune-cortexa8hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa8hf-vfp" | ||
34 | PACKAGE_EXTRA_ARCHS_tune-cortexa8thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa8hf-vfp cortexa8t2hf-vfp" | ||
35 | PACKAGE_EXTRA_ARCHS_tune-cortexa8hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa8hf-vfp cortexa8hf-vfp-neon" | ||
36 | PACKAGE_EXTRA_ARCHS_tune-cortexa8thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa8hf-vfp cortexa8hf-vfp-neon cortexa8t2hf-vfp cortexa8t2hf-vfp-neon" | ||
diff --git a/meta/conf/machine/include/tune-cortexa9.inc b/meta/conf/machine/include/tune-cortexa9.inc new file mode 100644 index 0000000000..700394b824 --- /dev/null +++ b/meta/conf/machine/include/tune-cortexa9.inc | |||
@@ -0,0 +1,36 @@ | |||
1 | DEFAULTTUNE ?= "armv7a-neon" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv7a.inc | ||
4 | |||
5 | TUNEVALID[cortexa9] = "Enable Cortex-A9 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa9", " -mtune=cortex-a9", "", d)}" | ||
7 | |||
8 | # Little Endian base configs | ||
9 | AVAILTUNES += "cortexa9 cortexa9t cortexa9-neon cortexa9t-neon" | ||
10 | ARMPKGARCH_tune-cortexa9 = "cortexa9" | ||
11 | ARMPKGARCH_tune-cortexa9t = "cortexa9" | ||
12 | ARMPKGARCH_tune-cortexa9-neon = "cortexa9" | ||
13 | ARMPKGARCH_tune-cortexa9t-neon = "cortexa9" | ||
14 | TUNE_FEATURES_tune-cortexa9 = "${TUNE_FEATURES_tune-armv7a} cortexa9" | ||
15 | TUNE_FEATURES_tune-cortexa9t = "${TUNE_FEATURES_tune-armv7at} cortexa9" | ||
16 | TUNE_FEATURES_tune-cortexa9-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa9" | ||
17 | TUNE_FEATURES_tune-cortexa9t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa9" | ||
18 | PACKAGE_EXTRA_ARCHS_tune-cortexa9 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa9-vfp" | ||
19 | PACKAGE_EXTRA_ARCHS_tune-cortexa9t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa9-vfp cortexa9t2-vfp" | ||
20 | PACKAGE_EXTRA_ARCHS_tune-cortexa9-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa9-vfp cortexa9-vfp-neon" | ||
21 | PACKAGE_EXTRA_ARCHS_tune-cortexa9t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa9-vfp cortexa9-vfp-neon cortexa9t2-vfp cortexa9t2-vfp-neon" | ||
22 | |||
23 | # VFP Tunes | ||
24 | AVAILTUNES += "cortexa9hf cortexa9thf cortexa9hf-neon cortexa9thf-neon" | ||
25 | ARMPKGARCH_tune-cortexa9hf = "cortexa9" | ||
26 | ARMPKGARCH_tune-cortexa9thf = "cortexa9" | ||
27 | ARMPKGARCH_tune-cortexa9hf-neon = "cortexa9" | ||
28 | ARMPKGARCH_tune-cortexa9thf-neon = "cortexa9" | ||
29 | TUNE_FEATURES_tune-cortexa9hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa9" | ||
30 | TUNE_FEATURES_tune-cortexa9thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa9" | ||
31 | TUNE_FEATURES_tune-cortexa9hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa9" | ||
32 | TUNE_FEATURES_tune-cortexa9thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa9" | ||
33 | PACKAGE_EXTRA_ARCHS_tune-cortexa9hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa9hf-vfp" | ||
34 | PACKAGE_EXTRA_ARCHS_tune-cortexa9thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa9hf-vfp cortexa9t2hf-vfp" | ||
35 | PACKAGE_EXTRA_ARCHS_tune-cortexa9hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa9hf-vfp cortexa9hf-vfp-neon" | ||
36 | PACKAGE_EXTRA_ARCHS_tune-cortexa9thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa9hf-vfp cortexa9hf-vfp-neon cortexa9t2hf-vfp cortexa9t2hf-vfp-neon" | ||
diff --git a/meta/conf/machine/include/tune-cortexm1.inc b/meta/conf/machine/include/tune-cortexm1.inc new file mode 100644 index 0000000000..3b652796d2 --- /dev/null +++ b/meta/conf/machine/include/tune-cortexm1.inc | |||
@@ -0,0 +1,11 @@ | |||
1 | DEFAULTTUNE ?= "armv7a" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv7a.inc | ||
4 | |||
5 | TUNEVALID[cortexm1] = "Enable Cortex-M1 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexm1", " -mtune=cortex-m1", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "cortexm1" | ||
9 | ARMPKGARCH_tune-cortexm1 = "cortexm1" | ||
10 | TUNE_FEATURES_tune-cortexm1 = "${TUNE_FEATURES_tune-armv7a} cortexm1" | ||
11 | PACKAGE_EXTRA_ARCHS_tune-cortexm1 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexm1-vfp" | ||
diff --git a/meta/conf/machine/include/tune-cortexm3.inc b/meta/conf/machine/include/tune-cortexm3.inc new file mode 100644 index 0000000000..cbc4c0dd49 --- /dev/null +++ b/meta/conf/machine/include/tune-cortexm3.inc | |||
@@ -0,0 +1,14 @@ | |||
1 | DEFAULTTUNE ?= "cortexm3" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv7a.inc | ||
4 | |||
5 | TUNEVALID[cortexm3] = "Enable Cortex-M3 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexm3", " -mtune=cortex-m3", "", d)}" | ||
7 | |||
8 | TUNEVALID[armv7m] = "Enable Cortex-M3 specific processor optimizations" | ||
9 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "armv7m", " -march=armv7-m", "", d)}" | ||
10 | |||
11 | AVAILTUNES += "cortexm3" | ||
12 | ARMPKGARCH_tune-cortexm3 = "armv7m" | ||
13 | TUNE_FEATURES_tune-cortexm3 = "armv7m vfp cortexm3" | ||
14 | PACKAGE_EXTRA_ARCHS_tune-cortexm3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7m-vfp" | ||
diff --git a/meta/conf/machine/include/tune-cortexr4.inc b/meta/conf/machine/include/tune-cortexr4.inc new file mode 100644 index 0000000000..bde649f090 --- /dev/null +++ b/meta/conf/machine/include/tune-cortexr4.inc | |||
@@ -0,0 +1,14 @@ | |||
1 | DEFAULTTUNE ?= "cortexr4" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv7a.inc | ||
4 | |||
5 | TUNEVALID[cortexr4] = "Enable Cortex-R4 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexr4", " -mtune=cortex-r4", "", d)}" | ||
7 | |||
8 | TUNEVALID[armv7r] = "Enable Cortex-R4 specific processor optimizations" | ||
9 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "armv7r", " -march=armv7-r", "", d)}" | ||
10 | |||
11 | AVAILTUNES += "cortexr4" | ||
12 | ARMPKGARCH_tune-cortexr4 = "armv7r" | ||
13 | TUNE_FEATURES_tune-cortexr4 = "armv7r vfp cortexr4 arm thumb" | ||
14 | PACKAGE_EXTRA_ARCHS_tune-cortexr4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7r-vfp" | ||
diff --git a/meta/conf/machine/include/tune-ep9312.inc b/meta/conf/machine/include/tune-ep9312.inc new file mode 100644 index 0000000000..b19b438125 --- /dev/null +++ b/meta/conf/machine/include/tune-ep9312.inc | |||
@@ -0,0 +1,12 @@ | |||
1 | DEFAULTTUNE ?= "ep9312" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv4.inc | ||
4 | |||
5 | TUNEVALID[ep9312] = "Enable Intel PXA27x specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ep9312", " -march=ep9312 -mtune=ep9312", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "ep9312" | ||
9 | ARMPKGARCH_tune-ep9312 = "ep9312" | ||
10 | # this tune does not include TUNE_FEATURES_tune-armv4t, so there is no armv4 TUNE_FEATURES => no 't' in ARMPKGSFX_THUMB | ||
11 | TUNE_FEATURES_tune-ep9312 = "thumb ep9312" | ||
12 | PACKAGE_EXTRA_ARCHS_tune-ep9312 = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} ep9312" | ||
diff --git a/meta/conf/machine/include/tune-i586.inc b/meta/conf/machine/include/tune-i586.inc new file mode 100644 index 0000000000..5fbb3c74d2 --- /dev/null +++ b/meta/conf/machine/include/tune-i586.inc | |||
@@ -0,0 +1,14 @@ | |||
1 | DEFAULTTUNE ?= "i586" | ||
2 | |||
3 | require conf/machine/include/x86/arch-x86.inc | ||
4 | |||
5 | # Extra tune features | ||
6 | TUNEVALID[i586] = "Enable i586 specific processor optimizations" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "i586", " -march=i586", "", d)}" | ||
8 | |||
9 | # Extra tune selections | ||
10 | AVAILTUNES += "i586" | ||
11 | TUNE_FEATURES_tune-i586 = "${TUNE_FEATURES_tune-x86} i586" | ||
12 | BASE_LIB_tune-i586 = "lib" | ||
13 | TUNE_PKGARCH_tune-i586 = "i586" | ||
14 | PACKAGE_EXTRA_ARCHS_tune-i586 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i586" | ||
diff --git a/meta/conf/machine/include/tune-iwmmxt.inc b/meta/conf/machine/include/tune-iwmmxt.inc new file mode 100644 index 0000000000..748ca0d0aa --- /dev/null +++ b/meta/conf/machine/include/tune-iwmmxt.inc | |||
@@ -0,0 +1,14 @@ | |||
1 | # Configurations for the Intel PXA27x Appications Processor Family. | ||
2 | # Please use tune-xscale for PXA255/PXA26x based processors. | ||
3 | |||
4 | DEFAULTTUNE ?= "iwmmxt" | ||
5 | |||
6 | require conf/machine/include/arm/arch-armv5-dsp.inc | ||
7 | |||
8 | TUNEVALID[iwmmxt] = "Enable Intel PXA27x specific processor optimizations" | ||
9 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "iwmmxt", " -march=iwmmxt -mtune=iwmmxt", "", d)}" | ||
10 | |||
11 | AVAILTUNES += "iwmmxt" | ||
12 | ARMPKGARCH_tune-iwmmxt = "iwmmxt" | ||
13 | TUNE_FEATURES_tune-iwmmxt = "thumb iwmmxt" | ||
14 | PACKAGE_EXTRA_ARCHS_tune-iwmmxt = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} iwmmxt iwmmxtt" | ||
diff --git a/meta/conf/machine/include/tune-mips32.inc b/meta/conf/machine/include/tune-mips32.inc new file mode 100644 index 0000000000..ae326cedf3 --- /dev/null +++ b/meta/conf/machine/include/tune-mips32.inc | |||
@@ -0,0 +1,25 @@ | |||
1 | DEFAULTTUNE ?= "mips32" | ||
2 | |||
3 | require conf/machine/include/mips/arch-mips.inc | ||
4 | |||
5 | TUNEVALID[mips32] = "Enable mips32 specific processor optimizations" | ||
6 | TUNECONFLICTS[mips32] = "n64 n32" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "mips32", " -march=mips32", "", d)}" | ||
8 | |||
9 | AVAILTUNES += "mips32 mips32el mips32-nf mips32el-nf" | ||
10 | |||
11 | TUNE_FEATURES_tune-mips32 = "${TUNE_FEATURES_tune-mips} mips32" | ||
12 | MIPSPKGSFX_VARIANT_tune-mips32 = "mips32" | ||
13 | PACKAGE_EXTRA_ARCHS_tune-mips32 = "mips mips32" | ||
14 | |||
15 | TUNE_FEATURES_tune-mips32el = "${TUNE_FEATURES_tune-mipsel} mips32" | ||
16 | MIPSPKGSFX_VARIANT_tune-mips32el = "mips32el" | ||
17 | PACKAGE_EXTRA_ARCHS_tune-mips32el = "mipsel mips32el" | ||
18 | |||
19 | TUNE_FEATURES_tune-mips32-nf = "${TUNE_FEATURES_tune-mips-nf} mips32" | ||
20 | MIPSPKGSFX_VARIANT_tune-mips32-nf = "mips32" | ||
21 | PACKAGE_EXTRA_ARCHS_tune-mips32-nf = "mips-nf mips32-nf" | ||
22 | |||
23 | TUNE_FEATURES_tune-mips32el-nf = "${TUNE_FEATURES_tune-mipsel-nf} mips32" | ||
24 | MIPSPKGSFX_VARIANT_tune-mips32el-nf = "mips32el" | ||
25 | PACKAGE_EXTRA_ARCHS_tune-mips32el-nf = "mipsel-nf mips32el-nf" | ||
diff --git a/meta/conf/machine/include/tune-mips32r2.inc b/meta/conf/machine/include/tune-mips32r2.inc new file mode 100644 index 0000000000..c9deff84e2 --- /dev/null +++ b/meta/conf/machine/include/tune-mips32r2.inc | |||
@@ -0,0 +1,17 @@ | |||
1 | DEFAULTTUNE ?= "mips32r2" | ||
2 | |||
3 | require conf/machine/include/tune-mips32.inc | ||
4 | |||
5 | TUNEVALID[mips32r2] = "Enable mips32r2 specific processor optimizations" | ||
6 | TUNECONFLICTS[mips32r2] = "n64 n32" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "mips32r2", " -march=mips32r2", "", d)}" | ||
8 | |||
9 | AVAILTUNES += "mips32r2 mips32r2el" | ||
10 | |||
11 | TUNE_FEATURES_tune-mips32r2 = "${TUNE_FEATURES_tune-mips} mips32r2" | ||
12 | MIPSPKGSFX_VARIANT_tune-mips32r2 = "mips32r2" | ||
13 | PACKAGE_EXTRA_ARCHS_tune-mips32r2 = "mips mips32 mips32r2" | ||
14 | |||
15 | TUNE_FEATURES_tune-mips32r2el = "${TUNE_FEATURES_tune-mipsel} mips32r2" | ||
16 | MIPSPKGSFX_VARIANT_tune-mips32r2el = "mips32r2el" | ||
17 | PACKAGE_EXTRA_ARCHS_tune-mips32r2el = "mipsel mips32el mips32r2el" | ||
diff --git a/meta/conf/machine/include/tune-mips64.inc b/meta/conf/machine/include/tune-mips64.inc new file mode 100644 index 0000000000..9be0e0f8d9 --- /dev/null +++ b/meta/conf/machine/include/tune-mips64.inc | |||
@@ -0,0 +1,3 @@ | |||
1 | DEFAULTTUNE ?= "mips64" | ||
2 | |||
3 | require conf/machine/include/tune-mips32r2.inc | ||
diff --git a/meta/conf/machine/include/tune-power5.inc b/meta/conf/machine/include/tune-power5.inc new file mode 100644 index 0000000000..30be86941a --- /dev/null +++ b/meta/conf/machine/include/tune-power5.inc | |||
@@ -0,0 +1,21 @@ | |||
1 | DEFAULTTUNE ?= "ppc64p5" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc64.inc | ||
4 | |||
5 | TUNEVALID[power5] = "Enable IBM Power5 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "power5", " -mcpu=power5", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "ppcp5 ppc64p5" | ||
9 | TUNE_FEATURES_tune-ppcp5 = "m32 fpu-hard power5 altivec" | ||
10 | BASE_LIB_tune-ppcp5 = "lib" | ||
11 | TUNE_PKGARCH_tune-ppcp5 = "ppcp5" | ||
12 | PACKAGE_EXTRA_ARCHS_tune-ppcp5 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp5" | ||
13 | |||
14 | TUNE_FEATURES_tune-ppc64p5 = "m64 fpu-hard power5 altivec" | ||
15 | BASE_LIB_tune-ppc64p5 = "lib64" | ||
16 | TUNE_PKGARCH_tune-ppc64p5 = "ppc64p5" | ||
17 | PACKAGE_EXTRA_ARCHS_tune-ppc64p5 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p5" | ||
18 | |||
19 | # glibc configure options to get power5 specific library | ||
20 | GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains("TUNE_FEATURES", "power5", "--with-cpu=power5", "", d)}" | ||
21 | GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains("TUNE_FEATURES", "power5", "--with-cpu=power5", "", d)}" | ||
diff --git a/meta/conf/machine/include/tune-power6.inc b/meta/conf/machine/include/tune-power6.inc new file mode 100644 index 0000000000..7563798120 --- /dev/null +++ b/meta/conf/machine/include/tune-power6.inc | |||
@@ -0,0 +1,21 @@ | |||
1 | DEFAULTTUNE ?= "ppcpr6" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc64.inc | ||
4 | |||
5 | TUNEVALID[power6] = "Enable IBM Power6 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "power6", " -mcpu=power6", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "ppcp6 ppc64p6" | ||
9 | TUNE_FEATURES_tune-ppcp6 = "m32 fpu-hard power6 altivec" | ||
10 | BASE_LIB_tune-ppcp6 = "lib" | ||
11 | TUNE_PKGARCH_tune-ppcp6 = "ppcp6" | ||
12 | PACKAGE_EXTRA_ARCHS_tune-ppcp6 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp6" | ||
13 | |||
14 | TUNE_FEATURES_tune-ppc64p6 = "m64 fpu-hard power6 altivec" | ||
15 | BASE_LIB_tune-ppc64p6 = "lib64" | ||
16 | TUNE_PKGARCH_tune-ppc64p6 = "ppc64p6" | ||
17 | PACKAGE_EXTRA_ARCHS_tune-ppc64p6 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p6" | ||
18 | |||
19 | # glibc configure options to get power6 specific library | ||
20 | GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains("TUNE_FEATURES", "power6", "--with-cpu=power6", "", d)}" | ||
21 | GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains("TUNE_FEATURES", "power6", "--with-cpu=power6", "", d)}" | ||
diff --git a/meta/conf/machine/include/tune-power7.inc b/meta/conf/machine/include/tune-power7.inc new file mode 100644 index 0000000000..7069e75026 --- /dev/null +++ b/meta/conf/machine/include/tune-power7.inc | |||
@@ -0,0 +1,21 @@ | |||
1 | DEFAULTTUNE ?= "ppcpr7" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc64.inc | ||
4 | |||
5 | TUNEVALID[power7] = "Enable IBM Power7 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "power7", " -mcpu=power7", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "ppcp7 ppc64p7" | ||
9 | TUNE_FEATURES_tune-ppcp7 = "m32 fpu-hard power7 altivec" | ||
10 | BASE_LIB_tune-ppcp7 = "lib" | ||
11 | TUNE_PKGARCH_tune-ppcp7 = "ppcp7" | ||
12 | PACKAGE_EXTRA_ARCHS_tune-ppcp7 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp7" | ||
13 | |||
14 | TUNE_FEATURES_tune-ppc64p7 = "m64 fpu-hard power7 altivec" | ||
15 | BASE_LIB_tune-ppc64p7 = "lib64" | ||
16 | TUNE_PKGARCH_tune-ppc64p7 = "ppc64p7" | ||
17 | PACKAGE_EXTRA_ARCHS_tune-ppc64p7 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p7" | ||
18 | |||
19 | # glibc configure options to get power7 specific library | ||
20 | GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains("TUNE_FEATURES", "power7", "--with-cpu=power7", "", d)}" | ||
21 | GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains("TUNE_FEATURES", "power7", "--with-cpu=power7", "", d)}" | ||
diff --git a/meta/conf/machine/include/tune-ppc476.inc b/meta/conf/machine/include/tune-ppc476.inc new file mode 100644 index 0000000000..4ed185d2e2 --- /dev/null +++ b/meta/conf/machine/include/tune-ppc476.inc | |||
@@ -0,0 +1,14 @@ | |||
1 | DEFAULTTUNE ?= "ppc476" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[ppc476] = "Enable ppc476 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppc476", " -mcpu=476", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "ppc476" | ||
9 | TUNE_FEATURES_tune-ppc476 = "m32 fpu-hard ppc476" | ||
10 | TUNE_PKGARCH_tune-ppc476 = "ppc476" | ||
11 | PACKAGE_EXTRA_ARCHS_tune-ppc476 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc476" | ||
12 | |||
13 | # glibc configure options to get 476 specific library (for sqrt) | ||
14 | GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc476", "-with-cpu=476", "", d)}" | ||
diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc new file mode 100644 index 0000000000..d744a0053f --- /dev/null +++ b/meta/conf/machine/include/tune-ppc603e.inc | |||
@@ -0,0 +1,14 @@ | |||
1 | DEFAULTTUNE ?= "ppc603e" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", " -mcpu=603e", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "ppc603e" | ||
9 | TUNE_FEATURES_tune-ppc603e = "m32 fpu-hard ppc603e" | ||
10 | TUNE_PKGARCH_tune-ppc603e = "ppc603e" | ||
11 | PACKAGE_EXTRA_ARCHS_tune-ppc603e = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc603e" | ||
12 | |||
13 | # glibc configure options to get 603e specific library (for sqrt) | ||
14 | GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", "-with-cpu=603e", "", d)}" | ||
diff --git a/meta/conf/machine/include/tune-ppc7400.inc b/meta/conf/machine/include/tune-ppc7400.inc new file mode 100644 index 0000000000..4ac0403e1f --- /dev/null +++ b/meta/conf/machine/include/tune-ppc7400.inc | |||
@@ -0,0 +1,14 @@ | |||
1 | DEFAULTTUNE ?= "ppc7400" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[ppc7400] = "Enable ppc7400 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppc7400", " -mcpu=7400", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "ppc7400" | ||
9 | TUNE_FEATURES_tune-ppc7400 = "m32 fpu-hard ppc7400 altivec" | ||
10 | TUNE_PKGARCH_tune-ppc7400 = "ppc7400" | ||
11 | PACKAGE_EXTRA_ARCHS_tune-ppc7400 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc7400" | ||
12 | |||
13 | # glibc configure options to get 7400 specific library (for sqrt) | ||
14 | #GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc7400", "--with-cpu=power4", "", d)}" | ||
diff --git a/meta/conf/machine/include/tune-ppce300c2.inc b/meta/conf/machine/include/tune-ppce300c2.inc new file mode 100644 index 0000000000..05a9505f74 --- /dev/null +++ b/meta/conf/machine/include/tune-ppce300c2.inc | |||
@@ -0,0 +1,11 @@ | |||
1 | DEFAULTTUNE ?= "ppce300c2" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[ppce300c2] = "Enable ppce300c2 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c2", " -mcpu=e300c2", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "ppce300c2" | ||
9 | TUNE_FEATURES_tune-ppce300c2 = "m32 fpu-soft ppce300c2" | ||
10 | TUNE_PKGARCH_tune-ppce300c2 = "ppce300c2" | ||
11 | PACKAGE_EXTRA_ARCHS_tune-ppce300c2 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppce300c2" | ||
diff --git a/meta/conf/machine/include/tune-ppce300c3.inc b/meta/conf/machine/include/tune-ppce300c3.inc new file mode 100644 index 0000000000..b19cf220ba --- /dev/null +++ b/meta/conf/machine/include/tune-ppce300c3.inc | |||
@@ -0,0 +1,23 @@ | |||
1 | DEFAULTTUNE ?= "ppce300c3" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | AVAILTUNES += "ppce300c3 ppce300c3-nf" | ||
6 | |||
7 | # hard-float | ||
8 | TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations" | ||
9 | TUNE_FEATURES_tune-ppce300c3 = "${TUNE_FEATURES_tune-powerpc} ppce300c3" | ||
10 | TUNE_PKGARCH_tune-ppce300c3 = "ppce300c3" | ||
11 | PACKAGE_EXTRA_ARCHS_tune-ppce300c3 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce300c3" | ||
12 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", " -mcpu=e300c3", "", d)}" | ||
13 | |||
14 | # glibc config options to make use of e300c3 (603e) specific sqrt/sqrtf routines | ||
15 | GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", "--with-cpu=e300c3", "", d)}" | ||
16 | |||
17 | # soft-float | ||
18 | TUNEVALID[ppce300c3-nf] = "Enable ppce300c3 specific processor optimizations (no fpu)" | ||
19 | TUNE_FEATURES_tune-ppce300c3-nf = "${TUNE_FEATURES_tune-powerpc-nf} ppce300c3-nf" | ||
20 | TUNE_PKGARCH_tune-ppce300c3-nf = "ppce300c3-nf" | ||
21 | PACKAGE_EXTRA_ARCHS_tune-ppce300c3-nf = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppce300c3-nf" | ||
22 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3-nf", " -mcpu=e300c3", "", d)}" | ||
23 | |||
diff --git a/meta/conf/machine/include/tune-ppce500.inc b/meta/conf/machine/include/tune-ppce500.inc new file mode 100644 index 0000000000..70c1f8b253 --- /dev/null +++ b/meta/conf/machine/include/tune-ppce500.inc | |||
@@ -0,0 +1,20 @@ | |||
1 | DEFAULTTUNE ?= "ppce500" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[ppce500] = "Enable ppce500 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppce500", " -mcpu=8540", "", d)}" | ||
7 | |||
8 | TUNEVALID[spe] = "Enable SPE ABI extensions" | ||
9 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", [ "ppce500", "spe" ], " -mabi=spe -mspe -mfloat-gprs=single", "", d)}" | ||
10 | TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", [ "ppce500" , "spe" ], "ppc-efs", "", d)}" | ||
11 | |||
12 | # spe is defined potentially in two places, so we want to be sure it will | ||
13 | # only write spe once to the ABIEXTENSIONS field. | ||
14 | SPEABIEXTENSION = "${@bb.utils.contains("TUNE_FEATURES", "spe", "spe", "", d)}" | ||
15 | ABIEXTENSION .= "${SPEABIEXTENSION}" | ||
16 | |||
17 | AVAILTUNES += "ppce500" | ||
18 | TUNE_FEATURES_tune-ppce500 = "m32 spe ppce500" | ||
19 | TUNE_PKGARCH_tune-ppce500 = "ppce500" | ||
20 | PACKAGE_EXTRA_ARCHS_tune-ppce500 = "ppce500" | ||
diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/tune-ppce500mc.inc new file mode 100644 index 0000000000..744d8e55e7 --- /dev/null +++ b/meta/conf/machine/include/tune-ppce500mc.inc | |||
@@ -0,0 +1,14 @@ | |||
1 | DEFAULTTUNE ?= "ppce500mc" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", " -mcpu=e500mc", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "ppce500mc" | ||
9 | TUNE_FEATURES_tune-ppce500mc = "m32 fpu-hard ppce500mc" | ||
10 | TUNE_PKGARCH_tune-ppce500mc = "ppce500mc" | ||
11 | PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce500mc" | ||
12 | |||
13 | # glibc configure options to get e500mc specific library (for sqrt) | ||
14 | GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "-with-cpu=e500mc", "", d)}" | ||
diff --git a/meta/conf/machine/include/tune-ppce500v2.inc b/meta/conf/machine/include/tune-ppce500v2.inc new file mode 100644 index 0000000000..d014d70a6e --- /dev/null +++ b/meta/conf/machine/include/tune-ppce500v2.inc | |||
@@ -0,0 +1,20 @@ | |||
1 | DEFAULTTUNE ?= "ppce500v2" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc.inc | ||
4 | |||
5 | TUNEVALID[ppce500v2] = "Enable ppce500v2 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppce500v2", " -mcpu=8548", "", d)}" | ||
7 | |||
8 | TUNEVALID[spe] = "Enable SPE ABI extensions" | ||
9 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", [ "ppce500v2", "spe" ], " -mabi=spe -mspe -mfloat-gprs=double", "", d)}" | ||
10 | TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", [ "ppce500v2" , "spe" ], "ppc-efd", "", d)}" | ||
11 | |||
12 | # spe is defined potentially in two places, so we want to be sure it will | ||
13 | # only write spe once to the ABIEXTENSIONS field. | ||
14 | SPEABIEXTENSION = "${@bb.utils.contains("TUNE_FEATURES", "spe", "spe", "", d)}" | ||
15 | ABIEXTENSION .= "${SPEABIEXTENSION}" | ||
16 | |||
17 | AVAILTUNES += "ppce500v2" | ||
18 | TUNE_FEATURES_tune-ppce500v2 = "m32 spe ppce500v2" | ||
19 | TUNE_PKGARCH_tune-ppce500v2 = "ppce500v2" | ||
20 | PACKAGE_EXTRA_ARCHS_tune-ppce500v2 = "ppce500v2" | ||
diff --git a/meta/conf/machine/include/tune-ppce5500.inc b/meta/conf/machine/include/tune-ppce5500.inc new file mode 100644 index 0000000000..25231ef4f2 --- /dev/null +++ b/meta/conf/machine/include/tune-ppce5500.inc | |||
@@ -0,0 +1,20 @@ | |||
1 | DEFAULTTUNE ?= "ppce5500" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc64.inc | ||
4 | |||
5 | TUNEVALID[e5500] = "Enable Freescale e5500 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "e5500", " -mcpu=e5500", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "ppce5500 ppc64e5500" | ||
9 | TUNE_FEATURES_tune-ppce5500 = "m32 fpu-hard e5500" | ||
10 | BASE_LIB_tune-ppce5500 = "lib" | ||
11 | TUNE_PKGARCH_tune-ppce5500 = "ppce5500" | ||
12 | PACKAGE_EXTRA_ARCHS_tune-ppce5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce5500" | ||
13 | |||
14 | TUNE_FEATURES_tune-ppc64e5500 = "m64 fpu-hard e5500" | ||
15 | BASE_LIB_tune-ppc64e5500 = "lib64" | ||
16 | TUNE_PKGARCH_tune-ppc64e5500 = "ppc64e5500" | ||
17 | PACKAGE_EXTRA_ARCHS_tune-ppc64e5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e5500" | ||
18 | |||
19 | # glibc configure options to get e5500 specific library (for sqrt) | ||
20 | GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "e5500", "--with-cpu=e5500", "", d)}" | ||
diff --git a/meta/conf/machine/include/tune-ppce6500.inc b/meta/conf/machine/include/tune-ppce6500.inc new file mode 100644 index 0000000000..ea743a3edc --- /dev/null +++ b/meta/conf/machine/include/tune-ppce6500.inc | |||
@@ -0,0 +1,21 @@ | |||
1 | DEFAULTTUNE ?= "ppce6500" | ||
2 | |||
3 | require conf/machine/include/powerpc/arch-powerpc64.inc | ||
4 | |||
5 | TUNEVALID[e6500] = "Enable Freescale e6500 specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "e6500", " -mcpu=e6500", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "ppce6500 ppc64e6500" | ||
9 | TUNE_FEATURES_tune-ppce6500 = "m32 fpu-hard e6500 altivec" | ||
10 | BASE_LIB_tune-ppce6500 = "lib" | ||
11 | TUNE_PKGARCH_tune-ppce6500 = "ppce6500" | ||
12 | PACKAGE_EXTRA_ARCHS_tune-ppce6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce6500" | ||
13 | |||
14 | TUNE_FEATURES_tune-ppc64e6500 = "m64 fpu-hard e6500 altivec" | ||
15 | BASE_LIB_tune-ppc64e6500 = "lib64" | ||
16 | TUNE_PKGARCH_tune-ppc64e6500 = "ppc64e6500" | ||
17 | PACKAGE_EXTRA_ARCHS_tune-ppc64e6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e6500" | ||
18 | |||
19 | # glibc configure options to get e6500 specific library | ||
20 | GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains("TUNE_FEATURES", "e6500", "--with-cpu=e6500", "", d)}" | ||
21 | GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains("TUNE_FEATURES", "e6500", "--with-cpu=e6500", "", d)}" | ||
diff --git a/meta/conf/machine/include/tune-sh3.inc b/meta/conf/machine/include/tune-sh3.inc new file mode 100644 index 0000000000..c5ed7bab96 --- /dev/null +++ b/meta/conf/machine/include/tune-sh3.inc | |||
@@ -0,0 +1,17 @@ | |||
1 | DEFAULTTUNE ?= "sh3" | ||
2 | |||
3 | require conf/machine/include/sh/arch-sh.inc | ||
4 | |||
5 | TUNEVALID[sh3] = "Enable SH3 optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "sh3", " -m3", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "sh3 sh3eb" | ||
9 | TUNE_FEATURES_tune-sh3 = "sh3" | ||
10 | TUNE_ARCH_tune-sh3 = "sh3" | ||
11 | TUNE_PKGARCH_tune-sh3 = "sh3" | ||
12 | PACKAGE_EXTRA_ARCHS_tune-sh3 = "sh sh3" | ||
13 | |||
14 | TUNE_FEATURES_tune-sh3eb = "sh3 bigendian" | ||
15 | TUNE_ARCH_tune-sh3eb = "sh3eb" | ||
16 | TUNE_PKGARCH_tune-sh3eb = "sh3eb" | ||
17 | PACKAGE_EXTRA_ARCHS_tune-sh3eb = "sheb sh3eb" | ||
diff --git a/meta/conf/machine/include/tune-sh4.inc b/meta/conf/machine/include/tune-sh4.inc new file mode 100644 index 0000000000..56e23b9369 --- /dev/null +++ b/meta/conf/machine/include/tune-sh4.inc | |||
@@ -0,0 +1,34 @@ | |||
1 | DEFAULTTUNE ?= "sh4" | ||
2 | |||
3 | # Pull in sh4 for compatibility... | ||
4 | require conf/machine/include/sh/arch-sh.inc | ||
5 | |||
6 | TUNEVALID[sh4] = "Enable SH4 optimizations" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "sh4", " -m4", "", d)}" | ||
8 | |||
9 | # NOTE: If you want to optimize to sh4a, conf/machine/include/tune-sh4a.inc. | ||
10 | # But it is not compatible for sh4. | ||
11 | # The binary optimized by m4a doesn't operate on sh4. It works on sh4a only. | ||
12 | TUNEVALID[sh4a] = "Enable SH4a optimizations" | ||
13 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "sh4a", " -m4a", "", d)}" | ||
14 | |||
15 | AVAILTUNES += "sh4 sh4eb sh4a sh4aeb" | ||
16 | TUNE_FEATURES_tune-sh4 = "sh4" | ||
17 | TUNE_ARCH_tune-sh4 = "sh4" | ||
18 | TUNE_PKGARCH_tune-sh4 = "sh4" | ||
19 | PACKAGE_EXTRA_ARCHS_tune-sh4 = "sh sh4" | ||
20 | |||
21 | TUNE_FEATURES_tune-sh4eb = "sh4 bigendian" | ||
22 | TUNE_ARCH_tune-sh4eb = "sh4eb" | ||
23 | TUNE_PKGARCH_tune-sh4eb = "sh4eb" | ||
24 | PACKAGE_EXTRA_ARCHS_tune-sh4eb = "sheb sh4eb" | ||
25 | |||
26 | TUNE_FEATURES_tune-sh4a = "sh4a" | ||
27 | TUNE_ARCH_tune-sh4a = "sh4" | ||
28 | TUNE_PKGARCH_tune-sh4a = "sh4a" | ||
29 | PACKAGE_EXTRA_ARCHS_tune-sh4a = "sh sh4 sh4a" | ||
30 | |||
31 | TUNE_FEATURES_tune-sh4aeb = "sh4a bigendian" | ||
32 | TUNE_ARCH_tune-sh4aeb = "sh4eb" | ||
33 | TUNE_PKGARCH_tune-sh4aeb = "sh4aeb" | ||
34 | PACKAGE_EXTRA_ARCHS_tune-sh4aeb = "sheb sh4eb sh4aeb" | ||
diff --git a/meta/conf/machine/include/tune-strongarm1100.inc b/meta/conf/machine/include/tune-strongarm1100.inc new file mode 100644 index 0000000000..ea2fba89fe --- /dev/null +++ b/meta/conf/machine/include/tune-strongarm1100.inc | |||
@@ -0,0 +1,11 @@ | |||
1 | DEFAULTTUNE ?= "armv4" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv4.inc | ||
4 | |||
5 | TUNEVALID[strongarm] = "Enable Strongarm 1100 series processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "strongarm", " -mtune=strongarm1100", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "strongarm" | ||
9 | ARMPKGARCH_tune-strongarm = "strongarm" | ||
10 | TUNE_FEATURES_tune-strongarm = "${TUNE_FEATURES_tune-armv4} strongarm" | ||
11 | PACKAGE_EXTRA_ARCHS_tune-strongarm = "${PACKAGE_EXTRA_ARCHS_tune-armv4} strongarm" | ||
diff --git a/meta/conf/machine/include/tune-supersparc.inc b/meta/conf/machine/include/tune-supersparc.inc new file mode 100644 index 0000000000..0faa361f18 --- /dev/null +++ b/meta/conf/machine/include/tune-supersparc.inc | |||
@@ -0,0 +1,4 @@ | |||
1 | TUNE_ARCH = "sparc" | ||
2 | |||
3 | TUNE_CCARGS = "-mcpu=supersparc" | ||
4 | TUNE_PKGARCH = "supersparc" | ||
diff --git a/meta/conf/machine/include/tune-xscale.inc b/meta/conf/machine/include/tune-xscale.inc new file mode 100644 index 0000000000..0c5ca8d171 --- /dev/null +++ b/meta/conf/machine/include/tune-xscale.inc | |||
@@ -0,0 +1,16 @@ | |||
1 | DEFAULTTUNE ?= "armv5te" | ||
2 | |||
3 | require conf/machine/include/arm/arch-armv5-dsp.inc | ||
4 | |||
5 | TUNEVALID[xscale] = "Enable PXA255/PXA26x Xscale specific processor optimizations" | ||
6 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "xscale", " -mtune=xscale", "", d)}" | ||
7 | |||
8 | AVAILTUNES += "xscale" | ||
9 | ARMPKGARCH_tune-xscale = "xscale" | ||
10 | TUNE_FEATURES_tune-xscale = "${TUNE_FEATURES_tune-armv5te} xscale" | ||
11 | PACKAGE_EXTRA_ARCHS_tune-xscale = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} xscale xscalet xscalee xscalete" | ||
12 | |||
13 | AVAILTUNES += "xscale-be" | ||
14 | ARMPKGARCH_tune-xscale-be = "xscale" | ||
15 | TUNE_FEATURES_tune-xscale-be = "${TUNE_FEATURES_tune-armv5teb} xscale bigendian" | ||
16 | PACKAGE_EXTRA_ARCHS_tune-xscale-be = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} xscaleb xscaletb xscaleeb xscaleteb" | ||
diff --git a/meta/conf/machine/include/x86-base.inc b/meta/conf/machine/include/x86-base.inc new file mode 100644 index 0000000000..f7c8a45fa7 --- /dev/null +++ b/meta/conf/machine/include/x86-base.inc | |||
@@ -0,0 +1,52 @@ | |||
1 | # | ||
2 | # Base machine settings for X86 architecture BSPs | ||
3 | # | ||
4 | |||
5 | # | ||
6 | # common settings for X86 machines | ||
7 | # | ||
8 | MACHINE_FEATURES += "screen keyboard pci usbhost ext2 ext3 x86 \ | ||
9 | acpi serial usbgadget alsa" | ||
10 | |||
11 | MACHINE_EXTRA_RRECOMMENDS += "kernel-modules" | ||
12 | |||
13 | IMAGE_FSTYPES += "live" | ||
14 | |||
15 | KERNEL_IMAGETYPE ?= "bzImage" | ||
16 | |||
17 | SERIAL_CONSOLE ?= "115200 ttyS0" | ||
18 | |||
19 | # | ||
20 | # kernel-related variables | ||
21 | # | ||
22 | PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto" | ||
23 | PREFERRED_VERSION_linux-yocto ??= "3.0%" | ||
24 | |||
25 | # | ||
26 | # XSERVER subcomponents, used to build the XSERVER variable | ||
27 | # | ||
28 | XSERVER_X86_BASE = "xserver-xorg \ | ||
29 | xf86-input-mouse \ | ||
30 | xf86-input-keyboard \ | ||
31 | xf86-input-evdev \ | ||
32 | xf86-input-synaptics \ | ||
33 | " | ||
34 | |||
35 | XSERVER_X86_EXT = " \ | ||
36 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'xserver-xorg-extension-glx', '', d)} \ | ||
37 | xserver-xorg-module-libint10 \ | ||
38 | " | ||
39 | |||
40 | XSERVER_X86_I915 = "xf86-video-intel \ | ||
41 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-i915', '', d)} \ | ||
42 | " | ||
43 | |||
44 | XSERVER_X86_I965 = "xf86-video-intel \ | ||
45 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-i965', '', d)} \ | ||
46 | " | ||
47 | |||
48 | XSERVER_X86_VESA = "xf86-video-vesa" | ||
49 | |||
50 | XSERVER_X86_FBDEV = "xf86-video-fbdev" | ||
51 | |||
52 | XSERVER_X86_MODESETTING = "xf86-video-modesetting" | ||
diff --git a/meta/conf/machine/include/x86/README b/meta/conf/machine/include/x86/README new file mode 100644 index 0000000000..2b6c46c7eb --- /dev/null +++ b/meta/conf/machine/include/x86/README | |||
@@ -0,0 +1,24 @@ | |||
1 | 2012/03/30 - Mark Hatle <mark.hatle@windriver.com> | ||
2 | - Initial version | ||
3 | |||
4 | Most of the items for the X86 architectures are defined in the single | ||
5 | arch-x86 file. | ||
6 | |||
7 | Three ABIs are define, m32, mx32 and m64. | ||
8 | |||
9 | The following is the list of X86 specific variables: | ||
10 | |||
11 | X86ARCH32 - This is the 32-bit architecture GNU canonical arch, TUNE_ARCH. | ||
12 | |||
13 | X86ARCH64 - This is the 64-bit architecture GNU canonical arch, TUNE_ARCH. | ||
14 | |||
15 | The TUNE_PKGARCH is defined as follows: | ||
16 | |||
17 | TUNE_PKGARCH = ${TUNE_PKGARCH_tune-${DEFAULTTUNE}} | ||
18 | |||
19 | The package architecture for 32-bit targets is historical and generally | ||
20 | set to to match the core compatible processor type, i.e. i386. | ||
21 | |||
22 | For 64-bit architectures, the architecture is expected to end in '_64'. | ||
23 | |||
24 | If the x32 ABI is used, then the _64 is further extended with a '_x32'. | ||
diff --git a/meta/conf/machine/include/x86/arch-x86.inc b/meta/conf/machine/include/x86/arch-x86.inc new file mode 100644 index 0000000000..298bddc6a1 --- /dev/null +++ b/meta/conf/machine/include/x86/arch-x86.inc | |||
@@ -0,0 +1,51 @@ | |||
1 | # | ||
2 | # X86 Architecture definition (IA32, X86_64, and X32) | ||
3 | # | ||
4 | |||
5 | DEFAULTTUNE ?= "x86" | ||
6 | TARGET_FPU ?= "" | ||
7 | X86ARCH32 ?= "i586" | ||
8 | X86ARCH64 ?= "x86_64" | ||
9 | |||
10 | TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" | ||
11 | |||
12 | # ELF32 ABI | ||
13 | TUNEVALID[m32] = "IA32 ELF32 standard ABI" | ||
14 | TUNECONFLICTS[m32] = "m64 mx32" | ||
15 | TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m32", "${X86ARCH32}", "" ,d)}" | ||
16 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "m32", " -m32", "", d)}" | ||
17 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "m32", "x86:", "" ,d)}" | ||
18 | |||
19 | # x32 ABI | ||
20 | TUNEVALID[mx32] = "IA32e (x86_64) ELF32 standard ABI" | ||
21 | TUNECONFLICTS[mx32] = "m64 m32" | ||
22 | TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", "${X86ARCH64}", "" ,d)}" | ||
23 | ABIEXTENSION .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", "x32", "" ,d)}" | ||
24 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", " -mx32", "", d)}" | ||
25 | TUNE_LDARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-m elf32_x86_64", "", d)}" | ||
26 | TUNE_ASARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-x32", "", d)}" | ||
27 | |||
28 | # ELF64 ABI | ||
29 | TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI" | ||
30 | TUNECONFLICTS[m64] = "m32 mx32" | ||
31 | TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m64", "${X86ARCH64}", "" ,d)}" | ||
32 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "m64", " -m64", "", d)}" | ||
33 | |||
34 | # Default Tune configurations | ||
35 | AVAILTUNES += "x86" | ||
36 | TUNE_FEATURES_tune-x86 = "m32" | ||
37 | BASE_LIB_tune-x86 = "lib" | ||
38 | TUNE_PKGARCH_tune-x86 = "x86" | ||
39 | PACKAGE_EXTRA_ARCHS_tune-x86 = "${TUNE_PKGARCH_tune-x86}" | ||
40 | |||
41 | AVAILTUNES += "x86-64" | ||
42 | TUNE_FEATURES_tune-x86-64 = "m64" | ||
43 | BASE_LIB_tune-x86-64 = "lib64" | ||
44 | TUNE_PKGARCH_tune-x86-64 = "x86_64" | ||
45 | PACKAGE_EXTRA_ARCHS_tune-x86-64 = "${TUNE_PKGARCH_tune-x86-64}" | ||
46 | |||
47 | AVAILTUNES += "x86-64-x32" | ||
48 | TUNE_FEATURES_tune-x86-64-x32 = "mx32" | ||
49 | BASE_LIB_tune-x86-64-x32 = "libx32" | ||
50 | TUNE_PKGARCH_tune-x86-64-x32 = "x86_64_x32" | ||
51 | PACKAGE_EXTRA_ARCHS_tune-x86-64-x32 = "${TUNE_PKGARCH_tune-x86-64-x32}" | ||