diff mbox series

machine/arch-armv9: remove crc and sve tunes, they are mandatory

Message ID 20231214145559.1536461-1-ross.burton@arm.com
State Accepted, archived
Commit 28fabebf812cdf8e76eb508115a4b76944f1e729
Headers show
Series machine/arch-armv9: remove crc and sve tunes, they are mandatory | expand

Commit Message

Ross Burton Dec. 14, 2023, 2:55 p.m. UTC
From: Ross Burton <ross.burton@arm.com>

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.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/conf/machine/include/arm/arch-armv9a.inc | 22 ++++---------------
 1 file changed, 4 insertions(+), 18 deletions(-)
diff mbox series

Patch

diff --git a/meta/conf/machine/include/arm/arch-armv9a.inc b/meta/conf/machine/include/arm/arch-armv9a.inc
index 6945dea333b..e8d7c08a63b 100644
--- a/meta/conf/machine/include/arm/arch-armv9a.inc
+++ b/meta/conf/machine/include/arm/arch-armv9a.inc
@@ -1,33 +1,19 @@ 
-DEFAULTTUNE ?= "armv9a-crc"
+DEFAULTTUNE ?= "armv9a"
 
 TUNEVALID[armv9a] = "Enable instructions for ARMv9-a"
 TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', ' -march=armv9-a', '', d)}"
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', 'armv9a:', '', d)}"
 
 require conf/machine/include/arm/arch-arm64.inc
-require conf/machine/include/arm/feature-arm-crc.inc
 require conf/machine/include/arm/feature-arm-crypto.inc
-require conf/machine/include/arm/feature-arm-sve.inc
 
 # Little Endian base configs
-AVAILTUNES += "armv9a armv9a-crc armv9a-crc-crypto armv9a-crc-crypto-sve armv9a-crypto"
-ARMPKGARCH:tune-armv9a                    ?= "armv9a"
-ARMPKGARCH:tune-armv9a-crc                ?= "armv9a"
-ARMPKGARCH:tune-armv9a-crypto             ?= "armv9a"
-ARMPKGARCH:tune-armv9a-crc-crypto         ?= "armv9a"
-ARMPKGARCH:tune-armv9a-crc-crypto-sve     ?= "armv9a"
+AVAILTUNES += "armv9a armv9a-crypto"
+ARMPKGARCH:tune-armv9a                     ?= "armv9a"
+ARMPKGARCH:tune-armv9a-crypto              ?= "armv9a"
 TUNE_FEATURES:tune-armv9a                  = "aarch64 armv9a"
-TUNE_FEATURES:tune-armv9a-crc              = "${TUNE_FEATURES:tune-armv9a} crc"
 TUNE_FEATURES:tune-armv9a-crypto           = "${TUNE_FEATURES:tune-armv9a} crypto"
-TUNE_FEATURES:tune-armv9a-crc-crypto       = "${TUNE_FEATURES:tune-armv9a-crc} crypto"
-TUNE_FEATURES:tune-armv9a-crc-crypto-sve   = "${TUNE_FEATURES:tune-armv9a-crc-crypto} sve"
 PACKAGE_EXTRA_ARCHS:tune-armv9a            = "aarch64 armv9a"
-PACKAGE_EXTRA_ARCHS:tune-armv9a-crc        = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crc"
 PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto     = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crypto"
-PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crc} armv9a-crypto armv9a-crc-crypto"
-PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto} armv9a-crc-crypto-sve"
 BASE_LIB:tune-armv9a                       = "lib64"
-BASE_LIB:tune-armv9a-crc                   = "lib64"
 BASE_LIB:tune-armv9a-crypto                = "lib64"
-BASE_LIB:tune-armv9a-crc-crypto            = "lib64"
-BASE_LIB:tune-armv9a-crc-crypto-sve        = "lib64"