From 079f34ce9fe3a90027ee6af1fc0c31f204b37c7b Mon Sep 17 00:00:00 2001 From: Peter Hoyes Date: Fri, 2 Jul 2021 16:33:40 +0100 Subject: [PATCH] arm-bsp/arch-armv8r64: Introduce armv8r64 compiler flags Introduce the proper compiler flags for armv8r64, and also disable -march=armv8-r for boot-wrapper-aarch64 Issue-Id: SCM-2342 Signed-off-by: Peter Hoyes Change-Id: I3d2fac232139b057a5d1a3a8c6f5b825f95d709a Signed-off-by: Jon Mason --- .../include/arm/armv8r/arch-armv8r64.inc | 28 +++++++++++++++++-- ...oot-wrapper-aarch64-fvp-baser-aemv8r64.inc | 2 ++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/meta-arm-bsp/conf/machine/include/arm/armv8r/arch-armv8r64.inc b/meta-arm-bsp/conf/machine/include/arm/armv8r/arch-armv8r64.inc index 4ae8a51e..92bfa313 100644 --- a/meta-arm-bsp/conf/machine/include/arm/armv8r/arch-armv8r64.inc +++ b/meta-arm-bsp/conf/machine/include/arm/armv8r/arch-armv8r64.inc @@ -1,4 +1,26 @@ -# We are temporarily using armv8-4a until GCC 11 is released and supported by -# oe-core which will include the armv8-r support for aarch64. +DEFAULTTUNE ?= "armv8r" -require conf/machine/include/arm/arch-armv8-4a.inc +TUNEVALID[armv8r] = "Enable instructions for ARMv8-r" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8r', ' -march=armv8-r', '', d)}" +TUNEVALID[crc] = "Enable instructions for ARMv8-r Cyclic Redundancy Check (CRC)" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}" +TUNEVALID[crypto] = "Enable instructions for ARMv8-r cryptographic" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8r', 'armv8-r:', '', d)}" + +require conf/machine/include/arm/arch-arm64.inc + +# Little Endian base configs +AVAILTUNES += "armv8r armv8r-crc armv8r-crypto" +ARMPKGARCH_tune-armv8r ?= "armv8r" +ARMPKGARCH_tune-armv8r-crc ?= "armv8r" +ARMPKGARCH_tune-armv8r-crypto ?= "armv8r" +TUNE_FEATURES_tune-armv8r = "aarch64 armv8r" +TUNE_FEATURES_tune-armv8r-crc = "${TUNE_FEATURES_tune-armv8r} crc" +TUNE_FEATURES_tune-armv8r-crypto = "${TUNE_FEATURES_tune-armv8r} crypto" +PACKAGE_EXTRA_ARCHS_tune-armv8r = "aarch64 armv8r" +PACKAGE_EXTRA_ARCHS_tune-armv8r-crc = "${PACKAGE_EXTRA_ARCHS_tune-armv8r} armv8r-crc" +PACKAGE_EXTRA_ARCHS_tune-armv8r-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8r} armv8r-crypto" +BASE_LIB_tune-armv8r = "lib64" +BASE_LIB_tune-armv8r-crc = "lib64" +BASE_LIB_tune-armv8r-crypto = "lib64" diff --git a/meta-arm-bsp/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64-fvp-baser-aemv8r64.inc b/meta-arm-bsp/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64-fvp-baser-aemv8r64.inc index b57bf114..7fbba3e5 100644 --- a/meta-arm-bsp/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64-fvp-baser-aemv8r64.inc +++ b/meta-arm-bsp/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64-fvp-baser-aemv8r64.inc @@ -10,3 +10,5 @@ BOOT_WRAPPER_AARCH64_CMDLINE = "\ earlycon console=ttyAMA0 loglevel=8 rootfstype=ext4 root=/dev/vda1 rw" EXTRA_OECONF_remove = "--enable-psci" + +TUNE_CCARGS = ""