* [PATCH 0/1] MIPS/MIPS32 tune -> MIPS
@ 2012-04-09 23:31 Mark Hatle
2012-04-09 23:31 ` [PATCH 1/1] tune-mips32: Update the default MIPS tuning to be mips32 Mark Hatle
2012-04-10 0:14 ` [PATCH 0/1] MIPS/MIPS32 tune -> MIPS Andreas Oberritter
0 siblings, 2 replies; 6+ messages in thread
From: Mark Hatle @ 2012-04-09 23:31 UTC (permalink / raw)
To: openembedded-core
The following is in reference to the recent discussion about the mips32
-package- arch changing from mips to mips32. One of the potential options
was to get rid of the previous "mips" and replace it with the mips32
definition standard. This patch does just that.
Working with Khem, we have moved the default "mips" (32-bit) tune to be
-march=mips32 based, and produce package with the package arch of "mips".
The side effect of this work is that the prior 'mips' tune was actually
"mips1". I don't believe that was really desired by anyone, but it is a
change. Also there is no longer a "mips32" tune, just an include file
that automatically inherits and chooses the "mips" tune.
The following changes since commit 1a82989345fb98becb487d270fd93a5e6dffeb47:
runqemu-internal: Add console=tty for qemuppc and NFS (2012-04-06 01:12:15 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib mhatle/mips-tune
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/mips-tune
Mark Hatle (1):
tune-mips32: Update the default MIPS tuning to be mips32
meta/conf/machine/include/mips/arch-mips.inc | 13 +++++++++----
meta/conf/machine/include/tune-mips32.inc | 24 +-----------------------
2 files changed, 10 insertions(+), 27 deletions(-)
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/1] tune-mips32: Update the default MIPS tuning to be mips32
2012-04-09 23:31 [PATCH 0/1] MIPS/MIPS32 tune -> MIPS Mark Hatle
@ 2012-04-09 23:31 ` Mark Hatle
2012-04-10 12:35 ` Phil Blundell
2012-04-10 0:14 ` [PATCH 0/1] MIPS/MIPS32 tune -> MIPS Andreas Oberritter
1 sibling, 1 reply; 6+ messages in thread
From: Mark Hatle @ 2012-04-09 23:31 UTC (permalink / raw)
To: openembedded-core
Previously the default mips tuning was defined as "mips1"
internally in the compiler. Revise this and change to "mips32".
This eliminates the need for the mips32 specific tunings, which were
not being used anyway. (They exists and were used, but were not
differentiated by package arch prior to a recent commit.)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
meta/conf/machine/include/mips/arch-mips.inc | 13 +++++++++----
meta/conf/machine/include/tune-mips32.inc | 24 +-----------------------
2 files changed, 10 insertions(+), 27 deletions(-)
diff --git a/meta/conf/machine/include/mips/arch-mips.inc b/meta/conf/machine/include/mips/arch-mips.inc
index 8758ecd..c7768a1 100644
--- a/meta/conf/machine/include/mips/arch-mips.inc
+++ b/meta/conf/machine/include/mips/arch-mips.inc
@@ -28,6 +28,11 @@ TUNEVALID[fpu-hard] = "Use hardware FPU"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", "-mhard-float", "-msoft-float", d)}"
TARGET_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", "", "soft", d)}"
+# mips32 is the default o32 tuning
+TUNEVALID[mips32] = "Enable mips32 specific processor optimizations"
+TUNE_CONFLICTS[mips32] = "n64 n32"
+TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mips32", "-march=mips32", "", d)}"
+
# Package naming
MIPSPKGSFX_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "", "el", d)}"
MIPSPKGSFX_BYTE = "${@bb.utils.contains("TUNE_FEATURES", "n64" , "64", "", d)}"
@@ -40,7 +45,7 @@ TUNE_PKGARCH = "${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPS
# Base tunes
AVAILTUNES += "mips mips64-n32 mips64 mipsel mips64el-n32 mips64el mips-nf mips64-nf-n32 mips64-nf mipsel-nf mips64el-nf-n32 mips64el-nf"
-TUNE_FEATURES_tune-mips = "o32 bigendian fpu-hard"
+TUNE_FEATURES_tune-mips = "mips32 o32 bigendian fpu-hard"
BASE_LIB_tune-mips = "lib"
MIPSPKGSFX_VARIANT_tune-mips = "${TUNE_ARCH}"
PACKAGE_EXTRA_ARCHS_tune-mips = "mips"
@@ -55,7 +60,7 @@ BASE_LIB_tune-mips64 = "lib64"
MIPSPKGSFX_VARIANT_tune-mips64 = "${TUNE_ARCH}"
PACKAGE_EXTRA_ARCHS_tune-mips64 = "mips64"
-TUNE_FEATURES_tune-mipsel = "o32 fpu-hard"
+TUNE_FEATURES_tune-mipsel = "mips32 o32 fpu-hard"
BASE_LIB_tune-mipsel = "lib"
MIPSPKGSFX_VARIANT_tune-mipsel = "${TUNE_ARCH}"
PACKAGE_EXTRA_ARCHS_tune-mipsel = "mipsel"
@@ -70,7 +75,7 @@ BASE_LIB_tune-mips64el = "lib64"
MIPSPKGSFX_VARIANT_tune-mips64el = "${TUNE_ARCH}"
PACKAGE_EXTRA_ARCHS_tune-mips64el = "mips64el"
-TUNE_FEATURES_tune-mips-nf = "o32 bigendian"
+TUNE_FEATURES_tune-mips-nf = "mips32 o32 bigendian"
BASE_LIB_tune-mips-nf = "lib"
MIPSPKGSFX_VARIANT_tune-mips-nf = "${TUNE_ARCH}"
PACKAGE_EXTRA_ARCHS_tune-mips-nf = "mips-nf"
@@ -85,7 +90,7 @@ BASE_LIB_tune-mips64-nf = "lib64"
MIPSPKGSFX_VARIANT_tune-mips64-nf = "${TUNE_ARCH}"
PACKAGE_EXTRA_ARCHS_tune-mips64-nf = "mips64-nf"
-TUNE_FEATURES_tune-mipsel-nf = "o32"
+TUNE_FEATURES_tune-mipsel-nf = "mips32 o32"
BASE_LIB_tune-mipsel-nf = "lib"
MIPSPKGSFX_VARIANT_tune-mipsel-nf = "${TUNE_ARCH}"
PACKAGE_EXTRA_ARCHS_tune-mipsel-nf = "mipsel-nf"
diff --git a/meta/conf/machine/include/tune-mips32.inc b/meta/conf/machine/include/tune-mips32.inc
index 93ed5ee..f7bad90 100644
--- a/meta/conf/machine/include/tune-mips32.inc
+++ b/meta/conf/machine/include/tune-mips32.inc
@@ -1,25 +1,3 @@
-DEFAULTTUNE ?= "mips32"
+DEFAULTTUNE ?= "mips"
require conf/machine/include/mips/arch-mips.inc
-
-TUNEVALID[mips32] = "Enable mips32 specific processor optimizations"
-TUNE_CONFLICTS[mips32] = "n64 n32"
-TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mips32", "-march=mips32", "", d)}"
-
-AVAILTUNES += "mips32 mips32el mips32-nf mips32el-nf"
-
-TUNE_FEATURES_tune-mips32 = "${TUNE_FEATURES_tune-mips} mips32"
-MIPSPKGSFX_VARIANT_tune-mips32 = "mips32"
-PACKAGE_EXTRA_ARCHS_tune-mips32 = "mips mips32"
-
-TUNE_FEATURES_tune-mips32el = "${TUNE_FEATURES_tune-mipsel} mips32"
-MIPSPKGSFX_VARIANT_tune-mips32el = "mips32el"
-PACKAGE_EXTRA_ARCHS_tune-mips32el = "mipsel mips32el"
-
-TUNE_FEATURES_tune-mips32-nf = "${TUNE_FEATURES_tune-mips-nf} mips32"
-MIPSPKGSFX_VARIANT_tune-mips32-nf = "mips32"
-PACKAGE_EXTRA_ARCHS_tune-mips32-nf = "mips-nf mips32-nf"
-
-TUNE_FEATURES_tune-mips32el-nf = "${TUNE_FEATURES_tune-mipsel-nf} mips32"
-MIPSPKGSFX_VARIANT_tune-mips32el-nf = "mips32el"
-PACKAGE_EXTRA_ARCHS_tune-mips32el-nf = "mipsel-nf mips32el-nf"
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 0/1] MIPS/MIPS32 tune -> MIPS
2012-04-09 23:31 [PATCH 0/1] MIPS/MIPS32 tune -> MIPS Mark Hatle
2012-04-09 23:31 ` [PATCH 1/1] tune-mips32: Update the default MIPS tuning to be mips32 Mark Hatle
@ 2012-04-10 0:14 ` Andreas Oberritter
2012-04-10 0:20 ` Mark Hatle
1 sibling, 1 reply; 6+ messages in thread
From: Andreas Oberritter @ 2012-04-10 0:14 UTC (permalink / raw)
To: Mark Hatle; +Cc: openembedded-core
On 10.04.2012 01:31, Mark Hatle wrote:
> The following is in reference to the recent discussion about the mips32
> -package- arch changing from mips to mips32. One of the potential options
> was to get rid of the previous "mips" and replace it with the mips32
> definition standard. This patch does just that.
>
> Working with Khem, we have moved the default "mips" (32-bit) tune to be
> -march=mips32 based, and produce package with the package arch of "mips".
>
> The side effect of this work is that the prior 'mips' tune was actually
> "mips1". I don't believe that was really desired by anyone, but it is a
> change. Also there is no longer a "mips32" tune, just an include file
> that automatically inherits and chooses the "mips" tune.
There's no backwards compatibility, but I'm fine with the new options.
The "mips" tune already gets selected by default in arch-mips.inc, so
you can remove it from tune-mips32.inc. Actually I'd prefer removing
tune-mips32.inc completely, so people will notice the
backwards-incompatible change.
Regards,
Andreas
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/1] MIPS/MIPS32 tune -> MIPS
2012-04-10 0:14 ` [PATCH 0/1] MIPS/MIPS32 tune -> MIPS Andreas Oberritter
@ 2012-04-10 0:20 ` Mark Hatle
0 siblings, 0 replies; 6+ messages in thread
From: Mark Hatle @ 2012-04-10 0:20 UTC (permalink / raw)
To: Andreas Oberritter; +Cc: openembedded-core
On 4/9/12 7:14 PM, Andreas Oberritter wrote:
> On 10.04.2012 01:31, Mark Hatle wrote:
>> The following is in reference to the recent discussion about the mips32
>> -package- arch changing from mips to mips32. One of the potential options
>> was to get rid of the previous "mips" and replace it with the mips32
>> definition standard. This patch does just that.
>>
>> Working with Khem, we have moved the default "mips" (32-bit) tune to be
>> -march=mips32 based, and produce package with the package arch of "mips".
>>
>> The side effect of this work is that the prior 'mips' tune was actually
>> "mips1". I don't believe that was really desired by anyone, but it is a
>> change. Also there is no longer a "mips32" tune, just an include file
>> that automatically inherits and chooses the "mips" tune.
>
> There's no backwards compatibility, but I'm fine with the new options.
> The "mips" tune already gets selected by default in arch-mips.inc, so
> you can remove it from tune-mips32.inc. Actually I'd prefer removing
> tune-mips32.inc completely, so people will notice the
> backwards-incompatible change.
This is backwards compatible if someone was previously including the mips32
tune. It only "breaks" if someone was setting the default tune to "mips32" or
"mips32el" manually.
If that is a concern, then adding a:
TUNE_FEATURES_tune-mips32 = "${TUNE_FEATURES_tune-mips}"
MIPSPKGSFX_VARIANT_tune-mips32 = "${MIPSPKGSFX_VARIANT_tune-mips}"
PACKAGE_EXTRA_ARCHS_tune-mips32 = "${PACKAGE_EXTRA_ARCHS_tune-mips}"
(and the same for mips32el). That would ensure that they remain the same, and
that the package arch of "mips" can't deviate.
--Mark
> Regards,
> Andreas
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] tune-mips32: Update the default MIPS tuning to be mips32
2012-04-09 23:31 ` [PATCH 1/1] tune-mips32: Update the default MIPS tuning to be mips32 Mark Hatle
@ 2012-04-10 12:35 ` Phil Blundell
2012-04-10 12:37 ` Phil Blundell
0 siblings, 1 reply; 6+ messages in thread
From: Phil Blundell @ 2012-04-10 12:35 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
On Mon, 2012-04-09 at 18:31 -0500, Mark Hatle wrote:
> Previously the default mips tuning was defined as "mips1"
> internally in the compiler. Revise this and change to "mips32".
>
> This eliminates the need for the mips32 specific tunings, which were
> not being used anyway. (They exists and were used, but were not
> differentiated by package arch prior to a recent commit.)
This change is slightly more far-reaching than the description above
suggests, in that it isn't just changing the default tuning: it seems
actually to remove the ability to tune for pre-mips32 altogether.
Obviously there's nothing to stop anybody creating tune files for
earlier MIPS in some other BSP layer, but this is a feature that exists
in oe-core today and would be removed by this patch.
Also, the second paragraph of your checkin message above doesn't make a
lot of sense. In the first sentence you say that the mips32 tunings
were not being used, and then in the second sentence you say that they
were. It doesn't seem that both those statements can logically be true.
And, finally, the checkin message doesn't make it entirely clear why
this change represents an improvement, i.e. why MIPS32 is a better
default tune than MIPS I.
p.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] tune-mips32: Update the default MIPS tuning to be mips32
2012-04-10 12:35 ` Phil Blundell
@ 2012-04-10 12:37 ` Phil Blundell
0 siblings, 0 replies; 6+ messages in thread
From: Phil Blundell @ 2012-04-10 12:37 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
On Tue, 2012-04-10 at 13:35 +0100, Phil Blundell wrote:
> On Mon, 2012-04-09 at 18:31 -0500, Mark Hatle wrote:
> > Previously the default mips tuning was defined as "mips1"
> > internally in the compiler. Revise this and change to "mips32".
> >
> > This eliminates the need for the mips32 specific tunings, which were
> > not being used anyway. (They exists and were used, but were not
> > differentiated by package arch prior to a recent commit.)
>
> This change is slightly more far-reaching than the description above
> suggests, in that it isn't just changing the default tuning: it seems
> actually to remove the ability to tune for pre-mips32 altogether.
> Obviously there's nothing to stop anybody creating tune files for
> earlier MIPS in some other BSP layer, but this is a feature that exists
> in oe-core today and would be removed by this patch.
I also meant to ask: just to be absolutely clear, will MIPS32-tuned code
still run on older cores? That is, if someone is targetting (say) MIPS
IV today, is this going to break their system?
p.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-04-10 12:46 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-09 23:31 [PATCH 0/1] MIPS/MIPS32 tune -> MIPS Mark Hatle
2012-04-09 23:31 ` [PATCH 1/1] tune-mips32: Update the default MIPS tuning to be mips32 Mark Hatle
2012-04-10 12:35 ` Phil Blundell
2012-04-10 12:37 ` Phil Blundell
2012-04-10 0:14 ` [PATCH 0/1] MIPS/MIPS32 tune -> MIPS Andreas Oberritter
2012-04-10 0:20 ` Mark Hatle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox