summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2012-03-30 14:36:44 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-04-04 17:17:55 +0100
commit449dae1e035b0b3e599ab4ba53257743c6eb964b (patch)
treeb52a5c0f73f93b1649f249beadb4d2e80ee298ed
parent78e1a7c0d1df6d649b398da778cab173cbaddef9 (diff)
downloadpoky-449dae1e035b0b3e599ab4ba53257743c6eb964b.tar.gz
conf/machine/include: Cleanup ARM tunings to match README
Cleanup the ARM tunings to match the new tunings README file. The ARM tunings define TUNE_PKGARCH in a way that only one main arm architecture, i.e. armv6, may be defined at the same time. We may have to revise these settings in the future, as well as figure out a way to better differentiate various optimize tunings in the package arch. (This was not done, to preserve existing behavior!) Fix a number of minor issues w/ the armv5 tunings where DSP variants were referenced but not defined. Fix incorrect armv7 entries in armv7a. Fix PACKAGE_EXTRA_ARCHS definitions inside of tune-cortexm3 and tune-cortexr4. (From OE-Core rev: 0e71abea5458122188d5eddef2c17147f61ff895) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/conf/machine/include/arm/README40
-rw-r--r--meta/conf/machine/include/arm/arch-arm.inc2
-rw-r--r--meta/conf/machine/include/arm/arch-armv5.inc2
-rw-r--r--meta/conf/machine/include/arm/arch-armv7a.inc6
-rw-r--r--meta/conf/machine/include/tune-cortexm3.inc2
-rw-r--r--meta/conf/machine/include/tune-cortexr4.inc2
6 files changed, 47 insertions, 7 deletions
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 @@
12012/03/30 - Mark Hatle <mark.hatle@windriver.com>
2 - Initial Revision
3
4The ARM architecture definitions are split among a number of files.
5The primary definitions for the variables are handled by the core
6arch-arm.inc file.
7
8TUNE_ARCH is set to either "arm" or "armeb" depending on the value
9of the existence of the "bigendian" feature in a given tune.
10
11A small set of ARM specific variables have been defined to allow
12TUNE_PKGARCH to be automatically defined. Optimized tunings must NOT
13change the definiton of TUNE_PKGARCH. TUNE_PKGACH_tune-<tune> will be
14ignored. The format of the package arch is enforced by the TUNE_PKGARCH
15default. The format must be of the form:
16<armversion>[t][e][hf][b][-vfp][-neon]
17
18TUNE_PKGARCH is defined as:
19${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}
20
21ARMPKGARCH - This is the core package arch component specified by each
22tuning. This is the primary identifier of a tuning. Usual values are:
23arm, armv4, armv5, armv6, armv7a, etc.
24
25ARMPKGSFX_THUMB - This is the thumb specific suffix. Curently it is
26defined in feature-arm-thumb.inc.
27
28ARMPKGSFX_DSP - This is the DSP specific suffix. Currently this is set
29to 'e' when on armv5 and the dsp feature is enabled.
30
31ARMPKGSFX_EABI - This is the eabi specific suffix. There are currently
32two defined ABIs specificed, standard EABI and Hard Float (VFP) EABI.
33When the callconvention-hard is enabled, "hf" is specified, otherwise it
34is blank.
35
36ARMPKGSFX_ENDIAN - This is the endian specific suffix. It is defined in
37the core arch-arm.inc file.
38
39ARMPKGSFX_FPU - This is the FPU specific suffix. The suffix indicates
40specific 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
index 4ea8b2b2d1..da51044093 100644
--- a/meta/conf/machine/include/arm/arch-arm.inc
+++ b/meta/conf/machine/include/arm/arch-arm.inc
@@ -9,7 +9,7 @@ ARMPKGSFX_EABI ??= ""
9ARMPKGSFX_THUMB ??= "" 9ARMPKGSFX_THUMB ??= ""
10 10
11TUNE_ARCH = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "armeb", "arm", d)}" 11TUNE_ARCH = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "armeb", "arm", d)}"
12TUNE_PKGARCH = "${@d.getVar('ARMPKGARCH', True)}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}" 12TUNE_PKGARCH = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}"
13 13
14ABIEXTENSION = "eabi" 14ABIEXTENSION = "eabi"
15 15
diff --git a/meta/conf/machine/include/arm/arch-armv5.inc b/meta/conf/machine/include/arm/arch-armv5.inc
index fd3490f800..4a75530bb1 100644
--- a/meta/conf/machine/include/arm/arch-armv5.inc
+++ b/meta/conf/machine/include/arm/arch-armv5.inc
@@ -13,7 +13,7 @@ require conf/machine/include/arm/arch-armv4.inc
13require conf/machine/include/arm/feature-arm-vfp.inc 13require conf/machine/include/arm/feature-arm-vfp.inc
14 14
15# Little Endian 15# Little Endian
16AVAILTUNES += "armv5 armv5t armv5e armv5te" 16AVAILTUNES += "armv5 armv5t"
17TUNE_FEATURES_tune-armv5 ?= "armv5" 17TUNE_FEATURES_tune-armv5 ?= "armv5"
18TUNE_FEATURES_tune-armv5t ?= "armv5 thumb" 18TUNE_FEATURES_tune-armv5t ?= "armv5 thumb"
19PACKAGE_EXTRA_ARCHS_tune-armv5 = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv5" 19PACKAGE_EXTRA_ARCHS_tune-armv5 = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv5"
diff --git a/meta/conf/machine/include/arm/arch-armv7a.inc b/meta/conf/machine/include/arm/arch-armv7a.inc
index 2542f45c91..629960d2da 100644
--- a/meta/conf/machine/include/arm/arch-armv7a.inc
+++ b/meta/conf/machine/include/arm/arch-armv7a.inc
@@ -22,11 +22,11 @@ PACKAGE_EXTRA_ARCHS_tune-armv7at = "${PACKAGE_EXTRA_ARCHS_tune-armv6t} armv7a ar
22PACKAGE_EXTRA_ARCHS_tune-armv7at-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfp-neon armv7at2-vfp-neon" 22PACKAGE_EXTRA_ARCHS_tune-armv7at-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfp-neon armv7at2-vfp-neon"
23 23
24# VFP Tunes 24# VFP Tunes
25AVAILTUNES += "armv7hf armv7thf armv7hf-neon armv7thf-neon" 25AVAILTUNES += "armv7ahf armv7athf armv7ahf-neon armv7athf-neon"
26TUNE_FEATURES_tune-armv7ahf ?= "${TUNE_FEATURES_tune-armv7a} callconvention-hard" 26TUNE_FEATURES_tune-armv7ahf ?= "${TUNE_FEATURES_tune-armv7a} callconvention-hard"
27TUNE_FEATURES_tune-armv7athf ?= "${TUNE_FEATURES_tune-armv7at} callconvention-hard" 27TUNE_FEATURES_tune-armv7athf ?= "${TUNE_FEATURES_tune-armv7at} callconvention-hard"
28TUNE_FEATURES_tune-armv7ahf-neon ?= "${TUNE_FEATURES_tune-armv7a-neon} callconvention-hard" 28TUNE_FEATURES_tune-armv7ahf-neon ?= "${TUNE_FEATURES_tune-armv7a-neon} callconvention-hard"
29TUNE_FEATURES_tune-armv7athf-neon ?= "${TUNE_FEATURES_tune_armv7at-neon} callconvention-hard" 29TUNE_FEATURES_tune-armv7athf-neon ?= "${TUNE_FEATURES_tune-armv7at-neon} callconvention-hard"
30PACKAGE_EXTRA_ARCHS_tune-armv7ahf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} armv7ahf-vfp" 30PACKAGE_EXTRA_ARCHS_tune-armv7ahf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} armv7ahf-vfp"
31PACKAGE_EXTRA_ARCHS_tune-armv7athf = "${PACKAGE_EXTRA_ARCHS_tune-armv6thf} armv7ahf-vfp armv7at2hf-vfp" 31PACKAGE_EXTRA_ARCHS_tune-armv7athf = "${PACKAGE_EXTRA_ARCHS_tune-armv6thf} armv7ahf-vfp armv7at2hf-vfp"
32PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfp-neon" 32PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfp-neon"
@@ -48,7 +48,7 @@ AVAILTUNES += "armv7ahfb armv7athfb armv7ahfb-neon armv7athfb-neon"
48TUNE_FEATURES_tune-armv7ahfb ?= "${TUNE_FEATURES_tune-armv7ab} callconvention-hard" 48TUNE_FEATURES_tune-armv7ahfb ?= "${TUNE_FEATURES_tune-armv7ab} callconvention-hard"
49TUNE_FEATURES_tune-armv7athfb ?= "${TUNE_FEATURES_tune-armv7atb} callconvention-hard" 49TUNE_FEATURES_tune-armv7athfb ?= "${TUNE_FEATURES_tune-armv7atb} callconvention-hard"
50TUNE_FEATURES_tune-armv7ahfb-neon ?= "${TUNE_FEATURES_tune-armv7ab-neon} callconvention-hard" 50TUNE_FEATURES_tune-armv7ahfb-neon ?= "${TUNE_FEATURES_tune-armv7ab-neon} callconvention-hard"
51TUNE_FEATURES_tune-armv7athfb-neon ?= "${TUNE_FEATURES_tune_armv7atb-neon} callconvention-hard" 51TUNE_FEATURES_tune-armv7athfb-neon ?= "${TUNE_FEATURES_tune-armv7atb-neon} callconvention-hard"
52PACKAGE_EXTRA_ARCHS_tune-armv7ahfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6hfb} armv7ahfb-vfp" 52PACKAGE_EXTRA_ARCHS_tune-armv7ahfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6hfb} armv7ahfb-vfp"
53PACKAGE_EXTRA_ARCHS_tune-armv7athfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp" 53PACKAGE_EXTRA_ARCHS_tune-armv7athfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp"
54PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfp-neon" 54PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfp-neon"
diff --git a/meta/conf/machine/include/tune-cortexm3.inc b/meta/conf/machine/include/tune-cortexm3.inc
index 85408ebb2a..20a3c655c0 100644
--- a/meta/conf/machine/include/tune-cortexm3.inc
+++ b/meta/conf/machine/include/tune-cortexm3.inc
@@ -11,5 +11,5 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv7m", "-march=armv7-m"
11 11
12AVAILTUNES += "cortexm3" 12AVAILTUNES += "cortexm3"
13TUNE_FEATURES_tune-cortexm3 = "armv7m vfp cortexm3" 13TUNE_FEATURES_tune-cortexm3 = "armv7m vfp cortexm3"
14PACKAGE_EXTRA_ARCHS_tune-cortexm3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7m" 14PACKAGE_EXTRA_ARCHS_tune-cortexm3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7m-vfp"
15 15
diff --git a/meta/conf/machine/include/tune-cortexr4.inc b/meta/conf/machine/include/tune-cortexr4.inc
index 8d2459fc14..d1fc607011 100644
--- a/meta/conf/machine/include/tune-cortexr4.inc
+++ b/meta/conf/machine/include/tune-cortexr4.inc
@@ -11,4 +11,4 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv7r", "-march=armv7-m"
11 11
12AVAILTUNES += "cortexr4" 12AVAILTUNES += "cortexr4"
13TUNE_FEATURES_tune-cortexr4 = "armv7r vfp cortexr4" 13TUNE_FEATURES_tune-cortexr4 = "armv7r vfp cortexr4"
14PACKAGE_EXTRA_ARCHS_tune-cortexr4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7r" 14PACKAGE_EXTRA_ARCHS_tune-cortexr4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7r-vfp"