summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine
diff options
context:
space:
mode:
authorRuiqiang Hao <Ruiqiang.Hao@windriver.com>2022-09-21 11:21:10 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-09-28 08:02:11 +0100
commit5fd12627d022fd46c51343618779094b21253ab8 (patch)
treec578771502ad55c8baeeac86c48738740696f628 /meta/conf/machine
parent1e779dbf2a6579b4e58e39154597ac68a5b4d2ca (diff)
downloadpoky-5fd12627d022fd46c51343618779094b21253ab8.tar.gz
tune-neoversen2: support tune-neoversen2 base on armv9a
We supported neoversen2 base on armv8.5a in the past, add tune include for armv9a and support neoversen2 base on armv9a. (From OE-Core rev: 278c50d18ac6b92d43778f9b797ab5999ae869ad) Signed-off-by: Ruiqiang Hao <Ruiqiang.Hao@windriver.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine')
-rw-r--r--meta/conf/machine/include/arm/arch-armv9a.inc28
-rw-r--r--meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc10
2 files changed, 32 insertions, 6 deletions
diff --git a/meta/conf/machine/include/arm/arch-armv9a.inc b/meta/conf/machine/include/arm/arch-armv9a.inc
new file mode 100644
index 0000000000..c38d6cfdf6
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv9a.inc
@@ -0,0 +1,28 @@
1DEFAULTTUNE ?= "armv9a-crc"
2
3TUNEVALID[armv9a] = "Enable instructions for ARMv9-a"
4TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', ' -march=armv9-a', '', d)}"
5MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', 'armv9a:', '', d)}"
6
7require conf/machine/include/arm/arch-arm64.inc
8require conf/machine/include/arm/feature-arm-crc.inc
9require conf/machine/include/arm/feature-arm-crypto.inc
10
11# Little Endian base configs
12AVAILTUNES += "armv9a armv9a-crc armv9a-crc-crypto armv9a-crypto"
13ARMPKGARCH:tune-armv9a ?= "armv9a"
14ARMPKGARCH:tune-armv9a-crc ?= "armv9a"
15ARMPKGARCH:tune-armv9a-crypto ?= "armv9a"
16ARMPKGARCH:tune-armv9a-crc-crypto ?= "armv9a"
17TUNE_FEATURES:tune-armv9a = "aarch64 armv9a"
18TUNE_FEATURES:tune-armv9a-crc = "${TUNE_FEATURES:tune-armv9a} crc"
19TUNE_FEATURES:tune-armv9a-crypto = "${TUNE_FEATURES:tune-armv9a} crypto"
20TUNE_FEATURES:tune-armv9a-crc-crypto = "${TUNE_FEATURES:tune-armv9a-crc} crypto"
21PACKAGE_EXTRA_ARCHS:tune-armv9a = "aarch64 armv9a"
22PACKAGE_EXTRA_ARCHS:tune-armv9a-crc = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crc"
23PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crypto"
24PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crc} armv9a-crypto armv9a-crc-crypto"
25BASE_LIB:tune-armv9a = "lib64"
26BASE_LIB:tune-armv9a-crc = "lib64"
27BASE_LIB:tune-armv9a-crypto = "lib64"
28BASE_LIB:tune-armv9a-crc-crypto = "lib64"
diff --git a/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc b/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc
index 36355f7bed..d26ab25e48 100644
--- a/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc
+++ b/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc
@@ -6,17 +6,15 @@ DEFAULTTUNE ?= "neoversen2"
6TUNEVALID[neoversen2] = "Enable Neoverse-N2 specific processor optimizations" 6TUNEVALID[neoversen2] = "Enable Neoverse-N2 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversen2', ' -mcpu=neoverse-n2', '', d)}" 7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversen2', ' -mcpu=neoverse-n2', '', d)}"
8 8
9# Even though the Neoverse N2 core implemnts the Arm v9.0-A architecture, 9require conf/machine/include/arm/arch-armv9a.inc
10# but the support of it in GCC is based on the Arm v8.5-A architecture.
11require conf/machine/include/arm/arch-armv8-5a.inc
12 10
13# Little Endian base configs 11# Little Endian base configs
14AVAILTUNES += "neoversen2 neoversen2-crypto" 12AVAILTUNES += "neoversen2 neoversen2-crypto"
15ARMPKGARCH:tune-neoversen2 = "neoversen2" 13ARMPKGARCH:tune-neoversen2 = "neoversen2"
16ARMPKGARCH:tune-neoversen2-crypto = "neoversen2-crypto" 14ARMPKGARCH:tune-neoversen2-crypto = "neoversen2-crypto"
17TUNE_FEATURES:tune-neoversen2 = "${TUNE_FEATURES:tune-armv8-5a} neoversen2" 15TUNE_FEATURES:tune-neoversen2 = "${TUNE_FEATURES:tune-armv9a} neoversen2"
18TUNE_FEATURES:tune-neoversen2-crypto = "${TUNE_FEATURES:tune-neoversen2} crypto" 16TUNE_FEATURES:tune-neoversen2-crypto = "${TUNE_FEATURES:tune-neoversen2} crypto"
19PACKAGE_EXTRA_ARCHS:tune-neoversen2 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a} neoversen2" 17PACKAGE_EXTRA_ARCHS:tune-neoversen2 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} neoversen2"
20PACKAGE_EXTRA_ARCHS:tune-neoversen2-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto} neoversen2 neoversen2-crypto" 18PACKAGE_EXTRA_ARCHS:tune-neoversen2-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} neoversen2 neoversen2-crypto"
21BASE_LIB:tune-neoversen2 = "lib64" 19BASE_LIB:tune-neoversen2 = "lib64"
22BASE_LIB:tune-neoversen2-crypto = "lib64" 20BASE_LIB:tune-neoversen2-crypto = "lib64"