summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine/include/powerpc/arch-powerpc.inc
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-07-26 12:36:53 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-07-27 15:43:57 +0100
commit3212029f0967dd353fec8cc147d2b95031d1018a (patch)
tree66f2a81ebc29adf8bd07c6804114c307c7821f13 /meta/conf/machine/include/powerpc/arch-powerpc.inc
parentb33cdc23c04acfa55df0f764e1648bf030ae5e9c (diff)
downloadopenembedded-core-3212029f0967dd353fec8cc147d2b95031d1018a.tar.gz
Add basic PowerPC core tune config
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine/include/powerpc/arch-powerpc.inc')
-rw-r--r--meta/conf/machine/include/powerpc/arch-powerpc.inc33
1 files changed, 31 insertions, 2 deletions
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc.inc b/meta/conf/machine/include/powerpc/arch-powerpc.inc
index 17ace32a42..8cc76ab734 100644
--- a/meta/conf/machine/include/powerpc/arch-powerpc.inc
+++ b/meta/conf/machine/include/powerpc/arch-powerpc.inc
@@ -1,3 +1,32 @@
-TUNE_ARCH = "powerpc"
+# Power Architecture definition
+# Four defined ABIs, all combinations of:
+# *) Hard/Soft Floating Point
+# *) 32-bit/64-bit
+
+DEFAULTTUNE ?= "powerpc"
+
+TUNEVALID[m32] = "Power ELF32 standard ABI"
+TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "m32", "-m32", "", d)}"
+TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m32", "powerpc", "", d)}"
+
+TUNEVALID[fpu-hard] = "Use hardware FPU."
+TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", "-mhard-float", "", d)}"
+
+TUNEVALID[fpu-soft] = "Use software FPU."
+TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", "-msoft-float", "", d)}"
+TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", "soft", "", d)}"
+
+ABIEXTENSION = "${@['','spe'][d.getVar('TARGET_FPU', True) in ['ppc-efd', 'ppc-efs']]}"
+
+PPCPKGSFX_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard" , "", "-nf", d)}"
+
+TUNE_PKGARCH ?= "${TUNE_ARCH}${PPCPKGSFX_FPU}"
+
+# Basic tune definitions
+AVAILTUNES += "powerpc powerpc-nf"
+TUNE_FEATURES_tune-powerpc ?= "m32 fpu-hard"
+BASE_LIB_tune-powerpc = "lib"
+TUNE_FEATURES_tune-powerpc-nf ?= "m32 fpu-soft"
+BASE_LIB_tune-powerpc-nf = "lib"
+
-ABIEXTENSION = "${@['','spe'][bb.data.getVar('TARGET_FPU',d,1) in ['ppc-efd', 'ppc-efs']]}"