Skip to contentSkip to conversation

tune-i586-nlp: Add new tune file to support Quark/X1000 CPU

PATCH In review Saul Wold 4 participants 5 messages Jun 23, 2015 – Jun 24, 2015

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

PATCH 1/1 tune-i586-nlp: Add new tune file to support Quark/X1000 CPU

This tune file is needed to enable a GAS option specific to this cpu family in order to disable the usage of lock prefix instructions.

---
 meta/conf/machine/include/tune-i586-nlp.inc | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 meta/conf/machine/include/tune-i586-nlp.inc
meta/conf/machine/include/tune-i586-nlp.inc new file +20 -0
new file mode 100644
index 0000000..6815a16
@@ -0,0 +1,20 @@
+#
+# Settings for the GAS(1) cpu-type quark/x1000 which has issues
+# with lock-prefix so use that option to omit them.
+#
+
+DEFAULTTUNE ?= "i586-nlp"
+
+# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
+require conf/machine/include/tune-i586.inc
+
+# x86 with no lock prefix
+TUNEVALID[nlp] = "IA32 with Lock Prefix omitted"
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "nlp", " -Wa,-momit-lock-prefix=yes", "", d)}"
+
+# Quark tune feature 
+AVAILTUNES = "i586-nlp"
+TUNE_FEATURES_tune-i586-nlp = "${TUNE_FEATURES_tune-i586} nlp"
+TUNE_PKGARCH_tune-i586-nlp = "i586-nlp"
+PACKAGE_EXTRA_ARCHS_tune-i586-nlp = "${PACKAGE_EXTRA_ARCHS_tune-i586} i586-nlp"
+
Signature · 1 line
2.1.0
#1 lore raw
Quoted 24 lines · Saul Wold

This tune file is needed to enable a GAS option specific to this cpu family in order to disable the usage of lock prefix instructions.

---
 meta/conf/machine/include/tune-i586-nlp.inc | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 meta/conf/machine/include/tune-i586-nlp.inc
meta/conf/machine/include/tune-i586-nlp.inc new file +9 -0
new file mode 100644
index 0000000..6815a16
@@ -0,0 +1,20 @@
+#
+# Settings for the GAS(1) cpu-type quark/x1000 which has issues
+# with lock-prefix so use that option to omit them.
+#
+
+DEFAULTTUNE ?= "i586-nlp"
+
+# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
+require conf/machine/include/tune-i586.inc

meta/conf/machine/include/tune-i586-nlp.inc line 19

Quoted 10 lines
meta/conf/machine/include/tune-i586-nlp.inc new file +10 -0
+
+# x86 with no lock prefix
+TUNEVALID[nlp] = "IA32 with Lock Prefix omitted"
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "nlp", " -Wa,-momit-lock-prefix=yes", "", d)}"
+
+# Quark tune feature 
+AVAILTUNES = "i586-nlp"
+TUNE_FEATURES_tune-i586-nlp = "${TUNE_FEATURES_tune-i586} nlp"
+TUNE_PKGARCH_tune-i586-nlp = "i586-nlp"
+PACKAGE_EXTRA_ARCHS_tune-i586-nlp = "${PACKAGE_EXTRA_ARCHS_tune-i586} i586-nlp"

Since i586 doesn't work with this hardware, should this inherit the i586 tune?

Cheers,

Richard

#2 lore raw
Quoted 34 lines · Richard Purdie
Quoted 33 lines · Saul Wold

This tune file is needed to enable a GAS option specific to this cpu family
in order to disable the usage of lock prefix instructions.

---
 meta/conf/machine/include/tune-i586-nlp.inc | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 meta/conf/machine/include/tune-i586-nlp.inc
meta/conf/machine/include/tune-i586-nlp.inc new file +15 -1
new file mode 100644
index 0000000..6815a16
@@ -0,0 +1,20 @@
+#
+# Settings for the GAS(1) cpu-type quark/x1000 which has issues
+# with lock-prefix so use that option to omit them.
+#
+
+DEFAULTTUNE ?= "i586-nlp"
+
+# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
+require conf/machine/include/tune-i586.inc
+
+# x86 with no lock prefix
+TUNEVALID[nlp] = "IA32 with Lock Prefix omitted"
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "nlp", "
-Wa,-momit-lock-prefix=yes", "", d)}"
+
+# Quark tune feature
Quoted 8 lines
Quoted 5 lines
meta/conf/machine/include/tune-i586-nlp.inc new file +4 -0
+AVAILTUNES = "i586-nlp"
+TUNE_FEATURES_tune-i586-nlp = "${TUNE_FEATURES_tune-i586} nlp"
+TUNE_PKGARCH_tune-i586-nlp = "i586-nlp"
+PACKAGE_EXTRA_ARCHS_tune-i586-nlp = "${PACKAGE_EXTRA_ARCHS_tune-i586}

i586-nlp"

Since i586 doesn't work with this hardware, should this inherit the i586 tune?

Hrm... The thing we need to avoid is quark machines accepting an i586 package in lieu of a i586-nlp package. I don't think that's a problem here is it? The PACKAGE_EXTRA_ARCHS makes it so the i586-nlp package can be used on machines that require i586, but not vice versa - correct?

I don't see a conflict here, but maybe I'm missing something.

Signature · 2 lines
Darren Hart
Intel Open Source Technology Center
#3 lore raw
Quoted 4 lines · Darren Hart

Hrm... The thing we need to avoid is quark machines accepting an i586 package in lieu of a i586-nlp package. I don't think that's a problem here is it? The PACKAGE_EXTRA_ARCHS makes it so the i586-nlp package can be used on machines that require i586, but not vice versa - correct?

No, exactly the opposite to that.

p.

#4 lore raw
Quoted 8 lines · Phil Blundell
Quoted 5 lines · Darren Hart

Hrm... The thing we need to avoid is quark machines accepting an i586 package in lieu of a i586-nlp package. I don't think that's a problem here
is it? The PACKAGE_EXTRA_ARCHS makes it so the i586-nlp package can be used on machines that require i586, but not vice versa - correct?

No, exactly the opposite to that.

Right, duh. For some reason I was looking at this from the wrong angle yesterday I guess.

Signature · 2 lines
Darren Hart
Intel Open Source Technology Center