Skip to contentSkip to conversation

machine/tune: add tune-ppce300c3.inc

PATCH In review Bruce Ashfield 5 participants 12 messages Sep 6, 2012 – Sep 7, 2012

lore
Share & tools
lore
#0 lore raw

cover machine/tune: add tune-ppce300c3.inc

Richard/Saul,

I was asked to pick up the languishing yocto bug #1192, which tells us that the mpc8315 reference board was using the incorrect tuning.

To fix this, I created a new tune-ppce300c3, which is based on the tune-ppce300c2.

core-image-minimal, and core-image-sato builds have passed, as well as boot tests. During the sato build, I had to fix flac to not use altivec. The examples already in flac didn't seem to work, since my tuning override wasn't working. To fix it, I added DEFAULTTUNE to the OVERRIDES for the package and sato now builds.

I'll follow this with a pull request for the yocto reference BSP.

I'm by no means a tuning or powerpc expert, but to the best of my knowledge, this is what we want to do. Anyone more familiar with the board can feel free to comment :)

Cheers,

Bruce

The following changes since commit 55d82fd07f6bded10333735a99fcb176b3d26e6f:

stash: disable x11 for gdkpixbuf (2012-09-05 14:55:14 -0400)

are available in the git repository at:
git://git.pokylinux.org/poky-contrib zedd/ppc-tune
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/ppc-tune

Bruce Ashfield (1):
conf/tune: add tune-ppce300c3

 meta/conf/machine/include/tune-ppce300c3.inc |   11 +++++++++++
 meta/recipes-multimedia/flac/flac_1.2.1.bb   |    5 +++++
 2 files changed, 16 insertions(+), 0 deletions(-)
 create mode 100644 meta/conf/machine/include/tune-ppce300c3.inc
Signature · 1 line
1.7.7
#1 lore raw

PATCH 1/1 conf/tune: add tune-ppce300c3

It has been pointed out several times that the yocto mpc8315e-rdb reference was using the wrong tuning (603e), since it is actually a e300c3 board.

This commit creates a e300c3 tune file based on the e300c2 variant already in oe-core.

This commit also inhibits altivec in flac when this new tuning is enabled. It was also noticed that the existing tune based overrides in the flac package would not be triggered since DEFAULTTUNE is not in the overrides list. To avoid doing per-board disabling of altivec DEFAULTTUNE is added to the local package OVERRIDES and then used to disable altivec.

[YOCTO #1192]

asdfkljds

---
 meta/conf/machine/include/tune-ppce300c3.inc |   11 +++++++++++
 meta/recipes-multimedia/flac/flac_1.2.1.bb   |    5 +++++
 2 files changed, 16 insertions(+), 0 deletions(-)
 create mode 100644 meta/conf/machine/include/tune-ppce300c3.inc
meta/conf/machine/include/tune-ppce300c3.inc new file +11 -0
new file mode 100644
index 0000000..3f5ac26
@@ -0,0 +1,11 @@
+DEFAULTTUNE ?= "ppce300c3"
+
+require conf/machine/include/powerpc/arch-powerpc.inc
+
+TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations"
+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"
meta/recipes-multimedia/flac/flac_1.2.1.bb +5 -0
index 3c5b73c..25db1c4 100644
@@ -36,9 +36,14 @@ EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \
                 --without-xmms-exec-prefix \
                 --without-libiconv-prefix \
                 --without-id3lib"
+
+FLACOVERRIDE = ":${DEFAULTTUNE}"
+OVERRIDES .= "${FLACOVERRIDE}"
+
 EXTRA_OECONF_prepend_e500mc = "--disable-altivec "
 EXTRA_OECONF_prepend_e5500 = "--disable-altivec "
 EXTRA_OECONF_prepend_e5500-64b = "--disable-altivec "
+EXTRA_OECONF_prepend_ppce300c3 = "--disable-altivec "
 
 PACKAGES += "libflac libflac++ liboggflac liboggflac++"
 FILES_${PN} = "${bindir}/*"
Signature · 1 line
1.7.7
#2 lore raw

Re: [PATCH 1/1] conf/tune: add tune-ppce300c3

Quoted 50 lines · Bruce Ashfield

It has been pointed out several times that the yocto mpc8315e-rdb reference was using the wrong tuning (603e), since it is actually a e300c3 board.

This commit creates a e300c3 tune file based on the e300c2 variant already in oe-core.

This commit also inhibits altivec in flac when this new tuning is enabled. It was also noticed that the existing tune based overrides in the flac package would not be triggered since DEFAULTTUNE is not in the overrides list. To avoid doing per-board disabling of altivec DEFAULTTUNE is added to the local package OVERRIDES and then used to disable altivec.

[YOCTO #1192]

asdfkljds

---
 meta/conf/machine/include/tune-ppce300c3.inc |   11 +++++++++++
 meta/recipes-multimedia/flac/flac_1.2.1.bb   |    5 +++++
 2 files changed, 16 insertions(+), 0 deletions(-)
 create mode 100644 meta/conf/machine/include/tune-ppce300c3.inc
meta/conf/machine/include/tune-ppce300c3.inc new file +11 -0
new file mode 100644
index 0000000..3f5ac26
@@ -0,0 +1,11 @@
+DEFAULTTUNE ?= "ppce300c3"
+
+require conf/machine/include/powerpc/arch-powerpc.inc
+
+TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations"
+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"
meta/recipes-multimedia/flac/flac_1.2.1.bb +0 -0
index 3c5b73c..25db1c4 100644
@@ -36,9 +36,14 @@ EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \
                 --without-xmms-exec-prefix \
                 --without-libiconv-prefix \

meta/recipes-multimedia/flac/flac_1.2.1.bb EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \ · line 47

Quoted 10 lines
meta/recipes-multimedia/flac/flac_1.2.1.bb +5 -0
                 --without-id3lib"
+
+FLACOVERRIDE = ":${DEFAULTTUNE}"
+OVERRIDES .= "${FLACOVERRIDE}"
+
 EXTRA_OECONF_prepend_e500mc = "--disable-altivec "
 EXTRA_OECONF_prepend_e5500 = "--disable-altivec "
 EXTRA_OECONF_prepend_e5500-64b = "--disable-altivec "
+EXTRA_OECONF_prepend_ppce300c3 = "--disable-altivec "
 

This is getting ugly and is kind of unsafe. Perhaps the architecture should be doing something like:

MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", ":noaltivec", "" ,d)}

or even in this recipe just do:

EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", " --disable-altivec", "" ,d)}

Cheers,

Richard

#3 lore raw

Re: [PATCH 1/1] conf/tune: add tune-ppce300c3

Quoted 65 lines · Richard Purdie
Quoted 50 lines · Bruce Ashfield

It has been pointed out several times that the yocto mpc8315e-rdb reference was using the wrong tuning (603e), since it is actually a e300c3 board.

This commit creates a e300c3 tune file based on the e300c2 variant already in oe-core.

This commit also inhibits altivec in flac when this new tuning is enabled. It was also noticed that the existing tune based overrides in the flac package would not be triggered since DEFAULTTUNE is not in the overrides list. To avoid doing per-board disabling of altivec DEFAULTTUNE is added to the local package OVERRIDES and then used to disable altivec.

[YOCTO #1192]

asdfkljds

---
  meta/conf/machine/include/tune-ppce300c3.inc |   11 +++++++++++
  meta/recipes-multimedia/flac/flac_1.2.1.bb   |    5 +++++
  2 files changed, 16 insertions(+), 0 deletions(-)

create mode 100644 meta/conf/machine/include/tune-ppce300c3.inc

meta/conf/machine/include/tune-ppce300c3.inc new file +11 -0
new file mode 100644
index 0000000..3f5ac26
@@ -0,0 +1,11 @@
+DEFAULTTUNE ?= "ppce300c3"
+
+require conf/machine/include/powerpc/arch-powerpc.inc
+
+TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations"
+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"
meta/recipes-multimedia/flac/flac_1.2.1.bb +0 -0
index 3c5b73c..25db1c4 100644
@@ -36,9 +36,14 @@ EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \
                  --without-xmms-exec-prefix \
                  --without-libiconv-prefix \

meta/recipes-multimedia/flac/flac_1.2.1.bb EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \ · line 47

Quoted 10 lines
meta/recipes-multimedia/flac/flac_1.2.1.bb +5 -0
                  --without-id3lib"
+
+FLACOVERRIDE = ":${DEFAULTTUNE}"
+OVERRIDES .= "${FLACOVERRIDE}"
+
  EXTRA_OECONF_prepend_e500mc = "--disable-altivec "
  EXTRA_OECONF_prepend_e5500 = "--disable-altivec "
  EXTRA_OECONF_prepend_e5500-64b = "--disable-altivec "
+EXTRA_OECONF_prepend_ppce300c3 = "--disable-altivec "
 

This is getting ugly and is kind of unsafe. Perhaps the architecture should be doing something like:

Quoted 5 lines

MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", ":noaltivec", "" ,d)}

or even in this recipe just do:

EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", " --disable-altivec", "" ,d)}

I definitely considered this route. I can do that for the new arch, and the old ones, but can't test the old ones at the moment.

Bruce

Quoted 6 lines

Cheers,

Richard

#4 lore raw

Re: [PATCH 1/1] conf/tune: add tune-ppce300c3

Quoted 66 lines · Bruce Ashfield
Quoted 65 lines · Richard Purdie
Quoted 50 lines · Bruce Ashfield

It has been pointed out several times that the yocto mpc8315e-rdb reference was using the wrong tuning (603e), since it is actually a e300c3 board.

This commit creates a e300c3 tune file based on the e300c2 variant already in oe-core.

This commit also inhibits altivec in flac when this new tuning is enabled. It was also noticed that the existing tune based overrides in the flac package would not be triggered since DEFAULTTUNE is not in the overrides list. To avoid doing per-board disabling of altivec DEFAULTTUNE is added to the local package OVERRIDES and then used to disable altivec.

[YOCTO #1192]

asdfkljds

---
   meta/conf/machine/include/tune-ppce300c3.inc |   11 +++++++++++
   meta/recipes-multimedia/flac/flac_1.2.1.bb   |    5 +++++
   2 files changed, 16 insertions(+), 0 deletions(-)

create mode 100644 meta/conf/machine/include/tune-ppce300c3.inc

meta/conf/machine/include/tune-ppce300c3.inc new file +11 -0
new file mode 100644
index 0000000..3f5ac26
@@ -0,0 +1,11 @@
+DEFAULTTUNE ?= "ppce300c3"
+
+require conf/machine/include/powerpc/arch-powerpc.inc
+
+TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations"
+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"
meta/recipes-multimedia/flac/flac_1.2.1.bb +0 -0
index 3c5b73c..25db1c4 100644
@@ -36,9 +36,14 @@ EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \
                   --without-xmms-exec-prefix \
                   --without-libiconv-prefix \

meta/recipes-multimedia/flac/flac_1.2.1.bb EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \ · line 47

Quoted 10 lines
meta/recipes-multimedia/flac/flac_1.2.1.bb +5 -0
                   --without-id3lib"
+
+FLACOVERRIDE = ":${DEFAULTTUNE}"
+OVERRIDES .= "${FLACOVERRIDE}"
+
   EXTRA_OECONF_prepend_e500mc = "--disable-altivec "
   EXTRA_OECONF_prepend_e5500 = "--disable-altivec "
   EXTRA_OECONF_prepend_e5500-64b = "--disable-altivec "
+EXTRA_OECONF_prepend_ppce300c3 = "--disable-altivec "
 

This is getting ugly and is kind of unsafe. Perhaps the architecture should be doing something like:

Quoted 8 lines
Quoted 5 lines

MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", ":noaltivec", "" ,d)}

or even in this recipe just do:

EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", " --disable-altivec", "" ,d)}

I definitely considered this route. I can do that for the new arch, and the old ones, but can't test the old ones at the moment.

The problem is actually in the flac. This recipe sees powerpc as the machine type, and immediately enabled altivec. By default altivec support is disabled in OE-Core.

Perhaps one way we could address this is add a tune flag that says if the tune has altivec support or not.. then in the flac binary, disable it unless it's enabled?

--Mark

Quoted 15 lines

Bruce

Quoted 6 lines

Cheers,

Richard

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

#5 lore raw

Re: [PATCH 1/1] conf/tune: add tune-ppce300c3

Quoted 76 lines · Mark Hatle
Quoted 66 lines · Bruce Ashfield
Quoted 65 lines · Richard Purdie
Quoted 50 lines · Bruce Ashfield

It has been pointed out several times that the yocto mpc8315e-rdb reference was using the wrong tuning (603e), since it is actually a e300c3 board.

This commit creates a e300c3 tune file based on the e300c2 variant already in oe-core.

This commit also inhibits altivec in flac when this new tuning is enabled. It was also noticed that the existing tune based overrides in the flac package would not be triggered since DEFAULTTUNE is not in the overrides list. To avoid doing per-board disabling of altivec DEFAULTTUNE is added to the local package OVERRIDES and then used to disable altivec.

[YOCTO #1192]

asdfkljds

---
   meta/conf/machine/include/tune-ppce300c3.inc |   11 +++++++++++
   meta/recipes-multimedia/flac/flac_1.2.1.bb   |    5 +++++
   2 files changed, 16 insertions(+), 0 deletions(-)

create mode 100644 meta/conf/machine/include/tune-ppce300c3.inc

meta/conf/machine/include/tune-ppce300c3.inc new file +11 -0
new file mode 100644
index 0000000..3f5ac26
@@ -0,0 +1,11 @@
+DEFAULTTUNE ?= "ppce300c3"
+
+require conf/machine/include/powerpc/arch-powerpc.inc
+
+TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations"
+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"
meta/recipes-multimedia/flac/flac_1.2.1.bb +0 -0
index 3c5b73c..25db1c4 100644
@@ -36,9 +36,14 @@ EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \
                   --without-xmms-exec-prefix \
                   --without-libiconv-prefix \

meta/recipes-multimedia/flac/flac_1.2.1.bb EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \ · line 47

Quoted 10 lines
meta/recipes-multimedia/flac/flac_1.2.1.bb +5 -0
                   --without-id3lib"
+
+FLACOVERRIDE = ":${DEFAULTTUNE}"
+OVERRIDES .= "${FLACOVERRIDE}"
+
   EXTRA_OECONF_prepend_e500mc = "--disable-altivec "
   EXTRA_OECONF_prepend_e5500 = "--disable-altivec "
   EXTRA_OECONF_prepend_e5500-64b = "--disable-altivec "
+EXTRA_OECONF_prepend_ppce300c3 = "--disable-altivec "
 

This is getting ugly and is kind of unsafe. Perhaps the architecture should be doing something like:

Quoted 8 lines
Quoted 5 lines

MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", ":noaltivec", "" ,d)}

or even in this recipe just do:

EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", " --disable-altivec", "" ,d)}

I definitely considered this route. I can do that for the new arch, and the old ones, but can't test the old ones at the moment.

Quoted 7 lines

The problem is actually in the flac. This recipe sees powerpc as the machine type, and immediately enabled altivec. By default altivec support is disabled in OE-Core.

Perhaps one way we could address this is add a tune flag that says if the tune has altivec support or not.. then in the flac binary, disable it unless it's enabled?

I think having altivec in the tune_features would be ideal. I'd love to get this cleaned up too but I lack much knowledge about powerpc...

Cheers,

Richard

#6 lore raw

Re: [PATCH 1/1] conf/tune: add tune-ppce300c3

Quoted 81 lines · Richard Purdie
Quoted 80 lines · Mark Hatle
Quoted 66 lines · Bruce Ashfield
Quoted 65 lines · Richard Purdie
Quoted 50 lines · Bruce Ashfield

It has been pointed out several times that the yocto mpc8315e-rdb reference was using the wrong tuning (603e), since it is actually a e300c3 board.

This commit creates a e300c3 tune file based on the e300c2 variant already in oe-core.

This commit also inhibits altivec in flac when this new tuning is enabled. It was also noticed that the existing tune based overrides in the flac package would not be triggered since DEFAULTTUNE is not in the overrides list. To avoid doing per-board disabling of altivec DEFAULTTUNE is added to the local package OVERRIDES and then used to disable altivec.

[YOCTO #1192]

asdfkljds

---
    meta/conf/machine/include/tune-ppce300c3.inc |   11 +++++++++++
    meta/recipes-multimedia/flac/flac_1.2.1.bb   |    5 +++++
    2 files changed, 16 insertions(+), 0 deletions(-)
    create mode 100644 meta/conf/machine/include/tune-ppce300c3.inc
meta/conf/machine/include/tune-ppce300c3.inc new file +11 -0
new file mode 100644
index 0000000..3f5ac26
@@ -0,0 +1,11 @@
+DEFAULTTUNE ?= "ppce300c3"
+
+require conf/machine/include/powerpc/arch-powerpc.inc
+
+TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations"
+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"
meta/recipes-multimedia/flac/flac_1.2.1.bb +0 -0
index 3c5b73c..25db1c4 100644
@@ -36,9 +36,14 @@ EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \
                    --without-xmms-exec-prefix \
                    --without-libiconv-prefix \

meta/recipes-multimedia/flac/flac_1.2.1.bb EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \ · line 47

Quoted 10 lines
meta/recipes-multimedia/flac/flac_1.2.1.bb +5 -0
                    --without-id3lib"
+
+FLACOVERRIDE = ":${DEFAULTTUNE}"
+OVERRIDES .= "${FLACOVERRIDE}"
+
    EXTRA_OECONF_prepend_e500mc = "--disable-altivec "
    EXTRA_OECONF_prepend_e5500 = "--disable-altivec "
    EXTRA_OECONF_prepend_e5500-64b = "--disable-altivec "
+EXTRA_OECONF_prepend_ppce300c3 = "--disable-altivec "
 

This is getting ugly and is kind of unsafe. Perhaps the architecture should be doing something like:

Quoted 8 lines
Quoted 5 lines

MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", ":noaltivec", "" ,d)}

or even in this recipe just do:

EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", " --disable-altivec", "" ,d)}

I definitely considered this route. I can do that for the new arch, and the old ones, but can't test the old ones at the moment.

The problem is actually in the flac. This recipe sees powerpc as the machine type, and immediately enabled altivec. By default altivec support is disabled in OE-Core.

Quoted 6 lines
Quoted 3 lines

Perhaps one way we could address this is add a tune flag that says if the tune has altivec support or not.. then in the flac binary, disable it unless it's enabled?

I think having altivec in the tune_features would be ideal. I'd love to get this cleaned up too but I lack much knowledge about powerpc...

My proposal then would be to accept Bruce's patch, with the understanding that we need to add a tune flag of 'altivec' to the PowerPC tunings (where appropriate) and then make the flac recipe respect that flag.

Unfortunately I don't have the time to do that right now or I would. Would an enhancement bug in the Yocto Project bugzilla be enough to be sure the work is done?

--Mark

Quoted 4 lines

Cheers,

Richard

#7 lore raw

Re: [PATCH 1/1] conf/tune: add tune-ppce300c3

Quoted 89 lines · Mark Hatle
Quoted 81 lines · Richard Purdie
Quoted 80 lines · Mark Hatle
Quoted 66 lines · Bruce Ashfield
Quoted 65 lines · Richard Purdie
Quoted 50 lines · Bruce Ashfield

It has been pointed out several times that the yocto mpc8315e-rdb reference was using the wrong tuning (603e), since it is actually a e300c3 board.

This commit creates a e300c3 tune file based on the e300c2 variant already in oe-core.

This commit also inhibits altivec in flac when this new tuning is enabled. It was also noticed that the existing tune based overrides in the flac package would not be triggered since DEFAULTTUNE is not in the overrides list. To avoid doing per-board disabling of altivec DEFAULTTUNE is added to the local package OVERRIDES and then used to disable altivec.

[YOCTO #1192]

asdfkljds

---
    meta/conf/machine/include/tune-ppce300c3.inc |   11 +++++++++++
    meta/recipes-multimedia/flac/flac_1.2.1.bb   |    5 +++++
    2 files changed, 16 insertions(+), 0 deletions(-)
    create mode 100644 meta/conf/machine/include/tune-ppce300c3.inc
meta/conf/machine/include/tune-ppce300c3.inc new file +11 -0
new file mode 100644
index 0000000..3f5ac26
@@ -0,0 +1,11 @@
+DEFAULTTUNE ?= "ppce300c3"
+
+require conf/machine/include/powerpc/arch-powerpc.inc
+
+TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations"
+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"
meta/recipes-multimedia/flac/flac_1.2.1.bb +0 -0
index 3c5b73c..25db1c4 100644
@@ -36,9 +36,14 @@ EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \
                    --without-xmms-exec-prefix \
                    --without-libiconv-prefix \

meta/recipes-multimedia/flac/flac_1.2.1.bb EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \ · line 47

Quoted 10 lines
meta/recipes-multimedia/flac/flac_1.2.1.bb +5 -0
                    --without-id3lib"
+
+FLACOVERRIDE = ":${DEFAULTTUNE}"
+OVERRIDES .= "${FLACOVERRIDE}"
+
    EXTRA_OECONF_prepend_e500mc = "--disable-altivec "
    EXTRA_OECONF_prepend_e5500 = "--disable-altivec "
    EXTRA_OECONF_prepend_e5500-64b = "--disable-altivec "
+EXTRA_OECONF_prepend_ppce300c3 = "--disable-altivec "
 

This is getting ugly and is kind of unsafe. Perhaps the architecture should be doing something like:

Quoted 8 lines
Quoted 5 lines

MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", ":noaltivec", "" ,d)}

or even in this recipe just do:

EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", " --disable-altivec", "" ,d)}

I definitely considered this route. I can do that for the new arch, and the old ones, but can't test the old ones at the moment.

The problem is actually in the flac. This recipe sees powerpc as the machine type, and immediately enabled altivec. By default altivec support is disabled in OE-Core.

Quoted 6 lines
Quoted 3 lines

Perhaps one way we could address this is add a tune flag that says if the tune has altivec support or not.. then in the flac binary, disable it unless it's enabled?

I think having altivec in the tune_features would be ideal. I'd love to get this cleaned up too but I lack much knowledge about powerpc...

Quoted 6 lines

My proposal then would be to accept Bruce's patch, with the understanding that we need to add a tune flag of 'altivec' to the PowerPC tunings (where appropriate) and then make the flac recipe respect that flag.

Unfortunately I don't have the time to do that right now or I would. Would an enhancement bug in the Yocto Project bugzilla be enough to be sure the work is done?

Please send something machine specific. Adding DEFAULTTUNE is a bad idea for several reasons, not least it might not be the selected tune.

I took Matthew's original patch on the understanding this gets fixed and it hasn't happened but please do file the request.

Cheers,

Richard

#8 lore raw

Re: [PATCH 1/1] conf/tune: add tune-ppce300c3

Quoted 94 lines · Richard Purdie
Quoted 93 lines · Mark Hatle
Quoted 81 lines · Richard Purdie
Quoted 80 lines · Mark Hatle
Quoted 66 lines · Bruce Ashfield
Quoted 65 lines · Richard Purdie
Quoted 50 lines · Bruce Ashfield

It has been pointed out several times that the yocto mpc8315e-rdb reference was using the wrong tuning (603e), since it is actually a e300c3 board.

This commit creates a e300c3 tune file based on the e300c2 variant already in oe-core.

This commit also inhibits altivec in flac when this new tuning is enabled. It was also noticed that the existing tune based overrides in the flac package would not be triggered since DEFAULTTUNE is not in the overrides list. To avoid doing per-board disabling of altivec DEFAULTTUNE is added to the local package OVERRIDES and then used to disable altivec.

[YOCTO #1192]

asdfkljds

---
    meta/conf/machine/include/tune-ppce300c3.inc |   11 +++++++++++
    meta/recipes-multimedia/flac/flac_1.2.1.bb   |    5 +++++
    2 files changed, 16 insertions(+), 0 deletions(-)
    create mode 100644 meta/conf/machine/include/tune-ppce300c3.inc
meta/conf/machine/include/tune-ppce300c3.inc new file +11 -0
new file mode 100644
index 0000000..3f5ac26
@@ -0,0 +1,11 @@
+DEFAULTTUNE ?= "ppce300c3"
+
+require conf/machine/include/powerpc/arch-powerpc.inc
+
+TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations"
+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"
meta/recipes-multimedia/flac/flac_1.2.1.bb +0 -0
index 3c5b73c..25db1c4 100644
@@ -36,9 +36,14 @@ EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \
                    --without-xmms-exec-prefix \
                    --without-libiconv-prefix \

meta/recipes-multimedia/flac/flac_1.2.1.bb EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \ · line 47

Quoted 10 lines
meta/recipes-multimedia/flac/flac_1.2.1.bb +5 -0
                    --without-id3lib"
+
+FLACOVERRIDE = ":${DEFAULTTUNE}"
+OVERRIDES .= "${FLACOVERRIDE}"
+
    EXTRA_OECONF_prepend_e500mc = "--disable-altivec "
    EXTRA_OECONF_prepend_e5500 = "--disable-altivec "
    EXTRA_OECONF_prepend_e5500-64b = "--disable-altivec "
+EXTRA_OECONF_prepend_ppce300c3 = "--disable-altivec "
 

This is getting ugly and is kind of unsafe. Perhaps the architecture should be doing something like:

Quoted 8 lines
Quoted 5 lines

MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", ":noaltivec", "" ,d)}

or even in this recipe just do:

EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", " --disable-altivec", "" ,d)}

I definitely considered this route. I can do that for the new arch, and the old ones, but can't test the old ones at the moment.

The problem is actually in the flac. This recipe sees powerpc as the machine type, and immediately enabled altivec. By default altivec support is disabled in OE-Core.

Quoted 6 lines
Quoted 3 lines

Perhaps one way we could address this is add a tune flag that says if the tune has altivec support or not.. then in the flac binary, disable it unless it's enabled?

I think having altivec in the tune_features would be ideal. I'd love to get this cleaned up too but I lack much knowledge about powerpc...

My proposal then would be to accept Bruce's patch, with the understanding that we need to add a tune flag of 'altivec' to the PowerPC tunings (where appropriate) and then make the flac recipe respect that flag.

Quoted 5 lines
Quoted 2 lines

Unfortunately I don't have the time to do that right now or I would. Would an enhancement bug in the Yocto Project bugzilla be enough to be sure the work is done?

Please send something machine specific. Adding DEFAULTTUNE is a bad idea for several reasons, not least it might not be the selected tune.

Works for me, I'll just switch in the rdb and send another update then when the patch is fixed.

Bruce

Quoted 15 lines

I took Matthew's original patch on the understanding this gets fixed and it hasn't happened but please do file the request.

Cheers,

Richard

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

Signature · 2 lines
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
#9 lore raw

Re: [PATCH 1/1] conf/tune: add tune-ppce300c3

In reply to Richard Purdie
Quoted 8 lines · Richard Purdie
Quoted 7 lines · Mark Hatle
Quoted 6 lines · Richard Purdie
Quoted 5 lines · Mark Hatle
Quoted 4 lines · Bruce Ashfield
Quoted 3 lines · Richard Purdie
Quoted 2 lines · Bruce Ashfield

It has been pointed out several times that the yocto mpc8315e-rdb reference was using the wrong tuning (603e), since it is actually

<snip>

Quoted 15 lines
Quoted 15 lines
Quoted 10 lines
Quoted 7 lines

The problem is actually in the flac. This recipe sees powerpc as the machine type, and immediately enabled altivec. By default altivec support is disabled in OE-Core.

Perhaps one way we could address this is add a tune flag that says if the tune has altivec support or not.. then in the flac binary, disable it unless it's enabled?

I think having altivec in the tune_features would be ideal. I'd love to get this cleaned up too but I lack much knowledge about powerpc...

My proposal then would be to accept Bruce's patch, with the understanding that we need to add a tune flag of 'altivec' to the PowerPC tunings (where appropriate) and then make the flac recipe respect that flag.

Quoted 5 lines
Quoted 2 lines

Unfortunately I don't have the time to do that right now or I would. Would an enhancement bug in the Yocto Project bugzilla be enough to be sure the work is done?

Please send something machine specific. Adding DEFAULTTUNE is a bad idea for several reasons, not least it might not be the selected tune.

Same branch (contrib zedd/ppc-tune), now has:

meta/recipes-multimedia/flac/flac_1.2.1.bb +1 -0
@@ -39,6 +39,7 @@ EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \
 EXTRA_OECONF_prepend_e500mc = "--disable-altivec "
 EXTRA_OECONF_prepend_e5500 = "--disable-altivec "
 EXTRA_OECONF_prepend_e5500-64b = "--disable-altivec "
+EXTRA_OECONF_prepend_mpc8315e-rdb = "--disable-altivec "
 
 PACKAGES += "libflac libflac++ liboggflac liboggflac++"
 FILES_${PN} = "${bindir}/*"

Everything else is the same.

Let me know if you want a full resend of the patch.

Cheers,

Bruce

Quoted 15 lines

I took Matthew's original patch on the understanding this gets fixed and it hasn't happened but please do file the request.

Cheers,

Richard

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

Signature · 2 lines
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
#10 lore raw

Re: [PATCH 1/1] conf/tune: add tune-ppce300c3

In reply to Mark Hatle
Quoted 80 lines · Mark Hatle
Quoted 79 lines · Richard Purdie
Quoted 77 lines · Mark Hatle
Quoted 75 lines · Bruce Ashfield
Quoted 73 lines · Richard Purdie
Quoted 57 lines · Bruce Ashfield

It has been pointed out several times that the yocto mpc8315e-rdb reference was using the wrong tuning (603e), since it is actually a e300c3 board.

This commit creates a e300c3 tune file based on the e300c2 variant already in oe-core.

This commit also inhibits altivec in flac when this new tuning is enabled. It was also noticed that the existing tune based overrides in the flac package would not be triggered since DEFAULTTUNE is not in the overrides list. To avoid doing per-board disabling of altivec DEFAULTTUNE is added to the local package OVERRIDES and then used to disable altivec.

[YOCTO #1192]

asdfkljds

---
    meta/conf/machine/include/tune-ppce300c3.inc |   11 +++++++++++
    meta/recipes-multimedia/flac/flac_1.2.1.bb   |    5 +++++
    2 files changed, 16 insertions(+), 0 deletions(-)
    create mode 100644 meta/conf/machine/include/tune-ppce300c3.inc
meta/conf/machine/include/tune-ppce300c3.inc new file +5 -0
new file mode 100644
index 0000000..3f5ac26
@@ -0,0 +1,11 @@
+DEFAULTTUNE ?= "ppce300c3"
+
+require conf/machine/include/powerpc/arch-powerpc.inc
+
+TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor

optimizations"
+TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", "-mcpu=e300c3", "", d)}"

meta/conf/machine/include/tune-ppce300c3.inc new file +5 -0
+
+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"

meta/recipes-multimedia/flac/flac_1.2.1.bb +0 -1
index 3c5b73c..25db1c4 100644
@@ -36,9 +36,14 @@ EXTRA_OECONF = "--disable-oggtest
--disable-id3libtest \
                    --without-xmms-exec-prefix \
                    --without-libiconv-prefix \

meta/recipes-multimedia/flac/flac_1.2.1.bb EXTRA_OECONF = "--disable-oggtest · line 47

Quoted 10 lines
meta/recipes-multimedia/flac/flac_1.2.1.bb +5 -0
                    --without-id3lib"
+
+FLACOVERRIDE = ":${DEFAULTTUNE}"
+OVERRIDES .= "${FLACOVERRIDE}"
+
    EXTRA_OECONF_prepend_e500mc = "--disable-altivec "
    EXTRA_OECONF_prepend_e5500 = "--disable-altivec "
    EXTRA_OECONF_prepend_e5500-64b = "--disable-altivec "
+EXTRA_OECONF_prepend_ppce300c3 = "--disable-altivec "
 

This is getting ugly and is kind of unsafe. Perhaps the architecture should be doing something like:

Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines

MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", ":noaltivec", "" ,d)}

or even in this recipe just do:

EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", " --disable-altivec", "" ,d)}

These don't work because you still have the other 3 lines that look just like this. Or am I missing something?

Quoted 20 lines
Quoted 20 lines
Quoted 18 lines
Quoted 5 lines

I definitely considered this route. I can do that for the new arch, and the
old ones, but can't test the old ones at the moment.

The problem is actually in the flac. This recipe sees powerpc as the machine
type, and immediately enabled altivec. By default altivec support is disabled
in OE-Core.

Perhaps one way we could address this is add a tune flag that says if the tune
has altivec support or not.. then in the flac binary, disable it unless it's
enabled?

Quoted 7 lines
Quoted 2 lines

I think having altivec in the tune_features would be ideal. I'd love to get this cleaned up too but I lack much knowledge about powerpc...

My proposal then would be to accept Bruce's patch, with the understanding that we need to add a tune flag of 'altivec' to the PowerPC tunings (where appropriate) and then make the flac recipe respect that flag.

This sounds good to me. If a bug is filed against me I can take a look at it since I did the initial damage.

-M

Quoted 17 lines

Unfortunately I don't have the time to do that right now or I would. Would an enhancement bug in the Yocto Project bugzilla be enough to be sure the work is done?

--Mark

Quoted 4 lines

Cheers,

Richard

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

#11 lore raw

Re: [PATCH 1/1] conf/tune: add tune-ppce300c3

Quoted 116 lines · On Fri, 2012-09-07 at 06:55 +0000, McClintock Matthew-B29882 wrote:
Quoted 80 lines · Mark Hatle
Quoted 79 lines · Richard Purdie
Quoted 77 lines · Mark Hatle
Quoted 75 lines · Bruce Ashfield
Quoted 73 lines · Richard Purdie
Quoted 57 lines · Bruce Ashfield

It has been pointed out several times that the yocto mpc8315e-rdb reference was using the wrong tuning (603e), since it is actually a e300c3 board.

This commit creates a e300c3 tune file based on the e300c2 variant already in oe-core.

This commit also inhibits altivec in flac when this new tuning is enabled. It was also noticed that the existing tune based overrides in the flac package would not be triggered since DEFAULTTUNE is not in the overrides list. To avoid doing per-board disabling of altivec DEFAULTTUNE is added to the local package OVERRIDES and then used to disable altivec.

[YOCTO #1192]

asdfkljds

---
    meta/conf/machine/include/tune-ppce300c3.inc |   11 +++++++++++
    meta/recipes-multimedia/flac/flac_1.2.1.bb   |    5 +++++
    2 files changed, 16 insertions(+), 0 deletions(-)
    create mode 100644 meta/conf/machine/include/tune-ppce300c3.inc
meta/conf/machine/include/tune-ppce300c3.inc new file +5 -0
new file mode 100644
index 0000000..3f5ac26
@@ -0,0 +1,11 @@
+DEFAULTTUNE ?= "ppce300c3"
+
+require conf/machine/include/powerpc/arch-powerpc.inc
+
+TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor

optimizations"
+TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", "-mcpu=e300c3", "", d)}"

meta/conf/machine/include/tune-ppce300c3.inc new file +5 -0
+
+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"

meta/recipes-multimedia/flac/flac_1.2.1.bb +0 -1
index 3c5b73c..25db1c4 100644
@@ -36,9 +36,14 @@ EXTRA_OECONF = "--disable-oggtest
--disable-id3libtest \
                    --without-xmms-exec-prefix \
                    --without-libiconv-prefix \

meta/recipes-multimedia/flac/flac_1.2.1.bb EXTRA_OECONF = "--disable-oggtest · line 47

Quoted 10 lines
meta/recipes-multimedia/flac/flac_1.2.1.bb +5 -0
                    --without-id3lib"
+
+FLACOVERRIDE = ":${DEFAULTTUNE}"
+OVERRIDES .= "${FLACOVERRIDE}"
+
    EXTRA_OECONF_prepend_e500mc = "--disable-altivec "
    EXTRA_OECONF_prepend_e5500 = "--disable-altivec "
    EXTRA_OECONF_prepend_e5500-64b = "--disable-altivec "
+EXTRA_OECONF_prepend_ppce300c3 = "--disable-altivec "
 

This is getting ugly and is kind of unsafe. Perhaps the architecture should be doing something like:

Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines

MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", ":noaltivec", "" ,d)}

or even in this recipe just do:

EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", " --disable-altivec", "" ,d)}

These don't work because you still have the other 3 lines that look just like this. Or am I missing something?

Quoted 24 lines
Quoted 22 lines
Quoted 13 lines
Quoted 5 lines

I definitely considered this route. I can do that for the new arch, and the
old ones, but can't test the old ones at the moment.

The problem is actually in the flac. This recipe sees powerpc as the machine
type, and immediately enabled altivec. By default altivec support is disabled
in OE-Core.

Quoted 5 lines

Perhaps one way we could address this is add a tune flag that says if the tune
has altivec support or not.. then in the flac binary, disable it unless it's
enabled?

I think having altivec in the tune_features would be ideal. I'd love to get this cleaned up too but I lack much knowledge about powerpc...

Quoted 6 lines
Quoted 3 lines

My proposal then would be to accept Bruce's patch, with the understanding that we need to add a tune flag of 'altivec' to the PowerPC tunings (where appropriate) and then make the flac recipe respect that flag.

This sounds good to me. If a bug is filed against me I can take a look at it since I did the initial damage.

I'll merge Bruce's updated patch, you are now the owner of:

https://bugzilla.yoctoproject.org/show_bug.cgi?id=3072

Cheers,

Richard