summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@arm.com>2023-12-14 14:55:59 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-12-21 10:38:29 +0000
commit2f56aec05c584f094267efad26480d624821019b (patch)
treeab37327b8c87d8757990b0b44a64b619da2f0f85 /meta/conf/machine
parent194ffa6fea6e78b7791ad02bc972f5a282758229 (diff)
downloadpoky-2f56aec05c584f094267efad26480d624821019b.tar.gz
machine/arch-armv9: remove crc and sve tunes, they are mandatory
As per the Arm ARM section A2.3.2, FEAT_CRC32 is mandatory in Armv8.1 onwards, so there's no need to have an explicit optional tune for it. SVE (which was a choice here) and SVE2 (which was not) are both optional with v9.0, but GCC's -march=armv9-a defaults to enabling both SVE and SVE2 on the grounds that there are no implementations of Armv9 that don't support SVE2. This means there's no point having an explicit sve feature as it's enabled out of the box. (From OE-Core rev: 28fabebf812cdf8e76eb508115a4b76944f1e729) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.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.inc22
1 files changed, 4 insertions, 18 deletions
diff --git a/meta/conf/machine/include/arm/arch-armv9a.inc b/meta/conf/machine/include/arm/arch-armv9a.inc
index 6945dea333..e8d7c08a63 100644
--- a/meta/conf/machine/include/arm/arch-armv9a.inc
+++ b/meta/conf/machine/include/arm/arch-armv9a.inc
@@ -1,33 +1,19 @@
1DEFAULTTUNE ?= "armv9a-crc" 1DEFAULTTUNE ?= "armv9a"
2 2
3TUNEVALID[armv9a] = "Enable instructions for ARMv9-a" 3TUNEVALID[armv9a] = "Enable instructions for ARMv9-a"
4TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', ' -march=armv9-a', '', d)}" 4TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', ' -march=armv9-a', '', d)}"
5MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', 'armv9a:', '', d)}" 5MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', 'armv9a:', '', d)}"
6 6
7require conf/machine/include/arm/arch-arm64.inc 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 8require conf/machine/include/arm/feature-arm-crypto.inc
10require conf/machine/include/arm/feature-arm-sve.inc
11 9
12# Little Endian base configs 10# Little Endian base configs
13AVAILTUNES += "armv9a armv9a-crc armv9a-crc-crypto armv9a-crc-crypto-sve armv9a-crypto" 11AVAILTUNES += "armv9a armv9a-crypto"
14ARMPKGARCH:tune-armv9a ?= "armv9a" 12ARMPKGARCH:tune-armv9a ?= "armv9a"
15ARMPKGARCH:tune-armv9a-crc ?= "armv9a" 13ARMPKGARCH:tune-armv9a-crypto ?= "armv9a"
16ARMPKGARCH:tune-armv9a-crypto ?= "armv9a"
17ARMPKGARCH:tune-armv9a-crc-crypto ?= "armv9a"
18ARMPKGARCH:tune-armv9a-crc-crypto-sve ?= "armv9a"
19TUNE_FEATURES:tune-armv9a = "aarch64 armv9a" 14TUNE_FEATURES:tune-armv9a = "aarch64 armv9a"
20TUNE_FEATURES:tune-armv9a-crc = "${TUNE_FEATURES:tune-armv9a} crc"
21TUNE_FEATURES:tune-armv9a-crypto = "${TUNE_FEATURES:tune-armv9a} crypto" 15TUNE_FEATURES:tune-armv9a-crypto = "${TUNE_FEATURES:tune-armv9a} crypto"
22TUNE_FEATURES:tune-armv9a-crc-crypto = "${TUNE_FEATURES:tune-armv9a-crc} crypto"
23TUNE_FEATURES:tune-armv9a-crc-crypto-sve = "${TUNE_FEATURES:tune-armv9a-crc-crypto} sve"
24PACKAGE_EXTRA_ARCHS:tune-armv9a = "aarch64 armv9a" 16PACKAGE_EXTRA_ARCHS:tune-armv9a = "aarch64 armv9a"
25PACKAGE_EXTRA_ARCHS:tune-armv9a-crc = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crc"
26PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crypto" 17PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crypto"
27PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crc} armv9a-crypto armv9a-crc-crypto"
28PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto} armv9a-crc-crypto-sve"
29BASE_LIB:tune-armv9a = "lib64" 18BASE_LIB:tune-armv9a = "lib64"
30BASE_LIB:tune-armv9a-crc = "lib64"
31BASE_LIB:tune-armv9a-crypto = "lib64" 19BASE_LIB:tune-armv9a-crypto = "lib64"
32BASE_LIB:tune-armv9a-crc-crypto = "lib64"
33BASE_LIB:tune-armv9a-crc-crypto-sve = "lib64"