]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
tunes/arm: add support for newer arm64 cores
authorJon Mason <jon.mason@arm.com>
Wed, 1 Oct 2025 17:58:14 +0000 (13:58 -0400)
committerMathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Fri, 3 Oct 2025 05:50:09 +0000 (07:50 +0200)
Add tunes for cores that have been present since GCC 14.1.0.
These have been present in meta-arm since mid-July, and have all been
verified with fvp-base and testimage.  Of those present in meta-arm,
arch-armv8-9a.inc, arch-armv9-4a.inc, and arch-armv9-5a.inc have been
excluded from this commit, as there are currently issues compiling some
packages (but still present in meta-arm for those that want to use them
despite those issues).

Signed-off-by: Jon Mason <jon.mason@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
meta/conf/machine/include/arm/arch-armv8-7a.inc [new file with mode: 0644]
meta/conf/machine/include/arm/arch-armv8-8a.inc [new file with mode: 0644]
meta/conf/machine/include/arm/arch-armv9-1a.inc [new file with mode: 0644]
meta/conf/machine/include/arm/arch-armv9-2a.inc [new file with mode: 0644]
meta/conf/machine/include/arm/arch-armv9-3a.inc [new file with mode: 0644]

diff --git a/meta/conf/machine/include/arm/arch-armv8-7a.inc b/meta/conf/machine/include/arm/arch-armv8-7a.inc
new file mode 100644 (file)
index 0000000..6039bac
--- /dev/null
@@ -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"
diff --git a/meta/conf/machine/include/arm/arch-armv8-8a.inc b/meta/conf/machine/include/arm/arch-armv8-8a.inc
new file mode 100644 (file)
index 0000000..5694330
--- /dev/null
@@ -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"
diff --git a/meta/conf/machine/include/arm/arch-armv9-1a.inc b/meta/conf/machine/include/arm/arch-armv9-1a.inc
new file mode 100644 (file)
index 0000000..f9e6dce
--- /dev/null
@@ -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-armv9a} armv9-1a"
+BASE_LIB:tune-armv9-1a                       = "lib64"
diff --git a/meta/conf/machine/include/arm/arch-armv9-2a.inc b/meta/conf/machine/include/arm/arch-armv9-2a.inc
new file mode 100644 (file)
index 0000000..4b5cf3e
--- /dev/null
@@ -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-armv9a} armv9-2a"
+BASE_LIB:tune-armv9-2a                       = "lib64"
diff --git a/meta/conf/machine/include/arm/arch-armv9-3a.inc b/meta/conf/machine/include/arm/arch-armv9-3a.inc
new file mode 100644 (file)
index 0000000..c345f15
--- /dev/null
@@ -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-armv9a} armv9-3a"
+BASE_LIB:tune-armv9-3a                       = "lib64"