[v2] tune/arch-powerpc: Use fpu-soft to set PPCPKGSFX_FPU

Submitted by Kumar Gala on Aug. 3, 2011, 5:28 a.m.

Details

Message ID 1312349327-27463-1-git-send-email-galak@kernel.crashing.org
State New, archived
Headers show

Commit Message

Kumar Gala Aug. 3, 2011, 5:28 a.m.
Its more likely that we explicitly set soft-floating point support for a
given target than hard.  So use 'fpu-soft' in TUNE_FEATURES rather than
'fpu-hard' to determine setting 'nf' (no-float) in PPCPKGSFX_FPU.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
* Removed setting of 'fpu-hard' from the tune files that it set

 meta/conf/machine/include/powerpc/arch-powerpc.inc |    2 +-
 meta/conf/machine/include/tune-ppc603e.inc         |    2 +-
 meta/conf/machine/include/tune-ppce500mc.inc       |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

Patch hide | download patch | download mbox

diff --git a/meta/conf/machine/include/powerpc/arch-powerpc.inc b/meta/conf/machine/include/powerpc/arch-powerpc.inc
index da1a1d6..c073f18 100644
--- a/meta/conf/machine/include/powerpc/arch-powerpc.inc
+++ b/meta/conf/machine/include/powerpc/arch-powerpc.inc
@@ -18,7 +18,7 @@  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)}"
+PPCPKGSFX_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", "-nf", "", d)}"
 
 PPCPKGARCH = "${TUNE_ARCH}${PPCPKGSFX_FPU}"
 TUNE_PKGARCH ?= "${PPCPKGARCH}"
diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc
index da8114f..9abb694 100644
--- a/meta/conf/machine/include/tune-ppc603e.inc
+++ b/meta/conf/machine/include/tune-ppc603e.inc
@@ -7,5 +7,5 @@  TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", "-mcpu=603e", "
 TUNE_PKGARCH = "${@bb.utils.contains('TUNE_FEATURES', 'ppc603e', 'ppc603e', '${PPCPKGARCH}', d)}"
 
 AVAILTUNES += "ppc603e"
-TUNE_FEATURES_tune-ppc603e = "m32 fpu-hard ppc603e"
+TUNE_FEATURES_tune-ppc603e = "m32 ppc603e"
 PACKAGE_EXTRA_ARCHS_tune-ppc603e = "powerpc ppc603e"
diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/tune-ppce500mc.inc
index 64e7bdc..b5031f4 100644
--- a/meta/conf/machine/include/tune-ppce500mc.inc
+++ b/meta/conf/machine/include/tune-ppce500mc.inc
@@ -7,5 +7,5 @@  TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "-mcpu=e500mc
 TUNE_PKGARCH = "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "ppce500mc", "${PPCPKGARCH}", d)}"
 
 AVAILTUNES += "ppce500mc"
-TUNE_FEATURES_tune-ppce500mc = "m32 fpu-hard ppce500mc"
+TUNE_FEATURES_tune-ppce500mc = "m32 ppce500mc"
 PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "powerpc ppce500mc"

Comments

Richard Purdie Aug. 3, 2011, 4:57 p.m.
On Wed, 2011-08-03 at 00:28 -0500, Kumar Gala wrote:
> Its more likely that we explicitly set soft-floating point support for a
> given target than hard.  So use 'fpu-soft' in TUNE_FEATURES rather than
> 'fpu-hard' to determine setting 'nf' (no-float) in PPCPKGSFX_FPU.
>
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> ---
> * Removed setting of 'fpu-hard' from the tune files that it set
> 
>  meta/conf/machine/include/powerpc/arch-powerpc.inc |    2 +-
>  meta/conf/machine/include/tune-ppc603e.inc         |    2 +-
>  meta/conf/machine/include/tune-ppce500mc.inc       |    2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/conf/machine/include/powerpc/arch-powerpc.inc b/meta/conf/machine/include/powerpc/arch-powerpc.inc
> index da1a1d6..c073f18 100644
> --- a/meta/conf/machine/include/powerpc/arch-powerpc.inc
> +++ b/meta/conf/machine/include/powerpc/arch-powerpc.inc
> @@ -18,7 +18,7 @@ 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)}"
> +PPCPKGSFX_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", "-nf", "", d)}"
>  
>  PPCPKGARCH = "${TUNE_ARCH}${PPCPKGSFX_FPU}"
>  TUNE_PKGARCH ?= "${PPCPKGARCH}"
> diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc

I've remembered the issue here. Further up in that file we have:

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)}"

further up in the file and there are optionally other "float" models
which some processors seemed to need to use. This meant you had to
specify which fpu option you wanted explicitly.

I'm open to better ways of handling this.