diff options
Diffstat (limited to 'meta/conf/machine/include/arm')
55 files changed, 374 insertions, 45 deletions
diff --git a/meta/conf/machine/include/arm/arch-arm64.inc b/meta/conf/machine/include/arm/arch-arm64.inc index 0e2efb5a40..832d0000ac 100644 --- a/meta/conf/machine/include/arm/arch-arm64.inc +++ b/meta/conf/machine/include/arm/arch-arm64.inc @@ -37,3 +37,8 @@ TUNE_ARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_ARCH_64}', TUNE_PKGARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_PKGARCH_64}', '${TUNE_PKGARCH_32}', d)}" ABIEXTENSION = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${ABIEXTENSION_64}', '${ABIEXTENSION_32}', d)}" TARGET_FPU = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TARGET_FPU_64}', '${TARGET_FPU_32}', d)}" + +# Emit branch protection (PAC/BTI) instructions. On hardware that doesn't +# support these they're meaningless NOP instructions, so there's very little +# reason not to. +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', ' -mbranch-protection=standard', '', d)}" diff --git a/meta/conf/machine/include/arm/arch-armv8-1a.inc b/meta/conf/machine/include/arm/arch-armv8-1a.inc new file mode 100644 index 0000000000..be8e814a39 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8-1a.inc @@ -0,0 +1,18 @@ +DEFAULTTUNE ?= "armv8-1a" + +TUNEVALID[armv8-1a] = "Enable instructions for ARMv8.1-a" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1a', ' -march=armv8.1-a', '', d)}" +# TUNE crypto will be handled by arch-armv8a.inc below +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1a', 'armv8-1a:', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +AVAILTUNES += "armv8-1a armv8-1a-crypto" +ARMPKGARCH:tune-armv8-1a ?= "armv8-1a" +ARMPKGARCH:tune-armv8-1a-crypto ?= "armv8-1a" +TUNE_FEATURES:tune-armv8-1a = "aarch64 armv8-1a" +TUNE_FEATURES:tune-armv8-1a-crypto = "${TUNE_FEATURES:tune-armv8-1a} crypto" +PACKAGE_EXTRA_ARCHS:tune-armv8-1a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-1a" +PACKAGE_EXTRA_ARCHS:tune-armv8-1a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-1a} armv8-1a-crypto" +BASE_LIB:tune-armv8-1a = "lib64" +BASE_LIB:tune-armv8-1a-crypto = "lib64" diff --git a/meta/conf/machine/include/arm/arch-armv8-2a.inc b/meta/conf/machine/include/arm/arch-armv8-2a.inc index 95368b0af7..2b5fae1406 100644 --- a/meta/conf/machine/include/arm/arch-armv8-2a.inc +++ b/meta/conf/machine/include/arm/arch-armv8-2a.inc @@ -6,6 +6,7 @@ TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', ' -march MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', 'armv8-2a:', '', d)}" require conf/machine/include/arm/arch-armv8a.inc +require conf/machine/include/arm/feature-arm-sve.inc # Little Endian base configs AVAILTUNES += "armv8-2a armv8-2a-crypto" diff --git a/meta/conf/machine/include/arm/arch-armv8-3a.inc b/meta/conf/machine/include/arm/arch-armv8-3a.inc new file mode 100644 index 0000000000..49493fb3b5 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8-3a.inc @@ -0,0 +1,22 @@ +DEFAULTTUNE ?= "armv8-3a" + +TUNEVALID[armv8-3a] = "Enable instructions for ARMv8.3-a" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-3a', ' -march=armv8.3-a', '', d)}" +# TUNE crypto will be handled by arch-armv8a.inc below +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-3a', 'armv8-3a:', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +AVAILTUNES += "armv8-3a armv8-3a-crypto armv8-3a-crypto-sve" +ARMPKGARCH:tune-armv8-3a ?= "armv8-3a" +ARMPKGARCH:tune-armv8-3a-crypto ?= "armv8-3a" +ARMPKGARCH:tune-armv8-3a-crypto-sve ?= "armv8-3a" +TUNE_FEATURES:tune-armv8-3a = "aarch64 armv8-3a" +TUNE_FEATURES:tune-armv8-3a-crypto = "${TUNE_FEATURES:tune-armv8-3a} crypto" +TUNE_FEATURES:tune-armv8-3a-crypto-sve = "${TUNE_FEATURES:tune-armv8-3a-crypto} sve" +PACKAGE_EXTRA_ARCHS:tune-armv8-3a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-3a" +PACKAGE_EXTRA_ARCHS:tune-armv8-3a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-3a} armv8-3a-crypto" +PACKAGE_EXTRA_ARCHS:tune-armv8-3a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-3a-crypto} armv8-3a-crypto-sve" +BASE_LIB:tune-armv8-3a = "lib64" +BASE_LIB:tune-armv8-3a-crypto = "lib64" +BASE_LIB:tune-armv8-3a-crypto-sve = "lib64" diff --git a/meta/conf/machine/include/arm/arch-armv8-4a.inc b/meta/conf/machine/include/arm/arch-armv8-4a.inc index 29feddb64c..b61d50daa5 100644 --- a/meta/conf/machine/include/arm/arch-armv8-4a.inc +++ b/meta/conf/machine/include/arm/arch-armv8-4a.inc @@ -6,14 +6,19 @@ TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', ' -march MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', 'armv8-4a:', '', d)}" require conf/machine/include/arm/arch-armv8a.inc +require conf/machine/include/arm/feature-arm-sve.inc # Little Endian base configs -AVAILTUNES += "armv8-4a armv8-4a-crypto" +AVAILTUNES += "armv8-4a armv8-4a-crypto armv8-4a-crypto-sve" ARMPKGARCH:tune-armv8-4a ?= "armv8-4a" ARMPKGARCH:tune-armv8-4a-crypto ?= "armv8-4a" +ARMPKGARCH:tune-armv8-4a-crypto-sve ?= "armv8-4a" TUNE_FEATURES:tune-armv8-4a = "aarch64 armv8-4a" TUNE_FEATURES:tune-armv8-4a-crypto = "${TUNE_FEATURES:tune-armv8-4a} crypto" +TUNE_FEATURES:tune-armv8-4a-crypto-sve = "${TUNE_FEATURES:tune-armv8-4a-crypto} sve" PACKAGE_EXTRA_ARCHS:tune-armv8-4a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-4a" PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a} armv8-4a-crypto" +PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto} armv8-4a-crypto-sve" BASE_LIB:tune-armv8-4a = "lib64" BASE_LIB:tune-armv8-4a-crypto = "lib64" +BASE_LIB:tune-armv8-4a-crypto-sve = "lib64" diff --git a/meta/conf/machine/include/arm/arch-armv8-5a.inc b/meta/conf/machine/include/arm/arch-armv8-5a.inc index a1bcb7fb9a..176bc9033c 100644 --- a/meta/conf/machine/include/arm/arch-armv8-5a.inc +++ b/meta/conf/machine/include/arm/arch-armv8-5a.inc @@ -6,14 +6,19 @@ TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-5a', ' -march MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-5a', 'armv8-5a:', '', d)}" require conf/machine/include/arm/arch-armv8a.inc +require conf/machine/include/arm/feature-arm-sve.inc # Little Endian base configs -AVAILTUNES += "armv8-5a armv8-5a-crypto" +AVAILTUNES += "armv8-5a armv8-5a-crypto armv8-5a-crypto-sve" ARMPKGARCH:tune-armv8-5a ?= "armv8-5a" ARMPKGARCH:tune-armv8-5a-crypto ?= "armv8-5a" +ARMPKGARCH:tune-armv8-5a-crypto-sve ?= "armv8-5a" TUNE_FEATURES:tune-armv8-5a = "aarch64 armv8-5a" TUNE_FEATURES:tune-armv8-5a-crypto = "${TUNE_FEATURES:tune-armv8-5a} crypto" +TUNE_FEATURES:tune-armv8-5a-crypto-sve = "${TUNE_FEATURES:tune-armv8-5a-crypto} sve" PACKAGE_EXTRA_ARCHS:tune-armv8-5a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-5a" PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a} armv8-5a-crypto" +PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto} armv8-5a-crypto-sve" BASE_LIB:tune-armv8-5a = "lib64" BASE_LIB:tune-armv8-5a-crypto = "lib64" +BASE_LIB:tune-armv8-5a-crypto-sve = "lib64" diff --git a/meta/conf/machine/include/arm/arch-armv8-6a.inc b/meta/conf/machine/include/arm/arch-armv8-6a.inc new file mode 100644 index 0000000000..27f85325ca --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8-6a.inc @@ -0,0 +1,22 @@ +DEFAULTTUNE ?= "armv8-6a" + +TUNEVALID[armv8-6a] = "Enable instructions for ARMv8.6-a" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-6a', ' -march=armv8.6-a', '', d)}" +# TUNE crypto will be handled by arch-armv8a.inc below +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-6a', 'armv8-6a:', '', d)}" + +require conf/machine/include/arm/arch-armv8a.inc + +AVAILTUNES += "armv8-6a armv8-6a-crypto armv8-6a-crypto-sve" +ARMPKGARCH:tune-armv8-6a ?= "armv8-6a" +ARMPKGARCH:tune-armv8-6a-crypto ?= "armv8-6a" +ARMPKGARCH:tune-armv8-6a-crypto-sve ?= "armv8-6a" +TUNE_FEATURES:tune-armv8-6a = "aarch64 armv8-6a" +TUNE_FEATURES:tune-armv8-6a-crypto = "${TUNE_FEATURES:tune-armv8-6a} crypto" +TUNE_FEATURES:tune-armv8-6a-crypto-sve = "${TUNE_FEATURES:tune-armv8-6a-crypto} sve" +PACKAGE_EXTRA_ARCHS:tune-armv8-6a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-6a" +PACKAGE_EXTRA_ARCHS:tune-armv8-6a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-6a} armv8-6a-crypto" +PACKAGE_EXTRA_ARCHS:tune-armv8-6a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-6a-crypto} armv8-6a-crypto-sve" +BASE_LIB:tune-armv8-6a = "lib64" +BASE_LIB:tune-armv8-6a-crypto = "lib64" +BASE_LIB:tune-armv8-6a-crypto-sve = "lib64" diff --git a/meta/conf/machine/include/arm/arch-armv8r.inc b/meta/conf/machine/include/arm/arch-armv8r.inc index 0dcfd34c1a..2fea8d2517 100644 --- a/meta/conf/machine/include/arm/arch-armv8r.inc +++ b/meta/conf/machine/include/arm/arch-armv8r.inc @@ -10,6 +10,7 @@ MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8r', 'armv8r:', 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 # All ARMv8 has floating point hardware built in. Null it here to avoid any confusion for 32bit. TARGET_FPU_32 = "" diff --git a/meta/conf/machine/include/arm/arch-armv9a.inc b/meta/conf/machine/include/arm/arch-armv9a.inc index c38d6cfdf6..e8d7c08a63 100644 --- a/meta/conf/machine/include/arm/arch-armv9a.inc +++ b/meta/conf/machine/include/arm/arch-armv9a.inc @@ -1,28 +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 # Little Endian base configs -AVAILTUNES += "armv9a armv9a-crc armv9a-crc-crypto armv9a-crypto" -ARMPKGARCH:tune-armv9a ?= "armv9a" -ARMPKGARCH:tune-armv9a-crc ?= "armv9a" -ARMPKGARCH:tune-armv9a-crypto ?= "armv9a" -ARMPKGARCH:tune-armv9a-crc-crypto ?= "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" 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" BASE_LIB:tune-armv9a = "lib64" -BASE_LIB:tune-armv9a-crc = "lib64" BASE_LIB:tune-armv9a-crypto = "lib64" -BASE_LIB:tune-armv9a-crc-crypto = "lib64" diff --git a/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc b/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc index ecaaa0d846..4c8985292b 100644 --- a/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc +++ b/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc @@ -12,3 +12,8 @@ AVAILTUNES += "cortexr5" ARMPKGARCH:tune-cortexr5 = "cortexr5" TUNE_FEATURES:tune-cortexr5 = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr5 idiv" PACKAGE_EXTRA_ARCHS:tune-cortexr5 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr5-vfpv3d16" + +AVAILTUNES += "cortexr5hf" +ARMPKGARCH:tune-cortexr5hf = "cortexr5" +TUNE_FEATURES:tune-cortexr5hf = "${TUNE_FEATURES:tune-cortexr5} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-cortexr5hf = "cortexr5hf-vfpv3d16" diff --git a/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc b/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc index 493ad67b21..0a115be8a4 100644 --- a/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc +++ b/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc @@ -10,5 +10,6 @@ require conf/machine/include/arm/arch-armv8-1m-main.inc AVAILTUNES += "cortexm55" ARMPKGARCH:tune-cortexm55 = "cortexm55" -TUNE_FEATURES:tune-cortexm55 = "${TUNE_FEATURES:tune-armv8-1m-main} cortexm55" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexm55 = "cortexm55" PACKAGE_EXTRA_ARCHS:tune-cortexm55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-1m-main} cortexm55" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc index d130b4b90a..5e63b45ae0 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc @@ -8,6 +8,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc # Little Endian base configs AVAILTUNES += "cortexa55" ARMPKGARCH:tune-cortexa55 = "cortexa55" -TUNE_FEATURES:tune-cortexa55 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa55" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa55 = "aarch64 crypto cortexa55" PACKAGE_EXTRA_ARCHS:tune-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa55" BASE_LIB:tune-cortexa55 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc index c7e86887b5..ba96d0452e 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc @@ -11,6 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc # Little Endian base configs AVAILTUNES += "cortexa65" ARMPKGARCH:tune-cortexa65 = "cortexa65" -TUNE_FEATURES:tune-cortexa65 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa65" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa65 = "aarch64 crypto cortexa65" PACKAGE_EXTRA_ARCHS:tune-cortexa65 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa65" BASE_LIB:tune-cortexa65 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc index dad6d1b174..cc92147441 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc @@ -11,6 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc # Little Endian base configs AVAILTUNES += "cortexa65ae" ARMPKGARCH:tune-cortexa65ae = "cortexa65ae" -TUNE_FEATURES:tune-cortexa65ae = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa65ae" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa65ae = "aarch64 crypto cortexa65ae" PACKAGE_EXTRA_ARCHS:tune-cortexa65ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa65ae" BASE_LIB:tune-cortexa65ae = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc index 3a47e8278d..e18b2cb6e0 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc @@ -12,7 +12,8 @@ require conf/machine/include/arm/arch-armv8-2a.inc AVAILTUNES += "cortexa75-cortexa55 cortexa75-cortexa55-crypto" ARMPKGARCH:tune-cortexa75-cortexa55 = "cortexa75-cortexa55" ARMPKGARCH:tune-cortexa75-cortexa55-crypto = "cortexa75-cortexa55-crypto" -TUNE_FEATURES:tune-cortexa75-cortexa55 = "${TUNE_FEATURES:tune-armv8-2a} cortexa75-cortexa55" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa75-cortexa55 = "aarch64 cortexa75-cortexa55" TUNE_FEATURES:tune-cortexa75-cortexa55-crypto = "${TUNE_FEATURES:tune-cortexa75-cortexa55} crypto" PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa75-cortexa55" PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75-cortexa55 cortexa75-cortexa55-crypto" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc index 2d9a1159f1..453be2e6fd 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc @@ -11,6 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc # Little Endian base configs AVAILTUNES += "cortexa75" ARMPKGARCH:tune-cortexa75 = "cortexa75" -TUNE_FEATURES:tune-cortexa75 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa75" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa75 = "aarch64 crypto cortexa75" PACKAGE_EXTRA_ARCHS:tune-cortexa75 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75" BASE_LIB:tune-cortexa75 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc index f4c99ad6bb..7daf9d91a8 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc @@ -12,7 +12,8 @@ require conf/machine/include/arm/arch-armv8-2a.inc AVAILTUNES += "cortexa76-cortexa55 cortexa76-cortexa55-crypto" ARMPKGARCH:tune-cortexa76-cortexa55 = "cortexa76-cortexa55" ARMPKGARCH:tune-cortexa76-cortexa55-crypto = "cortexa76-cortexa55-crypto" -TUNE_FEATURES:tune-cortexa76-cortexa55 = "${TUNE_FEATURES:tune-armv8-2a} cortexa76-cortexa55" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa76-cortexa55 = "aarch64 cortexa76-cortexa55" TUNE_FEATURES:tune-cortexa76-cortexa55-crypto = "${TUNE_FEATURES:tune-cortexa76-cortexa55} crypto" PACKAGE_EXTRA_ARCHS:tune-cortexa76-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa76-cortexa55" PACKAGE_EXTRA_ARCHS:tune-cortexa76-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76-cortexa55 cortexa76-cortexa55-crypto" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc index 0dfdb8c5e4..14ed81214d 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc @@ -11,6 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc # Little Endian base configs AVAILTUNES += "cortexa76" ARMPKGARCH:tune-cortexa76 = "cortexa76" -TUNE_FEATURES:tune-cortexa76 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa76" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa76 = "aarch64 crypto cortexa76" PACKAGE_EXTRA_ARCHS:tune-cortexa76 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76" BASE_LIB:tune-cortexa76 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc index b2863dca68..191863bac8 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc @@ -11,6 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc # Little Endian base configs AVAILTUNES += "cortexa76ae" ARMPKGARCH:tune-cortexa76ae = "cortexa76ae" -TUNE_FEATURES:tune-cortexa76ae = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa76ae" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa76ae = "aarch64 crypto cortexa76ae" PACKAGE_EXTRA_ARCHS:tune-cortexa76ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76ae" BASE_LIB:tune-cortexa76ae = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc index 654b1f6323..1522fd6abd 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc @@ -11,6 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc # Little Endian base configs AVAILTUNES += "cortexa77" ARMPKGARCH:tune-cortexa77 = "cortexa77" -TUNE_FEATURES:tune-cortexa77 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa77" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa77 = "aarch64 crypto cortexa77" PACKAGE_EXTRA_ARCHS:tune-cortexa77 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa77" BASE_LIB:tune-cortexa77 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc new file mode 100644 index 0000000000..198b94c679 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc @@ -0,0 +1,17 @@ +# +# Tune Settings for Cortex-A78 +# +DEFAULTTUNE ?= "cortexa78" + +TUNEVALID[cortexa78] = "Enable Cortex-A78 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa78', ' -mcpu=cortex-a78', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa78" +ARMPKGARCH:tune-cortexa78 = "cortexa78" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa78 = "aarch64 crypto cortexa78" +PACKAGE_EXTRA_ARCHS:tune-cortexa78 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa78" +BASE_LIB:tune-cortexa78 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78ae.inc new file mode 100644 index 0000000000..fe68bda9a0 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78ae.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-a78ae +# +DEFAULTTUNE ?= "cortexa78ae" + +TUNEVALID[cortexa78ae] = "Enable cortex-a78ae specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa78ae', ' -mcpu=cortex-a78ae', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +AVAILTUNES += "cortexa78ae" +ARMPKGARCH:tune-cortexa78ae = "cortexa78ae" +TUNE_FEATURES:tune-cortexa78ae = "aarch64 crypto cortexa78ae" +PACKAGE_EXTRA_ARCHS:tune-cortexa78ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa78ae" +BASE_LIB:tune-cortexa78ae = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78c.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78c.inc new file mode 100644 index 0000000000..cb1fe91dfc --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78c.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-a78c +# +DEFAULTTUNE ?= "cortexa78c" + +TUNEVALID[cortexa78c] = "Enable cortex-a78c specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa78c', ' -mcpu=cortex-a78c', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +AVAILTUNES += "cortexa78c" +ARMPKGARCH:tune-cortexa78c = "cortexa78c" +TUNE_FEATURES:tune-cortexa78c = "aarch64 crypto cortexa78c" +PACKAGE_EXTRA_ARCHS:tune-cortexa78c = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa78c" +BASE_LIB:tune-cortexa78c = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1.inc new file mode 100644 index 0000000000..0a99156e62 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-x1 +# +DEFAULTTUNE ?= "cortexx1" + +TUNEVALID[cortexx1] = "Enable cortex-x1 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexx1', ' -mcpu=cortex-x1', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +AVAILTUNES += "cortexx1" +ARMPKGARCH:tune-cortexx1 = "cortexx1" +TUNE_FEATURES:tune-cortexx1 = "aarch64 crypto cortexx1" +PACKAGE_EXTRA_ARCHS:tune-cortexx1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexx1" +BASE_LIB:tune-cortexx1 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1c.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1c.inc new file mode 100644 index 0000000000..2a16d1695d --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1c.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-x1c +# +DEFAULTTUNE ?= "cortexx1c" + +TUNEVALID[cortexx1c] = "Enable cortex-x1c specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexx1c', ' -mcpu=cortex-x1c', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +AVAILTUNES += "cortexx1c" +ARMPKGARCH:tune-cortexx1c = "cortexx1c" +TUNE_FEATURES:tune-cortexx1c = "aarch64 crypto cortexx1c" +PACKAGE_EXTRA_ARCHS:tune-cortexx1c = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexx1c" +BASE_LIB:tune-cortexx1c = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc index 15ed595bde..e906cf965c 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc @@ -11,6 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc # Little Endian base configs AVAILTUNES += "neoversee1" ARMPKGARCH:tune-neoversee1 = "neoversee1" -TUNE_FEATURES:tune-neoversee1 = "${TUNE_FEATURES:tune-armv8-2a-crypto} neoversee1" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-neoversee1 = "aarch64 crypto neoversee1" PACKAGE_EXTRA_ARCHS:tune-neoversee1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} neoversee1" BASE_LIB:tune-neoversee1 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc index 9d181ef4d5..55f054713f 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc @@ -12,6 +12,6 @@ require conf/machine/include/arm/arch-armv8-2a.inc # Little Endian base configs AVAILTUNES += "neoversen1" ARMPKGARCH:tune-neoversen1 = "neoversen1" -TUNE_FEATURES:tune-neoversen1 = "${TUNE_FEATURES:tune-armv8-2a-crypto} neoversen1" +TUNE_FEATURES:tune-neoversen1 = "aarch64 crypto neoversen1" PACKAGE_EXTRA_ARCHS:tune-neoversen1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} neoversen1" BASE_LIB:tune-neoversen1 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc b/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc index 2cac70ea52..e9d7a59c51 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc @@ -8,6 +8,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc # Little Endian base configs AVAILTUNES += "octeontx2" ARMPKGARCH:tune-octeontx2 = "octeontx2" -TUNE_FEATURES:tune-octeontx2 = "${TUNE_FEATURES:tune-armv8-2a-crypto} octeontx2" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-octeontx2 = "aarch64 crypto octeontx2" PACKAGE_EXTRA_ARCHS:tune-octeontx2 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} octeontx2" BASE_LIB:tune-octeontx2 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-4a/tune-neoverse512tvb.inc b/meta/conf/machine/include/arm/armv8-4a/tune-neoverse512tvb.inc new file mode 100644 index 0000000000..450bf74896 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-4a/tune-neoverse512tvb.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for neoverse-512tvb +# +DEFAULTTUNE ?= "neoverse512tvb" + +TUNEVALID[neoverse512tvb] = "Enable neoverse-512tvb specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoverse512tvb', ' -mcpu=neoverse-512tvb', '', d)}" + +require conf/machine/include/arm/arch-armv8-4a.inc + +AVAILTUNES += "neoverse512tvb" +ARMPKGARCH:tune-neoverse512tvb = "neoverse512tvb" +TUNE_FEATURES:tune-neoverse512tvb = "aarch64 crypto neoverse512tvb" +PACKAGE_EXTRA_ARCHS:tune-neoverse512tvb = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto} neoverse512tvb" +BASE_LIB:tune-neoverse512tvb = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-4a/tune-neoversev1.inc b/meta/conf/machine/include/arm/armv8-4a/tune-neoversev1.inc new file mode 100644 index 0000000000..2b4da7db3c --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-4a/tune-neoversev1.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for neoverse-v1 +# +DEFAULTTUNE ?= "neoversev1" + +TUNEVALID[neoversev1] = "Enable neoverse-v1 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversev1', ' -mcpu=neoverse-v1', '', d)}" + +require conf/machine/include/arm/arch-armv8-4a.inc + +AVAILTUNES += "neoversev1" +ARMPKGARCH:tune-neoversev1 = "neoversev1" +TUNE_FEATURES:tune-neoversev1 = "aarch64 crypto neoversev1" +PACKAGE_EXTRA_ARCHS:tune-neoversev1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto} neoversev1" +BASE_LIB:tune-neoversev1 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc b/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc index 25780bc080..e83e0ba68a 100644 --- a/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc +++ b/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc @@ -10,5 +10,6 @@ require conf/machine/include/arm/arch-armv8m-base.inc AVAILTUNES += "cortexm23" ARMPKGARCH:tune-cortexm23 = "cortexm23" -TUNE_FEATURES:tune-cortexm23 = "${TUNE_FEATURES:tune-armv8m-base} cortexm23" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexm23 = "cortexm23" PACKAGE_EXTRA_ARCHS:tune-cortexm23 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-base} cortexm23" diff --git a/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc b/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc index 04d1fe2bde..606900d7a2 100644 --- a/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc +++ b/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc @@ -13,5 +13,6 @@ require conf/machine/include/arm/arch-armv8m-main.inc # be fixed in GCC AVAILTUNES += "cortexm33" ARMPKGARCH:tune-cortexm33 = "cortexm33" -TUNE_FEATURES:tune-cortexm33 = "${TUNE_FEATURES:tune-armv8m-maine-vfpv5spd16} cortexm33" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexm33 = "vfpv5spd16 dsp cortexm33" PACKAGE_EXTRA_ARCHS:tune-cortexm33 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16} cortexm33e-fpv5-spd16" diff --git a/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc b/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc index 60e978facd..4394adab0b 100644 --- a/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc +++ b/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc @@ -13,5 +13,6 @@ require conf/machine/include/arm/arch-armv8m-main.inc # be fixed in GCC AVAILTUNES += "cortexm35p" ARMPKGARCH:tune-cortexm35p = "cortexm35p" -TUNE_FEATURES:tune-cortexm35p = "${TUNE_FEATURES:tune-armv8m-maine-vfpv5spd16} cortexm35p" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexm35p = "vfpv5spd16 dsp cortexm35p" PACKAGE_EXTRA_ARCHS:tune-cortexm35p = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16} cortexm35pe-fpv5-spd16" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc index c7b01a2906..25bdf12b18 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc @@ -9,7 +9,8 @@ require conf/machine/include/arm/arch-armv8a.inc AVAILTUNES += "cortexa32 cortexa32-crypto" ARMPKGARCH:tune-cortexa32 = "cortexa32" ARMPKGARCH:tune-cortexa32-crypto = "cortexa32" -TUNE_FEATURES:tune-cortexa32 = "armv8a cortexa32 crc callconvention-hard neon" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa32 = "aarch64 cortexa32 crc callconvention-hard neon" TUNE_FEATURES:tune-cortexa32-crypto = "${TUNE_FEATURES:tune-cortexa32} crypto" PACKAGE_EXTRA_ARCHS:tune-cortexa32 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa32 cortexa32hf-neon" PACKAGE_EXTRA_ARCHS:tune-cortexa32-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa32 cortexa32hf-neon cortexa32hf-neon-crypto" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc index 55dd845b00..c195d73378 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc @@ -12,7 +12,8 @@ require conf/machine/include/arm/arch-armv8a.inc AVAILTUNES += "cortexa34 cortexa34-crypto" ARMPKGARCH:tune-cortexa34 = "cortexa34" ARMPKGARCH:tune-cortexa34-crypto = "cortexa34" -TUNE_FEATURES:tune-cortexa34 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa34" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa34 = "aarch64 crc cortexa34" TUNE_FEATURES:tune-cortexa34-crypto = "${TUNE_FEATURES:tune-cortexa34} crypto" PACKAGE_EXTRA_ARCHS:tune-cortexa34 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa34" PACKAGE_EXTRA_ARCHS:tune-cortexa34-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa34 cortexa34-crypto" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc index 33afb19386..d811c84455 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc @@ -9,7 +9,8 @@ require conf/machine/include/arm/arch-armv8a.inc AVAILTUNES += "cortexa35 cortexa35-crypto" ARMPKGARCH:tune-cortexa35 = "cortexa35" ARMPKGARCH:tune-cortexa35-crypto = "cortexa35" -TUNE_FEATURES:tune-cortexa35 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa35" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa35 = "aarch64 crc cortexa35" TUNE_FEATURES:tune-cortexa35-crypto = "${TUNE_FEATURES:tune-cortexa35} crypto" PACKAGE_EXTRA_ARCHS:tune-cortexa35 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa35" PACKAGE_EXTRA_ARCHS:tune-cortexa35-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa35 cortexa35-crypto" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc index a534ad358d..a88575eb15 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc @@ -9,7 +9,8 @@ require conf/machine/include/arm/arch-armv8a.inc AVAILTUNES += "cortexa53 cortexa53-crypto" ARMPKGARCH:tune-cortexa53 = "cortexa53" ARMPKGARCH:tune-cortexa53-crypto = "cortexa53-crypto" -TUNE_FEATURES:tune-cortexa53 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa53" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa53 = "aarch64 crc cortexa53" TUNE_FEATURES:tune-cortexa53-crypto = "${TUNE_FEATURES:tune-cortexa53} crypto" PACKAGE_EXTRA_ARCHS:tune-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa53" PACKAGE_EXTRA_ARCHS:tune-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa53 cortexa53-crypto" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc index 7de671a2e5..052d1173c9 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc @@ -9,6 +9,7 @@ require conf/machine/include/arm/arch-armv8a.inc # Little Endian base configs AVAILTUNES += "cortexa57-cortexa53" ARMPKGARCH:tune-cortexa57-cortexa53 = "cortexa57-cortexa53" -TUNE_FEATURES:tune-cortexa57-cortexa53 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa57-cortexa53" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa57-cortexa53 = "aarch64 crc cortexa57-cortexa53" PACKAGE_EXTRA_ARCHS:tune-cortexa57-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa57-cortexa53" BASE_LIB:tune-cortexa57-cortexa53 = "lib64" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc index 37650d8798..b0de20f836 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc @@ -9,7 +9,8 @@ require conf/machine/include/arm/arch-armv8a.inc AVAILTUNES += "cortexa57 cortexa57-crypto" ARMPKGARCH:tune-cortexa57 = "cortexa57" ARMPKGARCH:tune-cortexa57-crypto = "cortexa57-crypto" -TUNE_FEATURES:tune-cortexa57 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa57" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa57 = "aarch64 crc cortexa57" TUNE_FEATURES:tune-cortexa57-crypto = "${TUNE_FEATURES:tune-cortexa57} crypto" PACKAGE_EXTRA_ARCHS:tune-cortexa57 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa57" PACKAGE_EXTRA_ARCHS:tune-cortexa57-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa57 cortexa57-crypto" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc index a77ef59d62..ff188aec5f 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc @@ -10,7 +10,8 @@ require conf/machine/include/arm/arch-armv8a.inc AVAILTUNES += "cortexa72-cortexa53 cortexa72-cortexa53-crypto" ARMPKGARCH:tune-cortexa72-cortexa53 = "cortexa72-cortexa53" ARMPKGARCH:tune-cortexa72-cortexa53-crypto = "cortexa72-cortexa53-crypto" -TUNE_FEATURES:tune-cortexa72-cortexa53 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa72-cortexa53" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa72-cortexa53 = "aarch64 crc cortexa72-cortexa53" TUNE_FEATURES:tune-cortexa72-cortexa53-crypto = "${TUNE_FEATURES:tune-cortexa72-cortexa53} crypto" PACKAGE_EXTRA_ARCHS:tune-cortexa72-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa72-cortexa53" PACKAGE_EXTRA_ARCHS:tune-cortexa72-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72-cortexa53 cortexa72-cortexa53-crypto" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc index b0a017e444..cbb6418c06 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc @@ -9,7 +9,8 @@ require conf/machine/include/arm/arch-armv8a.inc AVAILTUNES += "cortexa72 cortexa72-crypto" ARMPKGARCH:tune-cortexa72 = "cortexa72" ARMPKGARCH:tune-cortexa72-crypto = "cortexa72" -TUNE_FEATURES:tune-cortexa72 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa72" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa72 = "aarch64 crc cortexa72" TUNE_FEATURES:tune-cortexa72-crypto = "${TUNE_FEATURES:tune-cortexa72} crypto" PACKAGE_EXTRA_ARCHS:tune-cortexa72 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa72" PACKAGE_EXTRA_ARCHS:tune-cortexa72-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72 cortexa72-crypto" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc index 869670bf0c..4f4f25f511 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc @@ -13,7 +13,8 @@ require conf/machine/include/arm/arch-armv8a.inc AVAILTUNES += "cortexa73-cortexa35 cortexa73-cortexa35-crypto" ARMPKGARCH:tune-cortexa73-cortexa35 = "cortexa73-cortexa35" ARMPKGARCH:tune-cortexa73-cortexa35-crypto = "cortexa73-cortexa35-crypto" -TUNE_FEATURES:tune-cortexa73-cortexa35 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa73-cortexa35" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa73-cortexa35 = "aarch64 crc cortexa73-cortexa35" TUNE_FEATURES:tune-cortexa73-cortexa35-crypto = "${TUNE_FEATURES:tune-cortexa73-cortexa35} crypto" PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa35 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa73-cortexa35" PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa35-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa73-cortexa35 cortexa73-cortexa35-crypto" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc index 9cebffd54d..1d152ed83b 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc @@ -10,7 +10,8 @@ require conf/machine/include/arm/arch-armv8a.inc AVAILTUNES += "cortexa73-cortexa53 cortexa73-cortexa53-crypto" ARMPKGARCH:tune-cortexa73-cortexa53 = "cortexa73-cortexa53" ARMPKGARCH:tune-cortexa73-cortexa53-crypto = "cortexa73-cortexa53-crypto" -TUNE_FEATURES:tune-cortexa73-cortexa53 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa73-cortexa53" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa73-cortexa53 = "aarch64 crc cortexa73-cortexa53" TUNE_FEATURES:tune-cortexa73-cortexa53-crypto = "${TUNE_FEATURES:tune-cortexa73-cortexa53} crypto" 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" diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc index 13876e7245..b3b06a4f09 100644 --- a/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc +++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc @@ -12,7 +12,8 @@ require conf/machine/include/arm/arch-armv8a.inc AVAILTUNES += "cortexa73 cortexa73-crypto" ARMPKGARCH:tune-cortexa73 = "cortexa73" ARMPKGARCH:tune-cortexa73-crypto = "cortexa73" -TUNE_FEATURES:tune-cortexa73 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa73" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexa73 = "aarch64 crc cortexa73" TUNE_FEATURES:tune-cortexa73-crypto = "${TUNE_FEATURES:tune-cortexa73} crypto" PACKAGE_EXTRA_ARCHS:tune-cortexa73 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa73" PACKAGE_EXTRA_ARCHS:tune-cortexa73-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa73 cortexa73-crypto" diff --git a/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc b/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc index 3a97cf8ee8..89f0e09450 100644 --- a/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc +++ b/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc @@ -10,5 +10,11 @@ require conf/machine/include/arm/arch-armv8r.inc AVAILTUNES += "cortexr52" ARMPKGARCH:tune-cortexr52 = "cortexr52" -TUNE_FEATURES:tune-cortexr52 = "${TUNE_FEATURES:tune-armv8r-crc-simd} cortexr52" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-cortexr52 = "aarch64 crc simd cortexr52" PACKAGE_EXTRA_ARCHS:tune-cortexr52 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr52" + +AVAILTUNES += "cortexr52hf" +ARMPKGARCH:tune-cortexr52hf = "cortexr52" +TUNE_FEATURES:tune-cortexr52hf = "${TUNE_FEATURES:tune-cortexr52} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-cortexr52hf = "cortexr52hf" diff --git a/meta/conf/machine/include/arm/armv8r/tune-cortexr82.inc b/meta/conf/machine/include/arm/armv8r/tune-cortexr82.inc new file mode 100644 index 0000000000..84b2471c6b --- /dev/null +++ b/meta/conf/machine/include/arm/armv8r/tune-cortexr82.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-r82 +# +DEFAULTTUNE ?= "cortexr82" + +TUNEVALID[cortexr82] = "Enable cortex-r82 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr82', ' -mcpu=cortex-r82', '', d)}" + +require conf/machine/include/arm/arch-armv8r.inc + +AVAILTUNES += "cortexr82" +ARMPKGARCH:tune-cortexr82 = "cortexr82" +TUNE_FEATURES:tune-cortexr82 = "${TUNE_FEATURES:tune-armv8r-crc-simd} cortexr82" +PACKAGE_EXTRA_ARCHS:tune-cortexr82 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr82" +BASE_LIB:tune-cortexr82 = "lib64" diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexa510.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexa510.inc new file mode 100644 index 0000000000..09219ec7f1 --- /dev/null +++ b/meta/conf/machine/include/arm/armv9a/tune-cortexa510.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-a510 +# +DEFAULTTUNE ?= "cortexa510" + +TUNEVALID[cortexa510] = "Enable cortex-a510 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa510', ' -mcpu=cortex-a510', '', d)}" + +require conf/machine/include/arm/arch-armv9a.inc + +AVAILTUNES += "cortexa510" +ARMPKGARCH:tune-cortexa510 = "cortexa510" +TUNE_FEATURES:tune-cortexa510 = "aarch64 crypto cortexa510" +PACKAGE_EXTRA_ARCHS:tune-cortexa510 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexa510" +BASE_LIB:tune-cortexa510 = "lib64" diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexa710.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexa710.inc new file mode 100644 index 0000000000..19743d67db --- /dev/null +++ b/meta/conf/machine/include/arm/armv9a/tune-cortexa710.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-a710 +# +DEFAULTTUNE ?= "cortexa710" + +TUNEVALID[cortexa710] = "Enable cortex-a710 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa710', ' -mcpu=cortex-a710', '', d)}" + +require conf/machine/include/arm/arch-armv9a.inc + +AVAILTUNES += "cortexa710" +ARMPKGARCH:tune-cortexa710 = "cortexa710" +TUNE_FEATURES:tune-cortexa710 = "aarch64 crypto cortexa710" +PACKAGE_EXTRA_ARCHS:tune-cortexa710 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexa710" +BASE_LIB:tune-cortexa710 = "lib64" diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexa715.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexa715.inc new file mode 100644 index 0000000000..2f6d8c6f8f --- /dev/null +++ b/meta/conf/machine/include/arm/armv9a/tune-cortexa715.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-a715 +# +DEFAULTTUNE ?= "cortexa715" + +TUNEVALID[cortexa715] = "Enable cortex-a715 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa715', ' -mcpu=cortex-a715', '', d)}" + +require conf/machine/include/arm/arch-armv9a.inc + +AVAILTUNES += "cortexa715" +ARMPKGARCH:tune-cortexa715 = "cortexa715" +TUNE_FEATURES:tune-cortexa715 = "aarch64 crypto cortexa715" +PACKAGE_EXTRA_ARCHS:tune-cortexa715 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexa715" +BASE_LIB:tune-cortexa715 = "lib64" diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexx2.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexx2.inc new file mode 100644 index 0000000000..c116e30ff5 --- /dev/null +++ b/meta/conf/machine/include/arm/armv9a/tune-cortexx2.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-x2 +# +DEFAULTTUNE ?= "cortexx2" + +TUNEVALID[cortexx2] = "Enable cortex-x2 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexx2', ' -mcpu=cortex-x2', '', d)}" + +require conf/machine/include/arm/arch-armv9a.inc + +AVAILTUNES += "cortexx2" +ARMPKGARCH:tune-cortexx2 = "cortexx2" +TUNE_FEATURES:tune-cortexx2 = "aarch64 crypto cortexx2" +PACKAGE_EXTRA_ARCHS:tune-cortexx2 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexx2" +BASE_LIB:tune-cortexx2 = "lib64" diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexx3.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexx3.inc new file mode 100644 index 0000000000..7982079ef8 --- /dev/null +++ b/meta/conf/machine/include/arm/armv9a/tune-cortexx3.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for cortex-x3 +# +DEFAULTTUNE ?= "cortexx3" + +TUNEVALID[cortexx3] = "Enable cortex-x3 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexx3', ' -mcpu=cortex-x3', '', d)}" + +require conf/machine/include/arm/arch-armv9a.inc + +AVAILTUNES += "cortexx3" +ARMPKGARCH:tune-cortexx3 = "cortexx3" +TUNE_FEATURES:tune-cortexx3 = "aarch64 crypto cortexx3" +PACKAGE_EXTRA_ARCHS:tune-cortexx3 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexx3" +BASE_LIB:tune-cortexx3 = "lib64" diff --git a/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc b/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc index d26ab25e48..ad60a3c9f3 100644 --- a/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc +++ b/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc @@ -12,7 +12,8 @@ require conf/machine/include/arm/arch-armv9a.inc AVAILTUNES += "neoversen2 neoversen2-crypto" ARMPKGARCH:tune-neoversen2 = "neoversen2" ARMPKGARCH:tune-neoversen2-crypto = "neoversen2-crypto" -TUNE_FEATURES:tune-neoversen2 = "${TUNE_FEATURES:tune-armv9a} neoversen2" +# We do not want -march since -mcpu is added above to cover for it +TUNE_FEATURES:tune-neoversen2 = "aarch64 neoversen2" TUNE_FEATURES:tune-neoversen2-crypto = "${TUNE_FEATURES:tune-neoversen2} crypto" PACKAGE_EXTRA_ARCHS:tune-neoversen2 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} neoversen2" PACKAGE_EXTRA_ARCHS:tune-neoversen2-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} neoversen2 neoversen2-crypto" diff --git a/meta/conf/machine/include/arm/armv9a/tune-neoversev2.inc b/meta/conf/machine/include/arm/armv9a/tune-neoversev2.inc new file mode 100644 index 0000000000..5d1e108468 --- /dev/null +++ b/meta/conf/machine/include/arm/armv9a/tune-neoversev2.inc @@ -0,0 +1,15 @@ +# +# Tune Settings for neoverse-v2 +# +DEFAULTTUNE ?= "neoversev2" + +TUNEVALID[neoversev2] = "Enable neoverse-v2 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversev2', ' -mcpu=neoverse-v2', '', d)}" + +require conf/machine/include/arm/arch-armv9a.inc + +AVAILTUNES += "neoversev2" +ARMPKGARCH:tune-neoversev2 = "neoversev2" +TUNE_FEATURES:tune-neoversev2 = "aarch64 crypto neoversev2" +PACKAGE_EXTRA_ARCHS:tune-neoversev2 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} neoversev2" +BASE_LIB:tune-neoversev2 = "lib64" diff --git a/meta/conf/machine/include/arm/feature-arm-sve.inc b/meta/conf/machine/include/arm/feature-arm-sve.inc new file mode 100644 index 0000000000..bdae3d8fc3 --- /dev/null +++ b/meta/conf/machine/include/arm/feature-arm-sve.inc @@ -0,0 +1,8 @@ +# Scalable Vector Extension (SVE) for Armv8-A and R +# Enabled by default for Armv9 + +TUNEVALID[sve] = "Enable SVE instructions for ARMv8" +TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'sve', '+sve', '', d)}" + +TUNEVALID[sve2] = "Enable SVE2 instructions for ARMv8" +TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'sve2', '+sve2', '', d)}" diff --git a/meta/conf/machine/include/arm/feature-arm-vfp.inc b/meta/conf/machine/include/arm/feature-arm-vfp.inc index 678888e638..d020100daa 100644 --- a/meta/conf/machine/include/arm/feature-arm-vfp.inc +++ b/meta/conf/machine/include/arm/feature-arm-vfp.inc @@ -5,11 +5,12 @@ TUNEVALID[vfp] = "Enable Vector Floating Point (vfp) unit." TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfp', ' vfp', '', d)}" +# simd is special, we don't pass this to the -mfpu, it's implied TUNE_CCARGS .= "${@ (' -mfpu=%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1]) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}" # The following deals with both vfpv3-d16 and vfpv4-d16 ARMPKGSFX_FPU = "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1].replace('-d16', 'd16')) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}" TUNEVALID[callconvention-hard] = "Enable EABI hard float call convention, requires VFP." -TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d) if (d.getVar('TUNE_CCARGS_MFPU') != '') else '' }" +TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d) if (d.getVar('TUNE_CCARGS_MFPU') != '' or bb.utils.contains('TUNE_FEATURES', 'simd', True, False, d)) else '' }" TUNE_CCARGS .= "${@ ' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}" ARMPKGSFX_EABI = "${@ 'hf' if (d.getVar('TUNE_CCARGS_MFLOAT') == 'hard') else ''}" |