diff options
author | Mats Kärrman <Mats.Karrman@tritech.se> | 2014-04-01 16:20:34 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-04-01 23:38:54 +0100 |
commit | 9d502ca8551fd461f869395b1b7e62d6dcf59a84 (patch) | |
tree | a8b84429e13d306a930135ab733fc777a4c2bec2 /meta | |
parent | 263e278be61093509110267596fdd75c225bf06a (diff) | |
download | openembedded-core-9d502ca8551fd461f869395b1b7e62d6dcf59a84.tar.gz openembedded-core-9d502ca8551fd461f869395b1b7e62d6dcf59a84.tar.bz2 openembedded-core-9d502ca8551fd461f869395b1b7e62d6dcf59a84.zip |
Make ppce300c3 tune hard-float by default
The tuning file for PowerPC e300c3 is soft-float. In OE-classic it was hard-
float and it should be as the c3 has an fpu. I have modified the tuning file
to include both a hard-float version (using the existing ppce300c3 name) and
an optional soft-float version (called ppce300c3-nf).
The following patch also passes a "--with-cpu=e300c3" argument to GLIBC.
For this to have any effect the sqrt/sqrtf implementations added by the
"glibc.fix_sqrt2.patch" are required and also an additional "Implies" file
(added to the mentioned patch as a separate patch for eglibc_2.19).
Tested with eglibc 2.19 on PowerPC MPC5125.
Signed-off-by: Mats Karrman <mats.karrman@tritech.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/conf/machine/include/tune-ppce300c3.inc | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/meta/conf/machine/include/tune-ppce300c3.inc b/meta/conf/machine/include/tune-ppce300c3.inc index 9431222284..b19cf220ba 100644 --- a/meta/conf/machine/include/tune-ppce300c3.inc +++ b/meta/conf/machine/include/tune-ppce300c3.inc @@ -2,10 +2,22 @@ DEFAULTTUNE ?= "ppce300c3" require conf/machine/include/powerpc/arch-powerpc.inc +AVAILTUNES += "ppce300c3 ppce300c3-nf" + +# hard-float TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations" +TUNE_FEATURES_tune-ppce300c3 = "${TUNE_FEATURES_tune-powerpc} ppce300c3" +TUNE_PKGARCH_tune-ppce300c3 = "ppce300c3" +PACKAGE_EXTRA_ARCHS_tune-ppce300c3 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce300c3" TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", " -mcpu=e300c3", "", d)}" -AVAILTUNES += "ppce300c3" -TUNE_FEATURES_tune-ppce300c3 = "m32 fpu-soft ppce300c3" -TUNE_PKGARCH_tune-ppce300c3 = "ppce300c3" -PACKAGE_EXTRA_ARCHS_tune-ppce300c3 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppce300c3" +# glibc config options to make use of e300c3 (603e) specific sqrt/sqrtf routines +GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", "--with-cpu=e300c3", "", d)}" + +# soft-float +TUNEVALID[ppce300c3-nf] = "Enable ppce300c3 specific processor optimizations (no fpu)" +TUNE_FEATURES_tune-ppce300c3-nf = "${TUNE_FEATURES_tune-powerpc-nf} ppce300c3-nf" +TUNE_PKGARCH_tune-ppce300c3-nf = "ppce300c3-nf" +PACKAGE_EXTRA_ARCHS_tune-ppce300c3-nf = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppce300c3-nf" +TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3-nf", " -mcpu=e300c3", "", d)}" + |