On 3/21/14, 7:10 AM, Mats Kärrman wrote:
Hi,

On: Thursday, March 13, 2014 11:36 AM, Mats Kärrman wrote:
My "home made" hard float tune for PowerPC looks like this:

------------------------------------------------------------------
# Tune for the e300c3 core
require conf/machine/include/tune-ppce300c3.inc

# Use hardware floating point
AVAILTUNES += "ppce300c3hf"
TUNE_FEATURES_tune-ppce300c3hf = "m32 fpu-hard ppce300c3"
TUNE_PKGARCH_tune-ppce300c3hf = "ppce300c3hf"
PACKAGE_EXTRA_ARCHS_tune-ppce300c3hf = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} 
ppce300c3hf"
DEFAULTTUNE = "ppce300c3hf"
------------------------------------------------------------------


I found the reason for the error (deviance) in the sqrt function. glibc has
special code for PowerPC 603e core (e300 is an optimized variant of 603e).
By adding the following line to the tuning I now get the same result as
for all other environments that I've tried:

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

Does anyone know about the reason for having soft-float as the default and
only available alternative for e300c2/3 tunings?

My guess is because e300 e300c2 were both soft-float designs. And e300c3 is the first hard float design.

The e300c3 should inherit and use the 603e directly. This includes definiting the TUNE_FEATURES that the 603e does. If it doesn't do that, I'd suggest it's a mistake.

The default 603e tune should include:

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

or similar already -- and should already be hard float enabled. (ppc603e soft-float should be the alternative -- as it is significantly rarer and the deviation.)

Would it be worthwhile to send a patch to add the hf tuning to OE-core?

As the e300c3 should be hard float, we shouldn't have the 'hf' designation. Otherwise, we should ensure the e300c3 tune is correctly configured.

In that case what tests should be performed before that and what (related)
tests are performed by the OE auto-builder?

BR // Mats


--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to