new file mode 100644
@@ -0,0 +1,14 @@
+DEFAULTTUNE ?= "armv8-7a"
+
+TUNEVALID[armv8-7a] = "Enable instructions for ARMv8.7-a"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-7a', ' -march=armv8.7-a', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-7a', 'armv8-7a:', '', d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Little Endian base configs
+AVAILTUNES += "armv8-7a"
+ARMPKGARCH:tune-armv8-7a ?= "armv8-7a"
+TUNE_FEATURES:tune-armv8-7a = "aarch64 armv8-7a"
+PACKAGE_EXTRA_ARCHS:tune-armv8-7a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-7a"
+BASE_LIB:tune-armv8-7a = "lib64"
new file mode 100644
@@ -0,0 +1,14 @@
+DEFAULTTUNE ?= "armv8-8a"
+
+TUNEVALID[armv8-8a] = "Enable instructions for ARMv8.8-a"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-8a', ' -march=armv8.8-a', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-8a', 'armv8-8a:', '', d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Little Endian base configs
+AVAILTUNES += "armv8-8a"
+ARMPKGARCH:tune-armv8-8a ?= "armv8-8a"
+TUNE_FEATURES:tune-armv8-8a = "aarch64 armv8-8a"
+PACKAGE_EXTRA_ARCHS:tune-armv8-8a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-8a"
+BASE_LIB:tune-armv8-8a = "lib64"
new file mode 100644
@@ -0,0 +1,14 @@
+DEFAULTTUNE ?= "armv8-9a"
+
+TUNEVALID[armv8-9a] = "Enable instructions for ARMv8.9-a"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-9a', ' -march=armv8.9-a', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-9a', 'armv8-9a:', '', d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Little Endian base configs
+AVAILTUNES += "armv8-9a"
+ARMPKGARCH:tune-armv8-9a ?= "armv8-9a"
+TUNE_FEATURES:tune-armv8-9a = "aarch64 armv8-9a"
+PACKAGE_EXTRA_ARCHS:tune-armv8-9a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-9a"
+BASE_LIB:tune-armv8-9a = "lib64"
new file mode 100644
@@ -0,0 +1,13 @@
+DEFAULTTUNE ?= "armv9-1a"
+
+TUNEVALID[armv9-1a] = "Enable instructions for ARMv9.1-a"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9-1a', ' -march=armv9.1-a', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9-1a', 'armv9-1a:', '', d)}"
+
+require conf/machine/include/arm/arch-armv9a.inc
+
+AVAILTUNES += "armv9-1a"
+ARMPKGARCH:tune-armv9-1a ?= "armv9-1a"
+TUNE_FEATURES:tune-armv9-1a = "aarch64 armv9-1a"
+PACKAGE_EXTRA_ARCHS:tune-armv9-1a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv9-1a"
+BASE_LIB:tune-armv9-1a = "lib64"
new file mode 100644
@@ -0,0 +1,13 @@
+DEFAULTTUNE ?= "armv9-2a"
+
+TUNEVALID[armv9-2a] = "Enable instructions for ARMv9.2-a"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9-2a', ' -march=armv9.2-a', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9-2a', 'armv9-2a:', '', d)}"
+
+require conf/machine/include/arm/arch-armv9a.inc
+
+AVAILTUNES += "armv9-2a"
+ARMPKGARCH:tune-armv9-2a ?= "armv9-2a"
+TUNE_FEATURES:tune-armv9-2a = "aarch64 armv9-2a"
+PACKAGE_EXTRA_ARCHS:tune-armv9-2a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv9-2a"
+BASE_LIB:tune-armv9-2a = "lib64"
new file mode 100644
@@ -0,0 +1,13 @@
+DEFAULTTUNE ?= "armv9-3a"
+
+TUNEVALID[armv9-3a] = "Enable instructions for ARMv9.3-a"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9-3a', ' -march=armv9.3-a', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9-3a', 'armv9-3a:', '', d)}"
+
+require conf/machine/include/arm/arch-armv9a.inc
+
+AVAILTUNES += "armv9-3a"
+ARMPKGARCH:tune-armv9-3a ?= "armv9-3a"
+TUNE_FEATURES:tune-armv9-3a = "aarch64 armv9-3a"
+PACKAGE_EXTRA_ARCHS:tune-armv9-3a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv9-3a"
+BASE_LIB:tune-armv9-3a = "lib64"
new file mode 100644
@@ -0,0 +1,13 @@
+DEFAULTTUNE ?= "armv9-4a"
+
+TUNEVALID[armv9-4a] = "Enable instructions for ARMv9.4-a"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9-4a', ' -march=armv9.4-a', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9-4a', 'armv9-4a:', '', d)}"
+
+require conf/machine/include/arm/arch-armv9a.inc
+
+AVAILTUNES += "armv9-4a"
+ARMPKGARCH:tune-armv9-4a ?= "armv9-4a"
+TUNE_FEATURES:tune-armv9-4a = "aarch64 armv9-4a"
+PACKAGE_EXTRA_ARCHS:tune-armv9-4a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv9-4a"
+BASE_LIB:tune-armv9-4a = "lib64"
new file mode 100644
@@ -0,0 +1,13 @@
+DEFAULTTUNE ?= "armv9-5a"
+
+TUNEVALID[armv9-5a] = "Enable instructions for ARMv9.5-a"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9-5a', ' -march=armv9.5-a', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9-5a', 'armv9-5a:', '', d)}"
+
+require conf/machine/include/arm/arch-armv9a.inc
+
+AVAILTUNES += "armv9-5a"
+ARMPKGARCH:tune-armv9-5a ?= "armv9-5a"
+TUNE_FEATURES:tune-armv9-5a = "aarch64 armv9-5a"
+PACKAGE_EXTRA_ARCHS:tune-armv9-5a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv9-5a"
+BASE_LIB:tune-armv9-5a = "lib64"
Add some basic tunes for the newly added Arm architectures in GCC. These will need to be further fleshed out before submitting this to OE Core, but should be sufficient to use for machines that need them in the interim. Signed-off-by: Jon Mason <jon.mason@arm.com> --- .../conf/machine/include/arm/arch-armv8-7a.inc | 14 ++++++++++++++ .../conf/machine/include/arm/arch-armv8-8a.inc | 14 ++++++++++++++ .../conf/machine/include/arm/arch-armv8-9a.inc | 14 ++++++++++++++ .../conf/machine/include/arm/arch-armv9-1a.inc | 13 +++++++++++++ .../conf/machine/include/arm/arch-armv9-2a.inc | 13 +++++++++++++ .../conf/machine/include/arm/arch-armv9-3a.inc | 13 +++++++++++++ .../conf/machine/include/arm/arch-armv9-4a.inc | 13 +++++++++++++ .../conf/machine/include/arm/arch-armv9-5a.inc | 13 +++++++++++++ 8 files changed, 107 insertions(+) create mode 100644 meta-arm/conf/machine/include/arm/arch-armv8-7a.inc create mode 100644 meta-arm/conf/machine/include/arm/arch-armv8-8a.inc create mode 100644 meta-arm/conf/machine/include/arm/arch-armv8-9a.inc create mode 100644 meta-arm/conf/machine/include/arm/arch-armv9-1a.inc create mode 100644 meta-arm/conf/machine/include/arm/arch-armv9-2a.inc create mode 100644 meta-arm/conf/machine/include/arm/arch-armv9-3a.inc create mode 100644 meta-arm/conf/machine/include/arm/arch-armv9-4a.inc create mode 100644 meta-arm/conf/machine/include/arm/arch-armv9-5a.inc