Browse Source

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 <Peter.Hoyes@arm.com>
Change-Id: I3d2fac232139b057a5d1a3a8c6f5b825f95d709a
Signed-off-by: Jon Mason <jon.mason@arm.com>
Peter Hoyes 3 years ago
parent
commit
079f34ce9f

+ 25 - 3
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"

+ 2 - 0
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 = ""