Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH v2] tune-ppc: Update to pass glibc configure option to get cpu specific support
@ 2011-08-10 17:13 Kumar Gala
  2011-08-10 19:19 ` Mark Hatle
  0 siblings, 1 reply; 4+ messages in thread
From: Kumar Gala @ 2011-08-10 17:13 UTC (permalink / raw)
  To: openembedded-core

We need --with-cpu based to glibc to get proper support on 603e & e500mc
to pickup proper math libs to deal with sqrt.  These core do not
implement the fsqrt[s] instructions that the normal PPC math libs
utilize.

This causes use to not set AVAILTUNES specifically to the sub-arch only
as we arent generically compatiable.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
 meta/conf/machine/include/tune-ppc603e.inc   |    5 ++++-
 meta/conf/machine/include/tune-ppce500mc.inc |    5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc
index 9abb694..c673470 100644
--- a/meta/conf/machine/include/tune-ppc603e.inc
+++ b/meta/conf/machine/include/tune-ppc603e.inc
@@ -6,6 +6,9 @@ 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', '${PPCPKGARCH}', d)}"
 
-AVAILTUNES += "ppc603e"
+AVAILTUNES = "ppc603e"
 TUNE_FEATURES_tune-ppc603e = "m32 ppc603e"
 PACKAGE_EXTRA_ARCHS_tune-ppc603e = "powerpc ppc603e"
+
+# glibc configure options to get 603e specific library (for sqrt)
+GLIBC_EXTRA_OECONF += "--with-cpu=603e"
diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/tune-ppce500mc.inc
index b5031f4..cdd87dc 100644
--- a/meta/conf/machine/include/tune-ppce500mc.inc
+++ b/meta/conf/machine/include/tune-ppce500mc.inc
@@ -6,6 +6,9 @@ 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", "${PPCPKGARCH}", d)}"
 
-AVAILTUNES += "ppce500mc"
+AVAILTUNES = "ppce500mc"
 TUNE_FEATURES_tune-ppce500mc = "m32 ppce500mc"
 PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "powerpc ppce500mc"
+
+# glibc configure options to get e500mc specific library (for sqrt)
+GLIBC_EXTRA_OECONF += "--with-cpu=e500mc"
-- 
1.7.3.4




^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] tune-ppc: Update to pass glibc configure option to get cpu specific support
  2011-08-10 17:13 [PATCH v2] tune-ppc: Update to pass glibc configure option to get cpu specific support Kumar Gala
@ 2011-08-10 19:19 ` Mark Hatle
  2011-08-10 20:06   ` Kumar Gala
  0 siblings, 1 reply; 4+ messages in thread
From: Mark Hatle @ 2011-08-10 19:19 UTC (permalink / raw)
  To: openembedded-core

I don't think the patch is correct.  If these tune files are included, the
GLIBC_EXTRA_OECONF is set unconditionally.  It is possible to include the tune
files, but not actually use the tunings.  (There are cases where you might want
to inherit specific tunings, etc.)

Instead, I'd suggest you do:

GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e",
"--with-cpu=603e", "", d)}"

(and a similar line for the e500mc)

--Mark

On 8/10/11 12:13 PM, Kumar Gala wrote:
> We need --with-cpu based to glibc to get proper support on 603e & e500mc
> to pickup proper math libs to deal with sqrt.  These core do not
> implement the fsqrt[s] instructions that the normal PPC math libs
> utilize.
> 
> This causes use to not set AVAILTUNES specifically to the sub-arch only
> as we arent generically compatiable.
> 
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> ---
>  meta/conf/machine/include/tune-ppc603e.inc   |    5 ++++-
>  meta/conf/machine/include/tune-ppce500mc.inc |    5 ++++-
>  2 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc
> index 9abb694..c673470 100644
> --- a/meta/conf/machine/include/tune-ppc603e.inc
> +++ b/meta/conf/machine/include/tune-ppc603e.inc
> @@ -6,6 +6,9 @@ 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', '${PPCPKGARCH}', d)}"
>  
> -AVAILTUNES += "ppc603e"
> +AVAILTUNES = "ppc603e"
>  TUNE_FEATURES_tune-ppc603e = "m32 ppc603e"
>  PACKAGE_EXTRA_ARCHS_tune-ppc603e = "powerpc ppc603e"
> +
> +# glibc configure options to get 603e specific library (for sqrt)
> +GLIBC_EXTRA_OECONF += "--with-cpu=603e"
> diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/tune-ppce500mc.inc
> index b5031f4..cdd87dc 100644
> --- a/meta/conf/machine/include/tune-ppce500mc.inc
> +++ b/meta/conf/machine/include/tune-ppce500mc.inc
> @@ -6,6 +6,9 @@ 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", "${PPCPKGARCH}", d)}"
>  
> -AVAILTUNES += "ppce500mc"
> +AVAILTUNES = "ppce500mc"
>  TUNE_FEATURES_tune-ppce500mc = "m32 ppce500mc"
>  PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "powerpc ppce500mc"
> +
> +# glibc configure options to get e500mc specific library (for sqrt)
> +GLIBC_EXTRA_OECONF += "--with-cpu=e500mc"




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] tune-ppc: Update to pass glibc configure option to get cpu specific support
  2011-08-10 19:19 ` Mark Hatle
@ 2011-08-10 20:06   ` Kumar Gala
  2011-08-10 20:17     ` Mark Hatle
  0 siblings, 1 reply; 4+ messages in thread
From: Kumar Gala @ 2011-08-10 20:06 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

Why?

- k

On Aug 10, 2011, at 2:19 PM, Mark Hatle wrote:

> I don't think the patch is correct.  If these tune files are included, the
> GLIBC_EXTRA_OECONF is set unconditionally.  It is possible to include the tune
> files, but not actually use the tunings.  (There are cases where you might want
> to inherit specific tunings, etc.)
> 
> Instead, I'd suggest you do:
> 
> GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e",
> "--with-cpu=603e", "", d)}"
> 
> (and a similar line for the e500mc)
> 
> --Mark
> 
> On 8/10/11 12:13 PM, Kumar Gala wrote:
>> We need --with-cpu based to glibc to get proper support on 603e & e500mc
>> to pickup proper math libs to deal with sqrt.  These core do not
>> implement the fsqrt[s] instructions that the normal PPC math libs
>> utilize.
>> 
>> This causes use to not set AVAILTUNES specifically to the sub-arch only
>> as we arent generically compatiable.
>> 
>> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
>> ---
>> meta/conf/machine/include/tune-ppc603e.inc   |    5 ++++-
>> meta/conf/machine/include/tune-ppce500mc.inc |    5 ++++-
>> 2 files changed, 8 insertions(+), 2 deletions(-)
>> 
>> diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc
>> index 9abb694..c673470 100644
>> --- a/meta/conf/machine/include/tune-ppc603e.inc
>> +++ b/meta/conf/machine/include/tune-ppc603e.inc
>> @@ -6,6 +6,9 @@ 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', '${PPCPKGARCH}', d)}"
>> 
>> -AVAILTUNES += "ppc603e"
>> +AVAILTUNES = "ppc603e"
>> TUNE_FEATURES_tune-ppc603e = "m32 ppc603e"
>> PACKAGE_EXTRA_ARCHS_tune-ppc603e = "powerpc ppc603e"
>> +
>> +# glibc configure options to get 603e specific library (for sqrt)
>> +GLIBC_EXTRA_OECONF += "--with-cpu=603e"
>> diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/tune-ppce500mc.inc
>> index b5031f4..cdd87dc 100644
>> --- a/meta/conf/machine/include/tune-ppce500mc.inc
>> +++ b/meta/conf/machine/include/tune-ppce500mc.inc
>> @@ -6,6 +6,9 @@ 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", "${PPCPKGARCH}", d)}"
>> 
>> -AVAILTUNES += "ppce500mc"
>> +AVAILTUNES = "ppce500mc"
>> TUNE_FEATURES_tune-ppce500mc = "m32 ppce500mc"
>> PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "powerpc ppce500mc"
>> +
>> +# glibc configure options to get e500mc specific library (for sqrt)
>> +GLIBC_EXTRA_OECONF += "--with-cpu=e500mc"
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] tune-ppc: Update to pass glibc configure option to get cpu specific support
  2011-08-10 20:06   ` Kumar Gala
@ 2011-08-10 20:17     ` Mark Hatle
  0 siblings, 0 replies; 4+ messages in thread
From: Mark Hatle @ 2011-08-10 20:17 UTC (permalink / raw)
  To: openembedded-core

On 8/10/11 3:06 PM, Kumar Gala wrote:
> Why?
> 
> - k
> 
> On Aug 10, 2011, at 2:19 PM, Mark Hatle wrote:
> 
>> I don't think the patch is correct.  If these tune files are included, the
>> GLIBC_EXTRA_OECONF is set unconditionally.  It is possible to include the tune
>> files, but not actually use the tunings.  (There are cases where you might want
>> to inherit specific tunings, etc.)

It's general convention.  While it might not make sense in this one case, I do
expect that tuning will inherit other tunings regularly.

Lets say someone out there invents a variant of the 603e that has altivec.  They
could create a new tune file..  Then in the tune file they would include the
ppc603e-tune.inc file, and add a new tune feature for this new processor that
would enable -maltivec or something like that.

Many cores are derived from other cores and simply have different capabilities
added to them by compiler or assembler flags....  (This is especially true in
the ARM and MIPS world, but we should be aware of it and use the same
conventions on all tune files so things are more consistent.)

--Mark

>> Instead, I'd suggest you do:
>>
>> GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e",
>> "--with-cpu=603e", "", d)}"
>>
>> (and a similar line for the e500mc)
>>
>> --Mark
>>
>> On 8/10/11 12:13 PM, Kumar Gala wrote:
>>> We need --with-cpu based to glibc to get proper support on 603e & e500mc
>>> to pickup proper math libs to deal with sqrt.  These core do not
>>> implement the fsqrt[s] instructions that the normal PPC math libs
>>> utilize.
>>>
>>> This causes use to not set AVAILTUNES specifically to the sub-arch only
>>> as we arent generically compatiable.
>>>
>>> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
>>> ---
>>> meta/conf/machine/include/tune-ppc603e.inc   |    5 ++++-
>>> meta/conf/machine/include/tune-ppce500mc.inc |    5 ++++-
>>> 2 files changed, 8 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc
>>> index 9abb694..c673470 100644
>>> --- a/meta/conf/machine/include/tune-ppc603e.inc
>>> +++ b/meta/conf/machine/include/tune-ppc603e.inc
>>> @@ -6,6 +6,9 @@ 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', '${PPCPKGARCH}', d)}"
>>>
>>> -AVAILTUNES += "ppc603e"
>>> +AVAILTUNES = "ppc603e"
>>> TUNE_FEATURES_tune-ppc603e = "m32 ppc603e"
>>> PACKAGE_EXTRA_ARCHS_tune-ppc603e = "powerpc ppc603e"
>>> +
>>> +# glibc configure options to get 603e specific library (for sqrt)
>>> +GLIBC_EXTRA_OECONF += "--with-cpu=603e"
>>> diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/tune-ppce500mc.inc
>>> index b5031f4..cdd87dc 100644
>>> --- a/meta/conf/machine/include/tune-ppce500mc.inc
>>> +++ b/meta/conf/machine/include/tune-ppce500mc.inc
>>> @@ -6,6 +6,9 @@ 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", "${PPCPKGARCH}", d)}"
>>>
>>> -AVAILTUNES += "ppce500mc"
>>> +AVAILTUNES = "ppce500mc"
>>> TUNE_FEATURES_tune-ppce500mc = "m32 ppce500mc"
>>> PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "powerpc ppce500mc"
>>> +
>>> +# glibc configure options to get e500mc specific library (for sqrt)
>>> +GLIBC_EXTRA_OECONF += "--with-cpu=e500mc"
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-08-10 20:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-10 17:13 [PATCH v2] tune-ppc: Update to pass glibc configure option to get cpu specific support Kumar Gala
2011-08-10 19:19 ` Mark Hatle
2011-08-10 20:06   ` Kumar Gala
2011-08-10 20:17     ` Mark Hatle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox