* [PATCH 1/2] tunes: Add new tune files for cortexa55 and cortexa73-cortexa53
@ 2020-05-05 23:33 Khem Raj
2020-05-05 23:33 ` [PATCH 2/2] gcc-runtime: Avoid march conflicts with newer cortex-a55 CPUs Khem Raj
0 siblings, 1 reply; 3+ messages in thread
From: Khem Raj @ 2020-05-05 23:33 UTC (permalink / raw)
To: openembedded-core; +Cc: Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/conf/machine/include/tune-cortexa55.inc | 17 ++++++++++++++
.../include/tune-cortexa73-cortexa53.inc | 23 +++++++++++++++++++
2 files changed, 40 insertions(+)
create mode 100644 meta/conf/machine/include/tune-cortexa55.inc
create mode 100644 meta/conf/machine/include/tune-cortexa73-cortexa53.inc
diff --git a/meta/conf/machine/include/tune-cortexa55.inc b/meta/conf/machine/include/tune-cortexa55.inc
new file mode 100644
index 0000000000..8242cc9cef
--- /dev/null
+++ b/meta/conf/machine/include/tune-cortexa55.inc
@@ -0,0 +1,17 @@
+DEFAULTTUNE ?= "cortexa55"
+
+TUNEVALID[cortexa55] = "Enable Cortex-A55 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa55', ' -mcpu=cortex-a55', '', d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Little Endian base configs
+AVAILTUNES += "cortexa55 cortexa55-crypto"
+ARMPKGARCH_tune-cortexa55 = "cortexa55"
+ARMPKGARCH_tune-cortexa55-crypto = "cortexa55"
+TUNE_FEATURES_tune-cortexa55 = "aarch64 cortexa55 crc"
+TUNE_FEATURES_tune-cortexa55-crypto = "aarch64 cortexa55 crc crypto"
+PACKAGE_EXTRA_ARCHS_tune-cortexa55 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa55"
+PACKAGE_EXTRA_ARCHS_tune-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa55 cortexa55-crypto"
+BASE_LIB_tune-cortexa55 = "lib64"
+BASE_LIB_tune-cortexa55-crypto = "lib64"
diff --git a/meta/conf/machine/include/tune-cortexa73-cortexa53.inc b/meta/conf/machine/include/tune-cortexa73-cortexa53.inc
new file mode 100644
index 0000000000..8df418227f
--- /dev/null
+++ b/meta/conf/machine/include/tune-cortexa73-cortexa53.inc
@@ -0,0 +1,23 @@
+DEFAULTTUNE ?= "cortexa73-cortexa53"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+TUNEVALID[cortexa73-cortexa53] = "Enable big.LITTLE Cortex-A73.Cortex-A53 specific processor optimizations"
+
+TUNECONFLICTS[aarch64] = "armv4 armv5 armv6 armv7 armv7a"
+
+MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", "cortexa73-cortexa53:", "" ,d)}"
+
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", " -mtune=cortex-a73.cortex-a53", "", d)}"
+
+# cortexa73.cortexa53 implies crc support
+AVAILTUNES += "cortexa73-cortexa53 cortexa73-cortexa53-crypto"
+ARMPKGARCH_tune-cortexa73-cortexa53 = "cortexa73-cortexa53"
+ARMPKGARCH_tune-cortexa73-cortexa53-crypto = "cortexa73-cortexa53"
+TUNE_FEATURES_tune-cortexa73-cortexa53 = "${TUNE_FEATURES_tune-armv8a-crc} cortexa73-cortexa53"
+TUNE_FEATURES_tune-cortexa73-cortexa53-crypto = "${TUNE_FEATURES_tune-armv8a-crc-crypto} cortexa73-cortexa53"
+PACKAGE_EXTRA_ARCHS_tune-cortexa73-cortexa53 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa73-cortexa53"
+PACKAGE_EXTRA_ARCHS_tune-cortexa73-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa73-cortexa53 cortexa73-cortexa53-crypto"
+BASE_LIB_tune-cortexa73-cortexa53 = "lib64"
+BASE_LIB_tune-cortexa73-cortexa53-crypto = "lib64"
+
--
2.26.2
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH 2/2] gcc-runtime: Avoid march conflicts with newer cortex-a55 CPUs
2020-05-05 23:33 [PATCH 1/2] tunes: Add new tune files for cortexa55 and cortexa73-cortexa53 Khem Raj
@ 2020-05-05 23:33 ` Khem Raj
2020-05-05 23:54 ` [OE-core] " Andre McCurdy
0 siblings, 1 reply; 3+ messages in thread
From: Khem Raj @ 2020-05-05 23:33 UTC (permalink / raw)
To: openembedded-core; +Cc: Khem Raj
gcc-runtime/libatomic explicitly add -march=armv8-a+lse for all arch64
but cortex-a55 is armv8.2-a, which essentially conflicts, so let gcc
override it by not forcing the -mcpu option from TUNE_CCARGS
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-devtools/gcc/gcc-runtime.inc | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index ace706dbf4..547644572a 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -18,6 +18,10 @@ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
EXTRA_OECONF_append = " --cache-file=${B}/config.cache"
EXTRA_OECONF_append_libc-newlib = " --with-newlib"
+# A55 is ARMv82.1 based but libatomic explicitly asks for -march=armv8.1a
+# which caused march conflicts in gcc
+TUNE_CCARGS_remove = "-mcpu=cortex-a55+crc cortex-a55 -mcpu=cortex-a55+crc+crypto"
+
# Disable ifuncs for libatomic on arm conflicts -march/-mcpu
EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no "
EXTRA_OECONF_append_armeb = " libat_cv_have_ifunc=no "
--
2.26.2
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [OE-core] [PATCH 2/2] gcc-runtime: Avoid march conflicts with newer cortex-a55 CPUs
2020-05-05 23:33 ` [PATCH 2/2] gcc-runtime: Avoid march conflicts with newer cortex-a55 CPUs Khem Raj
@ 2020-05-05 23:54 ` Andre McCurdy
0 siblings, 0 replies; 3+ messages in thread
From: Andre McCurdy @ 2020-05-05 23:54 UTC (permalink / raw)
To: Khem Raj; +Cc: OE Core mailing list
On Tue, May 5, 2020 at 4:33 PM Khem Raj <raj.khem@gmail.com> wrote:
>
> gcc-runtime/libatomic explicitly add -march=armv8-a+lse for all arch64
> but cortex-a55 is armv8.2-a, which essentially conflicts, so let gcc
> override it by not forcing the -mcpu option from TUNE_CCARGS
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> meta/recipes-devtools/gcc/gcc-runtime.inc | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
> index ace706dbf4..547644572a 100644
> --- a/meta/recipes-devtools/gcc/gcc-runtime.inc
> +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
> @@ -18,6 +18,10 @@ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
> EXTRA_OECONF_append = " --cache-file=${B}/config.cache"
> EXTRA_OECONF_append_libc-newlib = " --with-newlib"
>
> +# A55 is ARMv82.1 based but libatomic explicitly asks for -march=armv8.1a
Typo.
> +# which caused march conflicts in gcc
> +TUNE_CCARGS_remove = "-mcpu=cortex-a55+crc cortex-a55 -mcpu=cortex-a55+crc+crypto"
Do you mean "-mcpu=cortex-a55" instead of just "cortex-a55" ?
> +
> # Disable ifuncs for libatomic on arm conflicts -march/-mcpu
> EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no "
> EXTRA_OECONF_append_armeb = " libat_cv_have_ifunc=no "
> --
> 2.26.2
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-05-05 23:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-05 23:33 [PATCH 1/2] tunes: Add new tune files for cortexa55 and cortexa73-cortexa53 Khem Raj
2020-05-05 23:33 ` [PATCH 2/2] gcc-runtime: Avoid march conflicts with newer cortex-a55 CPUs Khem Raj
2020-05-05 23:54 ` [OE-core] " Andre McCurdy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox