summaryrefslogtreecommitdiff
path: root/meta/conf/machine/include
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-07-22 14:15:20 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-07-22 15:38:40 +0100
commita10de4cf8b424ee95c8e283e75d486be5b3b8eac (patch)
tree59624b04951790878279ea151bc77844fd9d986c /meta/conf/machine/include
parentaeea22da699b276a97ca1a17e3c53176c9afd9de (diff)
downloadopenembedded-core-a10de4cf8b424ee95c8e283e75d486be5b3b8eac.tar.gz
openembedded-core-a10de4cf8b424ee95c8e283e75d486be5b3b8eac.tar.bz2
openembedded-core-a10de4cf8b424ee95c8e283e75d486be5b3b8eac.tar.xz
openembedded-core-a10de4cf8b424ee95c8e283e75d486be5b3b8eac.zip
conf/machine/tune: Overhaul tune include file variables
There is currently consideradble confusion over how the tune files operate and how these interact with the rest of the build system. This update/overhaul changes things so the tune files are primarily resonsible for setting: TUNE_ARCH - What was formerly set as TARGET_ARCH and is the value that represents the architecture we're targetting. TUNE_PKGARCH - The value that represents the tune confuration that this set of tune parameters results in. This allows the significant improvement that the core can now always determine the target architecture value, even when TARGET_ARCH needs to be reset to something different and likewise, there is one package architecture variable the core can reference allowing simplification of the BASE_PACKAGE_ARCH, PACKAGE_ARCH and FEED_ARCH variables. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine/include')
-rw-r--r--meta/conf/machine/include/tune-arm1136jf-s.inc5
-rw-r--r--meta/conf/machine/include/tune-arm920t.inc5
-rw-r--r--meta/conf/machine/include/tune-arm926ejs.inc6
-rw-r--r--meta/conf/machine/include/tune-arm9tdmi.inc5
-rw-r--r--meta/conf/machine/include/tune-armv7.inc5
-rw-r--r--meta/conf/machine/include/tune-atom.inc4
-rw-r--r--meta/conf/machine/include/tune-c3.inc6
-rw-r--r--meta/conf/machine/include/tune-cortexa8.inc5
-rw-r--r--meta/conf/machine/include/tune-cortexm1.inc5
-rw-r--r--meta/conf/machine/include/tune-cortexm3.inc5
-rw-r--r--meta/conf/machine/include/tune-cortexr4.inc5
-rw-r--r--meta/conf/machine/include/tune-ep9312.inc5
-rw-r--r--meta/conf/machine/include/tune-i586.inc6
-rw-r--r--meta/conf/machine/include/tune-iwmmxt.inc5
-rw-r--r--meta/conf/machine/include/tune-mips32.inc5
-rw-r--r--meta/conf/machine/include/tune-ppc603e.inc5
-rw-r--r--meta/conf/machine/include/tune-ppce300c2.inc4
-rw-r--r--meta/conf/machine/include/tune-ppce500.inc4
-rw-r--r--meta/conf/machine/include/tune-ppce500mc.inc5
-rw-r--r--meta/conf/machine/include/tune-ppce500v2.inc5
-rw-r--r--meta/conf/machine/include/tune-sh3.inc5
-rw-r--r--meta/conf/machine/include/tune-sh4.inc5
-rw-r--r--meta/conf/machine/include/tune-strongarm1100.inc4
-rw-r--r--meta/conf/machine/include/tune-supersparc.inc5
-rw-r--r--meta/conf/machine/include/tune-x86_64.inc5
-rw-r--r--meta/conf/machine/include/tune-xscale.inc4
26 files changed, 85 insertions, 43 deletions
diff --git a/meta/conf/machine/include/tune-arm1136jf-s.inc b/meta/conf/machine/include/tune-arm1136jf-s.inc
index 2ea3c9d79..bc90924e9 100644
--- a/meta/conf/machine/include/tune-arm1136jf-s.inc
+++ b/meta/conf/machine/include/tune-arm1136jf-s.inc
@@ -1,7 +1,8 @@
+TUNE_ARCH = "arm"
+
TARGET_CC_ARCH = "-march=armv6j -mtune=arm1136jf-s"
TARGET_CC_ARCH += "${@['', '-mfloat-abi=softfp -mfpu=vfp'][(bb.data.getVar('TARGET_FPU', d, 1) == 'soft') and (bb.data.getVar('CPU_FEATURES', d, 1).find('vfp') != -1)]}"
-FEED_ARCH = "armv6"
-BASE_PACKAGE_ARCH = "armv6"
+TUNE_PKGARCH = "armv6"
ARM_INSTRUCTION_SET = "${@['thumb','arm'][bb.data.getVar('CPU_FEATURES', d, 1).find('thumb') == -1]}"
PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t armv5te armv6"
diff --git a/meta/conf/machine/include/tune-arm920t.inc b/meta/conf/machine/include/tune-arm920t.inc
index 564b5572a..2991e851d 100644
--- a/meta/conf/machine/include/tune-arm920t.inc
+++ b/meta/conf/machine/include/tune-arm920t.inc
@@ -1,4 +1,5 @@
-FEED_ARCH = "armv4t"
-BASE_PACKAGE_ARCH = "armv4t"
+TUNE_ARCH = "arm"
+
+TUNE_PKGARCH = "armv4t"
TARGET_CC_ARCH = "-march=armv4t -mtune=arm920t"
PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t"
diff --git a/meta/conf/machine/include/tune-arm926ejs.inc b/meta/conf/machine/include/tune-arm926ejs.inc
index 9d546c9fd..e54403b0c 100644
--- a/meta/conf/machine/include/tune-arm926ejs.inc
+++ b/meta/conf/machine/include/tune-arm926ejs.inc
@@ -1,7 +1,9 @@
-FEED_ARCH = "armv5te"
+TUNE_ARCH = "arm"
+
+TUNE_PKGARCH = "armv5te"
PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t armv5te"
# For gcc 3.x you need:
#TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ejs"
# For gcc 4.x you need:
TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ej-s"
-BASE_PACKAGE_ARCH = "armv5te"
+
diff --git a/meta/conf/machine/include/tune-arm9tdmi.inc b/meta/conf/machine/include/tune-arm9tdmi.inc
index 5446ce8ec..b75de3d16 100644
--- a/meta/conf/machine/include/tune-arm9tdmi.inc
+++ b/meta/conf/machine/include/tune-arm9tdmi.inc
@@ -1,4 +1,5 @@
-FEED_ARCH = "armv4t"
-BASE_PACKAGE_ARCH = "armv4t"
+TUNE_ARCH = "arm"
+
+TUNE_PKGARCH = "armv4t"
PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t"
TARGET_CC_ARCH = "-mcpu=arm9tdmi -mtune=arm9tdmi"
diff --git a/meta/conf/machine/include/tune-armv7.inc b/meta/conf/machine/include/tune-armv7.inc
index 979d6fedb..a6cc346a5 100644
--- a/meta/conf/machine/include/tune-armv7.inc
+++ b/meta/conf/machine/include/tune-armv7.inc
@@ -1,7 +1,8 @@
+TUNE_ARCH = "arm"
+
# valid options for -march: `armv7', `armv7-a', `armv7-r', `armv7-m'
# valid option for -mtune: `cortex-a8', `cortex-r4', `cortex-m3', `cortex-m1'
# This will NOT compile programs in 'ARM' mode, which is what you really want
TARGET_CC_ARCH = "-march=armv7 -mfpu=vfp -mfloat-abi=softfp"
-FEED_ARCH = "armv7"
+TUNE_PKGARCH = "armv7"
PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t armv5te armv6 armv7"
-BASE_PACKAGE_ARCH = "armv7"
diff --git a/meta/conf/machine/include/tune-atom.inc b/meta/conf/machine/include/tune-atom.inc
index 399ea542d..8141a6728 100644
--- a/meta/conf/machine/include/tune-atom.inc
+++ b/meta/conf/machine/include/tune-atom.inc
@@ -1,4 +1,6 @@
-BASE_PACKAGE_ARCH = "core2"
+TUNE_ARCH = "i586"
+
+TUNE_PKGARCH = "core2"
TARGET_CC_ARCH = "-m32 -march=core2 -msse3 -mtune=generic -mfpmath=sse"
#MOBLIN_CFLAGS = "-Os -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables"
diff --git a/meta/conf/machine/include/tune-c3.inc b/meta/conf/machine/include/tune-c3.inc
index d33df5f1e..dd8dce1ef 100644
--- a/meta/conf/machine/include/tune-c3.inc
+++ b/meta/conf/machine/include/tune-c3.inc
@@ -1,4 +1,6 @@
+TUNE_ARCH = "i586"
+
+TUNE_PKGARCH = "i586"
+
TARGET_CC_ARCH = "-march=c3 -mtune=c3"
PACKAGE_EXTRA_ARCHS = "i386 i486 i586"
-BASE_PACKAGE_ARCH = "i586"
-FEED_ARCH = "i586"
diff --git a/meta/conf/machine/include/tune-cortexa8.inc b/meta/conf/machine/include/tune-cortexa8.inc
index a5b982ab7..cf5b41828 100644
--- a/meta/conf/machine/include/tune-cortexa8.inc
+++ b/meta/conf/machine/include/tune-cortexa8.inc
@@ -1,3 +1,5 @@
+TUNE_ARCH = "arm"
+
# Instead of using -mfpu=vfp[2] we can use -mfpu=neon to make use of gcc intrinsics[1] and vectorize loops with -ftree-vectorize[3]
# [1] http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html
# [2] http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
@@ -8,6 +10,5 @@ TARGET_CC_ARCH = "-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
# Other potentially useful options
#-ftree-vectorize -ffast-math -fno-omit-frame-pointer
-FEED_ARCH = "armv7a"
-BASE_PACKAGE_ARCH = "armv7a"
+TUNE_PKGARCH = "armv7a"
PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t armv5te armv6 armv7 armv7a"
diff --git a/meta/conf/machine/include/tune-cortexm1.inc b/meta/conf/machine/include/tune-cortexm1.inc
index 6c4a70a24..6dbfd2c79 100644
--- a/meta/conf/machine/include/tune-cortexm1.inc
+++ b/meta/conf/machine/include/tune-cortexm1.inc
@@ -1,3 +1,4 @@
+TUNE_ARCH = "arm"
+
TARGET_CC_ARCH = "-march=armv7 -mtune=cortex-m1 -mfpu=vfp -mfloat-abi=softfp"
-FEED_ARCH = "armv6"
-BASE_PACKAGE_ARCH = "armv6"
+TUNE_PKGARCH = "armv6"
diff --git a/meta/conf/machine/include/tune-cortexm3.inc b/meta/conf/machine/include/tune-cortexm3.inc
index 6da9aeedd..63959e437 100644
--- a/meta/conf/machine/include/tune-cortexm3.inc
+++ b/meta/conf/machine/include/tune-cortexm3.inc
@@ -1,4 +1,5 @@
+TUNE_ARCH = "arm"
+
# valid options for -march: `armv7', `armv7-m'
TARGET_CC_ARCH = "-march=armv7-m -mtune=cortex-m3 -mfpu=vfp -mfloat-abi=softfp"
-FEED_ARCH = "armv7"
-BASE_PACKAGE_ARCH = "armv7"
+TUNE_PKGARCH = "armv7"
diff --git a/meta/conf/machine/include/tune-cortexr4.inc b/meta/conf/machine/include/tune-cortexr4.inc
index b8bb7f50a..780a5101a 100644
--- a/meta/conf/machine/include/tune-cortexr4.inc
+++ b/meta/conf/machine/include/tune-cortexr4.inc
@@ -1,4 +1,5 @@
+TUNE_ARCH = "arm"
+
# valid options for -march: `armv7', `armv7-r'
TARGET_CC_ARCH = "-march=armv7-r -mtune=cortex-r4 -mfpu=vfp -mfloat-abi=softfp"
-FEED_ARCH = "armv7"
-BASE_PACKAGE_ARCH = "armv7"
+TUNE_PKGARCH = "armv7"
diff --git a/meta/conf/machine/include/tune-ep9312.inc b/meta/conf/machine/include/tune-ep9312.inc
index e1515a01a..81be6ddcf 100644
--- a/meta/conf/machine/include/tune-ep9312.inc
+++ b/meta/conf/machine/include/tune-ep9312.inc
@@ -1,8 +1,9 @@
+TUNE_ARCH = "arm"
+
TARGET_CC_ARCH = "-march=ep9312 -mtune=ep9312 -mcpu=ep9312"
# add "-mfp=maverick" for newer gcc versions > 4.0
#set arch to ep9312 for all generated packages
PACKAGE_EXTRA_ARCHS = "arm armv4t ep9312"
-BASE_PACKAGE_ARCH = "ep9312"
-FEED_ARCH = "ep9312"
+TUNE_PKGARCH = "ep9312"
diff --git a/meta/conf/machine/include/tune-i586.inc b/meta/conf/machine/include/tune-i586.inc
new file mode 100644
index 000000000..7ea8b4fbd
--- /dev/null
+++ b/meta/conf/machine/include/tune-i586.inc
@@ -0,0 +1,6 @@
+TUNE_ARCH = "i586"
+
+TUNE_PKGARCH = "i586"
+TARGET_CC_ARCH = "-m32 -march=i586"
+
+PACKAGE_EXTRA_ARCHS = "x86 i386 i486 i586"
diff --git a/meta/conf/machine/include/tune-iwmmxt.inc b/meta/conf/machine/include/tune-iwmmxt.inc
index 7191ab0b3..68e118a61 100644
--- a/meta/conf/machine/include/tune-iwmmxt.inc
+++ b/meta/conf/machine/include/tune-iwmmxt.inc
@@ -1,7 +1,8 @@
+TUNE_ARCH = "arm"
+
# Configurations for the Intel PXA27x Appications Processor Family.
# Please use tune-xscale for PXA255/PXA26x based processors.
TARGET_CC_ARCH = "-march=iwmmxt -mcpu=iwmmxt -mtune=iwmmxt"
-BASE_PACKAGE_ARCH = "iwmmxt"
PACKAGE_EXTRA_ARCHS = "arm armv4 armv4t armv5te iwmmxt"
-FEED_ARCH = "iwmmxt"
+TUNE_PKGARCH = "iwmmxt"
diff --git a/meta/conf/machine/include/tune-mips32.inc b/meta/conf/machine/include/tune-mips32.inc
index 67edca253..a7bcb5008 100644
--- a/meta/conf/machine/include/tune-mips32.inc
+++ b/meta/conf/machine/include/tune-mips32.inc
@@ -1,3 +1,4 @@
+TUNE_ARCH = "mips"
+
TARGET_CC_ARCH = "-march=mips32"
-FEED_ARCH = "${TARGET_ARCH}"
-BASE_PACKAGE_ARCH = "${TARGET_ARCH}"
+TUNE_PKGARCH = "mips"
diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc
index dc95d0d77..daa1cd37a 100644
--- a/meta/conf/machine/include/tune-ppc603e.inc
+++ b/meta/conf/machine/include/tune-ppc603e.inc
@@ -1,4 +1,5 @@
+TUNE_ARCH = "powerpc"
+
TARGET_CC_ARCH = "-mcpu=603e -mhard-float"
-BASE_PACKAGE_ARCH = "ppc603e"
-FEED_ARCH = "ppc603e"
+TUNE_PKGARCH = "ppc603e"
PACKAGE_EXTRA_ARCHS = "powerpc ppc603e"
diff --git a/meta/conf/machine/include/tune-ppce300c2.inc b/meta/conf/machine/include/tune-ppce300c2.inc
index 3e552e60d..a2989ae0d 100644
--- a/meta/conf/machine/include/tune-ppce300c2.inc
+++ b/meta/conf/machine/include/tune-ppce300c2.inc
@@ -1,3 +1,5 @@
+TUNE_ARCH = "powerpc"
+
TARGET_CC_ARCH = "-mcpu=e300c2 -msoft-float"
-BASE_PACKAGE_ARCH = "ppce300"
+TUNE_PKGARCH = "ppce300"
PACKAGE_EXTRA_ARCHS = "powerpc ppce300"
diff --git a/meta/conf/machine/include/tune-ppce500.inc b/meta/conf/machine/include/tune-ppce500.inc
index 45e1f0d49..8d67b8699 100644
--- a/meta/conf/machine/include/tune-ppce500.inc
+++ b/meta/conf/machine/include/tune-ppce500.inc
@@ -1,4 +1,6 @@
+TUNE_ARCH = "powerpc"
+
TARGET_CC_ARCH = "-mcpu=8540"
BASE_PACKAGE_ARCH = "ppce500"
-FEED_ARCH = "ppce500"
+TUNE_PKGARCH = "ppce500"
PACKAGE_EXTRA_ARCHS = "powerpc ppce500"
diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/tune-ppce500mc.inc
index 763ec1a77..0cdcfa83f 100644
--- a/meta/conf/machine/include/tune-ppce500mc.inc
+++ b/meta/conf/machine/include/tune-ppce500mc.inc
@@ -1,4 +1,5 @@
+TUNE_ARCH = "powerpc"
+
TARGET_CC_ARCH = "-mcpu=e500mc"
-BASE_PACKAGE_ARCH = "ppce500mc"
-FEED_ARCH = "ppce500mc"
+TUNE_PKGARCH = "ppce500mc"
PACKAGE_EXTRA_ARCHS = "powerpc ppce500mc"
diff --git a/meta/conf/machine/include/tune-ppce500v2.inc b/meta/conf/machine/include/tune-ppce500v2.inc
index d76dbc9a2..219bcaf9f 100644
--- a/meta/conf/machine/include/tune-ppce500v2.inc
+++ b/meta/conf/machine/include/tune-ppce500v2.inc
@@ -1,4 +1,5 @@
+TUNE_ARCH = "powerpc"
+
TARGET_CC_ARCH = "-mcpu=8548 -mabi=spe -mspe"
-BASE_PACKAGE_ARCH = "ppce500v2"
-FEED_ARCH = "ppce500v2"
+TUNE_PKGARCH = "ppce500v2"
PACKAGE_EXTRA_ARCHS = "powerpc ppce500v2"
diff --git a/meta/conf/machine/include/tune-sh3.inc b/meta/conf/machine/include/tune-sh3.inc
index 32801a61c..45ad6deb6 100644
--- a/meta/conf/machine/include/tune-sh3.inc
+++ b/meta/conf/machine/include/tune-sh3.inc
@@ -1,3 +1,4 @@
+TUNE_ARCH = "sh3"
+
TARGET_CC_ARCH = "-ml -m3"
-FEED_ARCH = "sh3"
-BASE_PACKAGE_ARCH = "sh3"
+TUNE_PKGARCH = "sh3"
diff --git a/meta/conf/machine/include/tune-sh4.inc b/meta/conf/machine/include/tune-sh4.inc
index 51b40691b..3d89d4948 100644
--- a/meta/conf/machine/include/tune-sh4.inc
+++ b/meta/conf/machine/include/tune-sh4.inc
@@ -1,7 +1,8 @@
+TUNE_ARCH = "sh4"
+
# NOTE: If you want to optimize to sh4a, conf/machine/include/tune-sh4a.inc.
# But it is not compatible for sh4.
# The binary optimized by m4a doesn't operate on sh4. It works on sh4a only.
TARGET_CC_ARCH = "-ml -m4"
-FEED_ARCH = "sh4"
-BASE_PACKAGE_ARCH = "sh4"
+TUNE_PKGARCH = "sh4"
diff --git a/meta/conf/machine/include/tune-strongarm1100.inc b/meta/conf/machine/include/tune-strongarm1100.inc
index f13671040..2d4ce3842 100644
--- a/meta/conf/machine/include/tune-strongarm1100.inc
+++ b/meta/conf/machine/include/tune-strongarm1100.inc
@@ -1,3 +1,7 @@
+TUNE_ARCH = "arm"
+
+TUNE_PKGARCH = "arm"
+
# This machine lists common configuration options for Strongarm 1100 devices
# NOTE: The Zaurus Collie also has a Strongarm processor, but uses the 1110 type
diff --git a/meta/conf/machine/include/tune-supersparc.inc b/meta/conf/machine/include/tune-supersparc.inc
index a402e7cd2..7eaa73640 100644
--- a/meta/conf/machine/include/tune-supersparc.inc
+++ b/meta/conf/machine/include/tune-supersparc.inc
@@ -1,3 +1,4 @@
+TUNE_ARCH = "sparc"
+
TARGET_CC_ARCH = "-mcpu=supersparc"
-BASE_PACKAGE_ARCH = "supersparc"
-FEED_ARCH = "supersparc"
+TUNE_PKGARCH = "supersparc"
diff --git a/meta/conf/machine/include/tune-x86_64.inc b/meta/conf/machine/include/tune-x86_64.inc
new file mode 100644
index 000000000..d7665ecb9
--- /dev/null
+++ b/meta/conf/machine/include/tune-x86_64.inc
@@ -0,0 +1,5 @@
+TUNE_ARCH = "x86_64"
+
+TUNE_PKGARCH = "x86_64"
+TARGET_CC_ARCH = "-m64"
+
diff --git a/meta/conf/machine/include/tune-xscale.inc b/meta/conf/machine/include/tune-xscale.inc
index cfdcc9943..69c60f5f2 100644
--- a/meta/conf/machine/include/tune-xscale.inc
+++ b/meta/conf/machine/include/tune-xscale.inc
@@ -1,10 +1,10 @@
-FEED_ARCH = "armv5te"
+TUNE_ARCH = "arm"
INHERIT += "siteinfo"
TARGET_CC_ARCH = "-march=armv5te -mtune=xscale"
TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale"
-BASE_PACKAGE_ARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
+TUNE_PKGARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
PACKAGE_EXTRA_ARCHS = "${@['armeb armv4b armv4tb armv5teb', 'arm armv4 armv4t armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
# webkit-gtk has alignment issues with double instructions on armv5 so