Files
poky/meta/conf/machine/include/arm/arch-armv8a.inc
Jon Mason ff0ea5633a 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>
2021-08-20 08:53:03 +01:00

29 lines
1.6 KiB
PHP

DEFAULTTUNE ?= "armv8a-crc"
TUNEVALID[armv8a] = "Enable instructions for ARMv8-a"
TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 'armv8a:', '', 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 += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto"
ARMPKGARCH:tune-armv8a ?= "armv8a"
ARMPKGARCH:tune-armv8a-crc ?= "armv8a"
ARMPKGARCH:tune-armv8a-crypto ?= "armv8a"
ARMPKGARCH:tune-armv8a-crc-crypto ?= "armv8a"
TUNE_FEATURES:tune-armv8a = "aarch64 armv8a"
TUNE_FEATURES:tune-armv8a-crc = "${TUNE_FEATURES:tune-armv8a} crc"
TUNE_FEATURES:tune-armv8a-crypto = "${TUNE_FEATURES:tune-armv8a} crypto"
TUNE_FEATURES:tune-armv8a-crc-crypto = "${TUNE_FEATURES:tune-armv8a-crc} crypto"
PACKAGE_EXTRA_ARCHS:tune-armv8a = "aarch64 armv8a"
PACKAGE_EXTRA_ARCHS:tune-armv8a-crc = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8a-crc"
PACKAGE_EXTRA_ARCHS:tune-armv8a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8a-crypto"
PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} armv8a-crypto armv8a-crc-crypto"
BASE_LIB:tune-armv8a = "lib64"
BASE_LIB:tune-armv8a-crc = "lib64"
BASE_LIB:tune-armv8a-crypto = "lib64"
BASE_LIB:tune-armv8a-crc-crypto = "lib64"