summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine/include/arm/arch-armv8a.inc
diff options
context:
space:
mode:
authorJon Mason <jdmason@kudzu.us>2021-08-18 22:52:20 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-08-20 08:53:03 +0100
commitff0ea5633a8f1d9e5d709cae9b16482c6be4adcf (patch)
tree822c29ffc23f869a738f0f9ea1c1fcf2433d76e8 /meta/conf/machine/include/arm/arch-armv8a.inc
parenta3c1be72af66ba8dd1b1393f10dd1c13c7cb9509 (diff)
downloadpoky-ff0ea5633a8f1d9e5d709cae9b16482c6be4adcf.tar.gz
arch-arm*: add better support for gcc march extensions
GCC has the ability to pass extensions to the march parameter, which expand the funcationality of the march. For example "-march=armv7ve+simd" adds SIMD to ARMv7. Currently, there is no way to expand the march setting without modifying each instance, as you can't guarantee the ordering when using the existing TUNE_CCARGS. By introducing two new variables, TUNE_CCARGS_MARCH and TUNE_CCARGS_MARCH_OPT, we can enforce that these two go together. Also, expand existing and create new feature files that use these variables to expand the functionality. (From OE-Core rev: 794eb617bfd1997e7a3498812c63a20c58a10554) Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine/include/arm/arch-armv8a.inc')
-rw-r--r--meta/conf/machine/include/arm/arch-armv8a.inc8
1 files changed, 3 insertions, 5 deletions
diff --git a/meta/conf/machine/include/arm/arch-armv8a.inc b/meta/conf/machine/include/arm/arch-armv8a.inc
index 819dffbeba..97c944dfa5 100644
--- a/meta/conf/machine/include/arm/arch-armv8a.inc
+++ b/meta/conf/machine/include/arm/arch-armv8a.inc
@@ -1,14 +1,12 @@
1DEFAULTTUNE ?= "armv8a-crc" 1DEFAULTTUNE ?= "armv8a-crc"
2 2
3TUNEVALID[armv8a] = "Enable instructions for ARMv8-a" 3TUNEVALID[armv8a] = "Enable instructions for ARMv8-a"
4TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}" 4TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}"
5TUNEVALID[crc] = "Enable instructions for ARMv8-a Cyclic Redundancy Check (CRC)"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}"
7TUNEVALID[crypto] = "Enable instructions for ARMv8-a cryptographic"
8TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}"
9MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 'armv8a:', '', d)}" 5MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 'armv8a:', '', d)}"
10 6
11require 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
12 10
13# Little Endian base configs 11# Little Endian base configs
14AVAILTUNES += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto" 12AVAILTUNES += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto"