diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-07-26 12:36:53 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-07-27 15:43:57 +0100 |
commit | 3212029f0967dd353fec8cc147d2b95031d1018a (patch) | |
tree | 66f2a81ebc29adf8bd07c6804114c307c7821f13 /meta/conf/machine/include | |
parent | b33cdc23c04acfa55df0f764e1648bf030ae5e9c (diff) | |
download | openembedded-core-3212029f0967dd353fec8cc147d2b95031d1018a.tar.gz openembedded-core-3212029f0967dd353fec8cc147d2b95031d1018a.tar.bz2 openembedded-core-3212029f0967dd353fec8cc147d2b95031d1018a.tar.xz openembedded-core-3212029f0967dd353fec8cc147d2b95031d1018a.zip |
Add basic PowerPC core tune config
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine/include')
-rw-r--r-- | meta/conf/machine/include/powerpc/arch-powerpc.inc | 33 | ||||
-rw-r--r-- | meta/conf/machine/include/powerpc/arch-powerpc64.inc | 10 | ||||
-rw-r--r-- | meta/conf/machine/include/tune-ppc603e.inc | 12 | ||||
-rw-r--r-- | meta/conf/machine/include/tune-ppce300c2.inc | 12 | ||||
-rw-r--r-- | meta/conf/machine/include/tune-ppce500.inc | 18 | ||||
-rw-r--r-- | meta/conf/machine/include/tune-ppce500mc.inc | 12 | ||||
-rw-r--r-- | meta/conf/machine/include/tune-ppce500v2.inc | 17 |
7 files changed, 96 insertions, 18 deletions
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc.inc b/meta/conf/machine/include/powerpc/arch-powerpc.inc index 17ace32a4..8cc76ab73 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']]}" 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 000000000..a99f18d47 --- /dev/null +++ b/meta/conf/machine/include/powerpc/arch-powerpc64.inc @@ -0,0 +1,10 @@ +TUNEVALID[m64] = "Power ELF64 standard ABI" +TUNE_CONFLICTS[m64] = "m32" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "n64", "-m64", "", d)}" +TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", [ "m64" ], "powerpc64", "", d)}" + +AVAILTUNES += "powerpc64 powerpc64-nf" +TUNE_FEATURES_tune-powerpc64 ?= "m64 fpu-hard" +BASE_LIB_tune-powerpc64 = "lib64" +TUNE_FEATURES_tune-powerpc64-nf ?= "m64 fpu-soft" +BASE_LIB_tune-powerpc64-nf = "lib64" diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc index 61c0669ac..7c053944a 100644 --- a/meta/conf/machine/include/tune-ppc603e.inc +++ b/meta/conf/machine/include/tune-ppc603e.inc @@ -1,5 +1,11 @@ +DEFAULTTUNE ?= "ppc603e" + require conf/machine/include/powerpc/arch-powerpc.inc -TUNE_CCARGS = "-mcpu=603e -mhard-float" -TUNE_PKGARCH = "ppc603e" -PACKAGE_EXTRA_ARCHS = "powerpc ppc603e" +TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", "-mcpu=603e", "", d)}" +TUNE_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", "ppc603e", "", d)}" + +AVAILTUNES += "ppc603e" +TUNE_FEATURES_tune-ppc603e = "m32 fpu-hard ppc603e" +PACKAGE_EXTRA_ARCHS_tune-ppc603e = "powerpc ppc603e" diff --git a/meta/conf/machine/include/tune-ppce300c2.inc b/meta/conf/machine/include/tune-ppce300c2.inc index a38e97c18..bad2611ca 100644 --- a/meta/conf/machine/include/tune-ppce300c2.inc +++ b/meta/conf/machine/include/tune-ppce300c2.inc @@ -1,5 +1,11 @@ +DEFAULTTUNE ?= "ppce300c2" + require conf/machine/include/powerpc/arch-powerpc.inc -TUNE_CCARGS = "-mcpu=e300c2 -msoft-float" -TUNE_PKGARCH = "ppce300" -PACKAGE_EXTRA_ARCHS = "powerpc ppce300" +TUNEVALID[ppce300c2] = "Enable ppce300c2 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c2", "-mcpu=e300c2", "", d)}" +TUNE_PKGARCH = "${@bb.utils.contains("TUNE_FEATURES", "ppce300c2", "ppce300c2", "${TUNE_ARCH}", d)}" + +AVAILTUNES += "ppce300c2" +TUNE_FEATURES_tune-ppce300c2 = "m32 fpu-soft ppce300c2" +PACKAGE_EXTRA_ARCHS_tune-ppce300c2 = "powerpc-nf ppce300c2" diff --git a/meta/conf/machine/include/tune-ppce500.inc b/meta/conf/machine/include/tune-ppce500.inc index 22208f072..c34d63149 100644 --- a/meta/conf/machine/include/tune-ppce500.inc +++ b/meta/conf/machine/include/tune-ppce500.inc @@ -1,6 +1,16 @@ +DEFAULTTUNE ?= "ppce500" + require conf/machine/include/powerpc/arch-powerpc.inc -TUNE_CCARGS = "-mcpu=8540" -BASE_PACKAGE_ARCH = "ppce500" -TUNE_PKGARCH = "ppce500" -PACKAGE_EXTRA_ARCHS = "powerpc ppce500" +TUNEVALID[ppce500] = "Enable ppce500 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce500", "-mcpu=8540", "", d)}" +TUNE_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ppce500", "ppce500", "", d)}" + +TUNEVALID[spe] = "Enable SPE ABI extensions" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "spe", "-mabi=spe -mspe", "", d)}" + +TARGET_FPU = "ppc-efs" + +AVAILTUNES += "ppce500" +TUNE_FEATURES_tune-ppce500 = "m32 spe ppce500" +PACKAGE_EXTRA_ARCHS_tune-ppce500 = "ppce500" diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/tune-ppce500mc.inc index 182d019c3..a4cdb1f72 100644 --- a/meta/conf/machine/include/tune-ppce500mc.inc +++ b/meta/conf/machine/include/tune-ppce500mc.inc @@ -1,5 +1,11 @@ +DEFAULTTUNE ?= "ppce500mc" + require conf/machine/include/powerpc/arch-powerpc.inc -TUNE_CCARGS = "-mcpu=e500mc" -TUNE_PKGARCH = "ppce500mc" -PACKAGE_EXTRA_ARCHS = "powerpc ppce500mc" +TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "-mcpu=e500mc", "", d)}" +TUNE_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "ppce500mc", "", d)}" + +AVAILTUNES += "ppce500mc" +TUNE_FEATURES_tune-ppce500mc = "m32 hard-fpu ppce500mc" +PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "powerpc ppce500mc" diff --git a/meta/conf/machine/include/tune-ppce500v2.inc b/meta/conf/machine/include/tune-ppce500v2.inc index daf2d5800..819d68a50 100644 --- a/meta/conf/machine/include/tune-ppce500v2.inc +++ b/meta/conf/machine/include/tune-ppce500v2.inc @@ -1,5 +1,16 @@ +DEFAULTTUNE ?= "ppce500v2" + require conf/machine/include/powerpc/arch-powerpc.inc -TUNE_CCARGS = "-mcpu=8548 -mabi=spe -mspe" -TUNE_PKGARCH = "ppce500v2" -PACKAGE_EXTRA_ARCHS = "powerpc ppce500v2" +TUNEVALID[ppce500v2] = "Enable ppce500v2 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce500v2", "-mcpu=8548", "", d)}" +TUNE_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ppce500v2", "ppce500v2", "", d)}" + +TUNEVALID[spe] = "Enable SPE ABI extensions" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "spe", "-mabi=spe -mspe", "", d)}" + +TARGET_FPU = "ppc-efd" + +AVAILTUNES += "ppce500v2" +TUNE_FEATURES_tune-ppce500v2 = "m32 spe ppce500v2" +PACKAGE_EXTRA_ARCHS_tune-ppce500v2 = "ppce500v2" |