mirror of
https://git.yoctoproject.org/poky
synced 2026-04-04 23:02:22 +02:00
tune-neoversen2: support tune-neoversen2 base on armv9a
We supported neoversen2 base on armv8.5a in the past, add tune include for armv9a and support neoversen2 base on armv9a. (From OE-Core rev: 4a2c4cfaaa5a6d7175c81064939e21bcfe3e736a) Signed-off-by: Ruiqiang Hao <Ruiqiang.Hao@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
31565c258d
commit
f142d6440e
28
meta/conf/machine/include/arm/arch-armv9a.inc
Normal file
28
meta/conf/machine/include/arm/arch-armv9a.inc
Normal file
@@ -0,0 +1,28 @@
|
||||
DEFAULTTUNE ?= "armv9a-crc"
|
||||
|
||||
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"
|
||||
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"
|
||||
@@ -6,17 +6,15 @@ DEFAULTTUNE ?= "neoversen2"
|
||||
TUNEVALID[neoversen2] = "Enable Neoverse-N2 specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversen2', ' -mcpu=neoverse-n2', '', d)}"
|
||||
|
||||
# Even though the Neoverse N2 core implemnts the Arm v9.0-A architecture,
|
||||
# but the support of it in GCC is based on the Arm v8.5-A architecture.
|
||||
require conf/machine/include/arm/arch-armv8-5a.inc
|
||||
require conf/machine/include/arm/arch-armv9a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "neoversen2 neoversen2-crypto"
|
||||
ARMPKGARCH:tune-neoversen2 = "neoversen2"
|
||||
ARMPKGARCH:tune-neoversen2-crypto = "neoversen2-crypto"
|
||||
TUNE_FEATURES:tune-neoversen2 = "${TUNE_FEATURES:tune-armv8-5a} neoversen2"
|
||||
TUNE_FEATURES:tune-neoversen2 = "${TUNE_FEATURES:tune-armv9a} neoversen2"
|
||||
TUNE_FEATURES:tune-neoversen2-crypto = "${TUNE_FEATURES:tune-neoversen2} crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-neoversen2 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a} neoversen2"
|
||||
PACKAGE_EXTRA_ARCHS:tune-neoversen2-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto} neoversen2 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"
|
||||
BASE_LIB:tune-neoversen2 = "lib64"
|
||||
BASE_LIB:tune-neoversen2-crypto = "lib64"
|
||||
|
||||
Reference in New Issue
Block a user