diff options
author | Ruiqiang Hao <Ruiqiang.Hao@windriver.com> | 2022-09-15 16:56:50 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-09-21 09:20:49 +0100 |
commit | f142d6440ed21da246ff3c784bb9fb128a48667b (patch) | |
tree | 98458fc4aedeb36b29ef6483be822d9f163b58b7 /meta/conf | |
parent | 31565c258d48a715c547faf22c0a886989b52075 (diff) | |
download | poky-f142d6440ed21da246ff3c784bb9fb128a48667b.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: 4a2c4cfaaa5a6d7175c81064939e21bcfe3e736a)
Signed-off-by: Ruiqiang Hao <Ruiqiang.Hao@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf')
-rw-r--r-- | meta/conf/machine/include/arm/arch-armv9a.inc | 28 | ||||
-rw-r--r-- | meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc | 10 |
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 @@ | |||
1 | DEFAULTTUNE ?= "armv9a-crc" | ||
2 | |||
3 | TUNEVALID[armv9a] = "Enable instructions for ARMv9-a" | ||
4 | TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', ' -march=armv9-a', '', d)}" | ||
5 | MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', 'armv9a:', '', d)}" | ||
6 | |||
7 | require conf/machine/include/arm/arch-arm64.inc | ||
8 | require conf/machine/include/arm/feature-arm-crc.inc | ||
9 | require conf/machine/include/arm/feature-arm-crypto.inc | ||
10 | |||
11 | # Little Endian base configs | ||
12 | AVAILTUNES += "armv9a armv9a-crc armv9a-crc-crypto armv9a-crypto" | ||
13 | ARMPKGARCH:tune-armv9a ?= "armv9a" | ||
14 | ARMPKGARCH:tune-armv9a-crc ?= "armv9a" | ||
15 | ARMPKGARCH:tune-armv9a-crypto ?= "armv9a" | ||
16 | ARMPKGARCH:tune-armv9a-crc-crypto ?= "armv9a" | ||
17 | TUNE_FEATURES:tune-armv9a = "aarch64 armv9a" | ||
18 | TUNE_FEATURES:tune-armv9a-crc = "${TUNE_FEATURES:tune-armv9a} crc" | ||
19 | TUNE_FEATURES:tune-armv9a-crypto = "${TUNE_FEATURES:tune-armv9a} crypto" | ||
20 | TUNE_FEATURES:tune-armv9a-crc-crypto = "${TUNE_FEATURES:tune-armv9a-crc} crypto" | ||
21 | PACKAGE_EXTRA_ARCHS:tune-armv9a = "aarch64 armv9a" | ||
22 | PACKAGE_EXTRA_ARCHS:tune-armv9a-crc = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crc" | ||
23 | PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crypto" | ||
24 | PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crc} armv9a-crypto armv9a-crc-crypto" | ||
25 | BASE_LIB:tune-armv9a = "lib64" | ||
26 | BASE_LIB:tune-armv9a-crc = "lib64" | ||
27 | BASE_LIB:tune-armv9a-crypto = "lib64" | ||
28 | BASE_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" | |||
6 | TUNEVALID[neoversen2] = "Enable Neoverse-N2 specific processor optimizations" | 6 | TUNEVALID[neoversen2] = "Enable Neoverse-N2 specific processor optimizations" |
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversen2', ' -mcpu=neoverse-n2', '', d)}" | 7 | TUNE_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, | 9 | require conf/machine/include/arm/arch-armv9a.inc |
10 | # but the support of it in GCC is based on the Arm v8.5-A architecture. | ||
11 | require conf/machine/include/arm/arch-armv8-5a.inc | ||
12 | 10 | ||
13 | # Little Endian base configs | 11 | # Little Endian base configs |
14 | AVAILTUNES += "neoversen2 neoversen2-crypto" | 12 | AVAILTUNES += "neoversen2 neoversen2-crypto" |
15 | ARMPKGARCH:tune-neoversen2 = "neoversen2" | 13 | ARMPKGARCH:tune-neoversen2 = "neoversen2" |
16 | ARMPKGARCH:tune-neoversen2-crypto = "neoversen2-crypto" | 14 | ARMPKGARCH:tune-neoversen2-crypto = "neoversen2-crypto" |
17 | TUNE_FEATURES:tune-neoversen2 = "${TUNE_FEATURES:tune-armv8-5a} neoversen2" | 15 | TUNE_FEATURES:tune-neoversen2 = "${TUNE_FEATURES:tune-armv9a} neoversen2" |
18 | TUNE_FEATURES:tune-neoversen2-crypto = "${TUNE_FEATURES:tune-neoversen2} crypto" | 16 | TUNE_FEATURES:tune-neoversen2-crypto = "${TUNE_FEATURES:tune-neoversen2} crypto" |
19 | PACKAGE_EXTRA_ARCHS:tune-neoversen2 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a} neoversen2" | 17 | PACKAGE_EXTRA_ARCHS:tune-neoversen2 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} neoversen2" |
20 | PACKAGE_EXTRA_ARCHS:tune-neoversen2-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto} neoversen2 neoversen2-crypto" | 18 | PACKAGE_EXTRA_ARCHS:tune-neoversen2-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} neoversen2 neoversen2-crypto" |
21 | BASE_LIB:tune-neoversen2 = "lib64" | 19 | BASE_LIB:tune-neoversen2 = "lib64" |
22 | BASE_LIB:tune-neoversen2-crypto = "lib64" | 20 | BASE_LIB:tune-neoversen2-crypto = "lib64" |