<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Mar 2, 2016 at 11:35 AM, Dragomir Daniel <span dir="ltr"><<a href="mailto:daniel.dragomir@windriver.com" target="_blank">daniel.dragomir@windriver.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
Hi Andrei,<div><div class="h5"><br>
<br>
<div>On 03/02/2016 02:17 AM, Andrei Gherzan
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">Hi Daniel,<br>
<br>
<div class="gmail_quote">On Sat, Feb 27, 2016 at 1:44 PM,
Daniel Dragomir <span dir="ltr"><<a href="mailto:daniel.dragomir@windriver.com" target="_blank"></a><a href="mailto:daniel.dragomir@windriver.com" target="_blank">daniel.dragomir@windriver.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">This
patch adds tunes for 32-bit armv8 platforms. The user can
select<br>
the vector floating-point instruction set: vfpv3, vfpv4 or
fp-armv8<br>
and the Neon, crc and crypto extensions.<br>
<br>
Also, fix some parsing failures for armv7a*-neon-vfpv4
tunes.<br>
<br>
Signed-off-by: Daniel Dragomir <<a href="mailto:daniel.dragomir@windriver.com" target="_blank"></a><a href="mailto:daniel.dragomir@windriver.com" target="_blank">daniel.dragomir@windriver.com</a>><br>
Signed-off-by: Cristian Bercaru <cristian.bercaru at <a href="http://windriver.com" rel="noreferrer" target="_blank">windriver.com</a>><br>
---<br>
meta/conf/machine/include/arm/arch-armv7a.inc | 4 +-<br>
meta/conf/machine/include/arm/arch-armv8a.inc | 75
+++++++++++++++++++++++++++<br>
2 files changed, 77 insertions(+), 2 deletions(-)<br>
create mode 100644
meta/conf/machine/include/arm/arch-armv8a.inc<br>
<br>
diff --git a/meta/conf/machine/include/arm/arch-armv7a.inc
b/meta/conf/machine/include/arm/arch-armv7a.inc<br>
index d3b6f64..ff6bc29 100644<br>
--- a/meta/conf/machine/include/arm/arch-armv7a.inc<br>
+++ b/meta/conf/machine/include/arm/arch-armv7a.inc<br>
@@ -65,8 +65,8 @@ PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3
= "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-v<br>
PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3 =
"${PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3d16}
armv7ahf-vfp-vfpv3d16-vfpv3 armv7at2hf-vfp-vfpv3d16-vfpv3"<br>
PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon =
"${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfp-neon"<br>
PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon =
"${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfp-neon
armv7at2hf-vfp-neon"<br>
-PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4 =
"${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon}
armv7ahf-vfp-neon-vfpv4"<br>
-PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4 =
"${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon}
armv7ahf-vfp-neon-vfpv4 armv7at2hf-vfp-neon-vfpv4"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4 =
"${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon}
armv7ahf-vfp-vfpv4-neon"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4 =
"${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon}
armv7ahf-vfp-vfpv4-neon armv7at2hf-vfp-neon-vfpv4"<br>
<br>
# Big Endian<br>
AVAILTUNES += "armv7ab armv7atb armv7ab-vfpv3d16
armv7atb-vfpv3d16 armv7ab-vfpv3 armv7atb-vfpv3
armv7ab-neon armv7atb-neon"<br>
diff --git a/meta/conf/machine/include/arm/arch-armv8a.inc
b/meta/conf/machine/include/arm/arch-armv8a.inc<br>
new file mode 100644<br>
index 0000000..2d8dd73<br>
--- /dev/null<br>
+++ b/meta/conf/machine/include/arm/arch-armv8a.inc<br>
@@ -0,0 +1,75 @@<br>
+DEFAULTTUNE ?= "armv8a"<br>
+<br>
+TUNEVALID[armv8a] = "Enable instructions for ARMv8-a"<br>
+TUNECONFLICTS[armv8a] = "armv4 armv5 armv6 armv7 armv7a"<br>
+<br>
+TUNEVALID[crc] = "Enable CRC instrucitons for ARMv8-a"<br>
</blockquote>
<div><br>
</div>
<div>Small typo here: instrucitons .</div>
</div>
</div>
</div>
</blockquote>
<br></div></div>
Thanks! Didn't noticed :)<div><div class="h5"><br></div></div></div></blockquote><div><br></div><div>Welcome.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF"><div><div class="h5">
<br>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">+ARMPKGSFX_FPU
.= <a href="mailto:$%7B@bb.utils.contains(" target="_blank">"${@bb.utils.contains("</a>TUNE_FEATURES", "crc", "-crc",
"", d)}"<br>
+<br>
+TUNEVALID[crypto] = "Enable ARMv8 crypto extension."<br>
+ARMPKGSFX_FPU .= <a href="mailto:$%7B@bb.utils.contains(" target="_blank">"${@bb.utils.contains("</a>TUNE_FEATURES",
"crypto", "-crypto", "", d)}"<br>
+<br>
+TUNEVALID[fp-armv8] = "Enable ARMv8 Vector Floating Point
unit."<br>
+ARMPKGSFX_FPU .= <a href="mailto:$%7B@bb.utils.contains(" target="_blank">"${@bb.utils.contains("</a>TUNE_FEATURES",
"fp-armv8", "-fp-armv8", "", d)}"<br>
+<br>
+TUNE_CCARGS .= <a href="mailto:$%7B@bb.utils.contains(" target="_blank">"${@bb.utils.contains("</a>TUNE_FEATURES",
"armv8a", bb.utils.contains("TUNE_FEATURES", "crc", "
-march=armv8-a+crc", " -march=armv8-a", d), "", d)}"<br>
+<br>
+TUNE_CCARGS .= <a href="mailto:$%7B@bb.utils.contains(" target="_blank">"${@bb.utils.contains("</a>TUNE_FEATURES",
"fp-armv8", bb.utils.contains("TUNE_FEATURES", "neon",
bb.utils.contains("TUNE_FEATURES", "crypto", "
-mfpu=crypto-neon-fp-armv8", " -mfpu=neon-fp-armv8", d), "
-mfpu=fp-armv8", d), "", d)}"<br>
+<br>
+MACHINEOVERRIDES =.
<a href="mailto:$%7B@bb.utils.contains(" target="_blank">"${@bb.utils.contains("</a>TUNE_FEATURES", "armv8a",
"armv8a:", "" ,d)}"<br>
+<br>
+require conf/machine/include/arm/arch-armv7a.inc<br>
+<br>
+# Little Endian base configs<br>
+AVAILTUNES += "armv8a armv8a-vfpv3 armv8a-neon
armv8a-vfpv4 armv8a-vfpv4-neon armv8a-fp-armv8
armv8a-fp-armv8-neon armv8a-crypto-fp-armv8-neon"<br>
+ARMPKGARCH_tune-armv8a ?= "armv8a"<br>
+ARMPKGARCH_tune-armv8a-vfpv3 ?= "armv8a"<br>
+ARMPKGARCH_tune-armv8a-neon ?= "armv8a"<br>
+ARMPKGARCH_tune-armv8a-vfpv4 ?= "armv8a"<br>
+ARMPKGARCH_tune-armv8a-vfpv4-neon ?= "armv8a"<br>
+ARMPKGARCH_tune-armv8a-fp-armv8 ?= "armv8a"<br>
+ARMPKGARCH_tune-armv8a-fp-armv8-neon ?= "armv8a"<br>
+ARMPKGARCH_tune-armv8a-crypto-fp-armv8-neon ?= "armv8a"<br>
+TUNE_FEATURES_tune-armv8a ?= "arm armv8a vfp"<br>
+TUNE_FEATURES_tune-armv8a-vfpv3 ?=
"${TUNE_FEATURES_tune-armv8a} vfpv3"<br>
+TUNE_FEATURES_tune-armv8a-neon ?=
"${TUNE_FEATURES_tune-armv8a} neon"<br>
+TUNE_FEATURES_tune-armv8a-vfpv4 ?=
"${TUNE_FEATURES_tune-armv8a} vfpv4"<br>
+TUNE_FEATURES_tune-armv8a-vfpv4-neon ?=
"${TUNE_FEATURES_tune-armv8a} neon vfpv4"<br>
+TUNE_FEATURES_tune-armv8a-fp-armv8 ?=
"${TUNE_FEATURES_tune-armv8a} fp-armv8"<br>
+TUNE_FEATURES_tune-armv8a-fp-armv8-neon ?=
"${TUNE_FEATURES_tune-armv8a} neon fp-armv8"<br>
+TUNE_FEATURES_tune-armv8a-crypto-fp-armv8-neon ?=
"${TUNE_FEATURES_tune-armv8a} crypto neon fp-armv8"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a =
"${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv8a armv8a-vfp"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv3 =
"${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-vfp-vfpv3"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-neon =
"${PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv3} armv8a-vfp-neon"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv4 =
"${PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv3}
armv8a-vfp-vfpv4"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv4-neon =
"${PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv4} armv8a-vfp-neon
armv8a-vfp-vfpv4-neon"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-fp-armv8 =
"${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-fp-armv8-vfp"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-fp-armv8-neon =
"${PACKAGE_EXTRA_ARCHS_tune-armv8a-fp-armv8}
armv8a-vfp-neon armv8a-fp-armv8-vfp-neon"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-crypto-fp-armv8-neon =
"${PACKAGE_EXTRA_ARCHS_tune-armv8a-fp-armv8-neon}
armv8a-crypto-fp-armv8-vfp-neon"<br>
+<br>
+# CRC configs<br>
+AVAILTUNES += "armv8a-crc armv8a-crc-vfpv3
armv8a-crc-neon armv8a-crc-vfpv4 armv8a-crc-vfpv4-neon
armv8a-crc-fp-armv8 armv8a-crc-fp-armv8-neon
armv8a-crc-crypto-fp-armv8-neon"<br>
+ARMPKGARCH_tune-armv8a-crc ?= "armv8a"<br>
+ARMPKGARCH_tune-armv8a-crc-vfpv3 ?= "armv8a"<br>
+ARMPKGARCH_tune-armv8a-crc-neon ?= "armv8a"<br>
+ARMPKGARCH_tune-armv8a-crc-vfpv4 ?= "armv8a"<br>
+ARMPKGARCH_tune-armv8a-crc-vfpv4-neon ?= "armv8a"<br>
+ARMPKGARCH_tune-armv8a-crc-fp-armv8 ?= "armv8a"<br>
+ARMPKGARCH_tune-armv8a-crc-fp-armv8-neon ?= "armv8a"<br>
+ARMPKGARCH_tune-armv8a-crc-crypto-fp-armv8-neon ?=
"armv8a"<br>
+TUNE_FEATURES_tune-armv8a-crc ?=
"${TUNE_FEATURES_tune-armv8a} crc"<br>
+TUNE_FEATURES_tune-armv8a-crc-vfpv3 ?=
"${TUNE_FEATURES_tune-armv8a-vfpv3} crc"<br>
+TUNE_FEATURES_tune-armv8a-crc-neon ?=
"${TUNE_FEATURES_tune-armv8a-neon} crc"<br>
+TUNE_FEATURES_tune-armv8a-crc-vfpv4 ?=
"${TUNE_FEATURES_tune-armv8a-vfpv4} crc"<br>
+TUNE_FEATURES_tune-armv8a-crc-vfpv4-neon ?=
"${TUNE_FEATURES_tune-armv8a-vfpv4-neon} crc"<br>
+TUNE_FEATURES_tune-armv8a-crc-fp-armv8 ?=
"${TUNE_FEATURES_tune-armv8a-fp-armv8} crc"<br>
+TUNE_FEATURES_tune-armv8a-crc-fp-armv8-neon ?=
"${TUNE_FEATURES_tune-armv8a-fp-armv8-neon} crc"<br>
+TUNE_FEATURES_tune-armv8a-crc-crypto-fp-armv8-neon ?=
"${TUNE_FEATURES_tune-armv8a-crypto-fp-armv8-neon} crc"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-crc =
"${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-crc-vfp"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-vfpv3 =
"${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} armv8a-vfp-vfpv3
armv8a-crc-vfp-vfpv3"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-neon =
"${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-vfpv3}
armv8a-vfp-neon armv8a-crc-vfp-neon"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-vfpv4 =
"${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-vfpv3}
armv8a-vfp-vfpv4 armv8a-crc-vfp-vfpv4"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-vfpv4-neon =
"${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-vfpv4}
armv8a-vfp-neon armv8a-crc-vfp-neon armv8a-vfp-vfpv4-neon
armv8a-crc-vfp-vfpv4-neon"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-fp-armv8 =
"${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc}
armv8a-vfp-fp-armv8 armv8a-crc-fp-armv8-vfp"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-fp-armv8-neon =
"${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-fp-armv8}
armv8a-vfp-neon armv8a-vfp-neon-fp-armv8
armv8a-crc-fp-armv8-vfp-neon"<br>
+PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto-fp-armv8-neon
= "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-fp-armv8-neon}
armv8a-vfp-crypto-neon-fp-armv8
armv8a-crc-crypto-fp-armv8-vfp-neon"<br>
<span><font color="#888888"><br>
</font></span></blockquote>
<div><br>
</div>
<div>Any plans for 64 bit version?</div>
<div><br>
</div>
<div>Andrei </div>
</div>
<br>
</div>
</div>
</blockquote>
<br></div></div>
Yes, we have plans to add specific tunes for armv8 64bit too, but
after we finish for 32bit.<br>
For the moment, for 64bit, we simply include arch-armv8.inc witch
only require arch-arm64.inc.<br><br></div></blockquote><div><br></div><div>I am aware of those tunes but they don't include all the features. Thanks for the heads up. I was about to look into these but I'll wait for you to push it and will review. </div><div><br></div><div>Cheers!</div></div><br></div></div>