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

login
register
mail settings
Submitter Kumar Gala
Date Aug. 3, 2011, 5:28 a.m.
Message ID <1312349327-27463-1-git-send-email-galak@kernel.crashing.org>
Download mbox | patch
Permalink /patch/9095/
State New, archived
Headers show

Comments

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(-)
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.

Patch

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"