summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine
diff options
context:
space:
mode:
Diffstat (limited to 'meta/conf/machine')
-rw-r--r--meta/conf/machine/include/README12
-rw-r--r--meta/conf/machine/include/arm/README2
-rw-r--r--meta/conf/machine/include/arm/arch-arm.inc6
-rw-r--r--meta/conf/machine/include/arm/arch-arm64.inc27
-rw-r--r--meta/conf/machine/include/arm/arch-armv4.inc26
-rw-r--r--meta/conf/machine/include/arm/arch-armv5-dsp.inc73
-rw-r--r--meta/conf/machine/include/arm/arch-armv5.inc74
-rw-r--r--meta/conf/machine/include/arm/arch-armv6.inc74
-rw-r--r--[-rwxr-xr-x]meta/conf/machine/include/arm/arch-armv6m.inc8
-rw-r--r--meta/conf/machine/include/arm/arch-armv7a.inc291
-rw-r--r--meta/conf/machine/include/arm/arch-armv7em.inc17
-rw-r--r--meta/conf/machine/include/arm/arch-armv7m.inc17
-rw-r--r--meta/conf/machine/include/arm/arch-armv7r.inc22
-rw-r--r--meta/conf/machine/include/arm/arch-armv7ve.inc290
-rw-r--r--meta/conf/machine/include/arm/arch-armv8-1a.inc18
-rw-r--r--meta/conf/machine/include/arm/arch-armv8-1m-main.inc18
-rw-r--r--meta/conf/machine/include/arm/arch-armv8-2a.inc21
-rw-r--r--meta/conf/machine/include/arm/arch-armv8-3a.inc22
-rw-r--r--meta/conf/machine/include/arm/arch-armv8-4a.inc24
-rw-r--r--meta/conf/machine/include/arm/arch-armv8-5a.inc24
-rw-r--r--meta/conf/machine/include/arm/arch-armv8-6a.inc22
-rw-r--r--meta/conf/machine/include/arm/arch-armv8a.inc40
-rw-r--r--meta/conf/machine/include/arm/arch-armv8m-base.inc17
-rw-r--r--meta/conf/machine/include/arm/arch-armv8m-main.inc28
-rw-r--r--meta/conf/machine/include/arm/arch-armv8r.inc38
-rw-r--r--meta/conf/machine/include/arm/arch-armv9a.inc19
-rw-r--r--meta/conf/machine/include/arm/armv4/tune-arm920t.inc (renamed from meta/conf/machine/include/tune-arm920t.inc)8
-rw-r--r--meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc (renamed from meta/conf/machine/include/tune-arm9tdmi.inc)8
-rw-r--r--meta/conf/machine/include/arm/armv4/tune-ep9312.inc (renamed from meta/conf/machine/include/tune-ep9312.inc)6
-rw-r--r--meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc (renamed from meta/conf/machine/include/tune-strongarm1100.inc)8
-rw-r--r--meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc (renamed from meta/conf/machine/include/tune-arm926ejs.inc)6
-rw-r--r--meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc (renamed from meta/conf/machine/include/tune-iwmmxt.inc)6
-rw-r--r--meta/conf/machine/include/arm/armv5/tune-xscale.inc (renamed from meta/conf/machine/include/tune-xscale.inc)12
-rw-r--r--meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc (renamed from meta/conf/machine/include/tune-arm1136jf-s.inc)12
-rw-r--r--meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc (renamed from meta/conf/machine/include/tune-arm1176jz-s.inc)12
-rw-r--r--meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc (renamed from meta/conf/machine/include/tune-cortex-m0.inc)6
-rw-r--r--meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc (renamed from meta/conf/machine/include/tune-cortex-m0plus.inc)6
-rw-r--r--meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc14
-rw-r--r--meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc51
-rw-r--r--meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc51
-rw-r--r--meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc51
-rw-r--r--meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc51
-rw-r--r--meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc39
-rw-r--r--meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc55
-rw-r--r--meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc14
-rw-r--r--meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc14
-rw-r--r--meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc14
-rw-r--r--meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc14
-rw-r--r--meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc14
-rw-r--r--meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc19
-rw-r--r--meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc14
-rw-r--r--meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc14
-rw-r--r--meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc15
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc (renamed from meta/conf/machine/include/tune-cortexa55.inc)9
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc9
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc9
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc17
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc9
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc17
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc9
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc9
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc9
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc17
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa78ae.inc15
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa78c.inc15
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexx1.inc15
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexx1c.inc15
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc9
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc8
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc9
-rw-r--r--meta/conf/machine/include/arm/armv8-4a/tune-neoverse512tvb.inc15
-rw-r--r--meta/conf/machine/include/arm/armv8-4a/tune-neoversev1.inc15
-rw-r--r--meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc15
-rw-r--r--meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc18
-rw-r--r--meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc18
-rw-r--r--meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc18
-rw-r--r--meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc17
-rw-r--r--meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc18
-rw-r--r--meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc18
-rw-r--r--meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc (renamed from meta/conf/machine/include/tune-cortexa57-cortexa53.inc)9
-rw-r--r--meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc18
-rw-r--r--meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc20
-rw-r--r--meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc18
-rw-r--r--meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc17
-rw-r--r--meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc20
-rw-r--r--meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc15
-rw-r--r--meta/conf/machine/include/arm/armv8a/tune-thunderx.inc19
-rw-r--r--meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc20
-rw-r--r--meta/conf/machine/include/arm/armv8r/tune-cortexr82.inc15
-rw-r--r--meta/conf/machine/include/arm/armv9a/tune-cortexa510.inc15
-rw-r--r--meta/conf/machine/include/arm/armv9a/tune-cortexa710.inc15
-rw-r--r--meta/conf/machine/include/arm/armv9a/tune-cortexa715.inc15
-rw-r--r--meta/conf/machine/include/arm/armv9a/tune-cortexx2.inc15
-rw-r--r--meta/conf/machine/include/arm/armv9a/tune-cortexx3.inc15
-rw-r--r--meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc21
-rw-r--r--meta/conf/machine/include/arm/armv9a/tune-neoversev2.inc15
-rw-r--r--meta/conf/machine/include/arm/feature-arm-crc.inc4
-rw-r--r--meta/conf/machine/include/arm/feature-arm-crypto.inc5
-rw-r--r--meta/conf/machine/include/arm/feature-arm-dsp.inc3
-rw-r--r--meta/conf/machine/include/arm/feature-arm-idiv.inc2
-rw-r--r--meta/conf/machine/include/arm/feature-arm-neon.inc5
-rw-r--r--meta/conf/machine/include/arm/feature-arm-simd.inc5
-rw-r--r--meta/conf/machine/include/arm/feature-arm-sve.inc8
-rw-r--r--meta/conf/machine/include/arm/feature-arm-thumb.inc6
-rw-r--r--meta/conf/machine/include/arm/feature-arm-vfp.inc3
-rw-r--r--meta/conf/machine/include/loongarch/arch-loongarch.inc7
-rw-r--r--meta/conf/machine/include/loongarch/qemuloongarch.inc35
-rw-r--r--meta/conf/machine/include/loongarch/tune-loongarch.inc13
-rw-r--r--meta/conf/machine/include/m68k/arch-m68k.inc2
-rw-r--r--meta/conf/machine/include/m68k/tune-mcf5441x.inc (renamed from meta/conf/machine/include/tune-mcf5441x.inc)8
-rw-r--r--meta/conf/machine/include/microblaze/feature-microblaze-versions.inc2
-rw-r--r--meta/conf/machine/include/microblaze/tune-microblaze.inc (renamed from meta/conf/machine/include/tune-microblaze.inc)4
-rw-r--r--meta/conf/machine/include/mips/README4
-rw-r--r--meta/conf/machine/include/mips/arch-mips.inc156
-rw-r--r--meta/conf/machine/include/mips/feature-mips-mips16e.inc2
-rw-r--r--meta/conf/machine/include/mips/qemuboot-mips.inc (renamed from meta/conf/machine/include/qemuboot-mips.inc)2
-rw-r--r--meta/conf/machine/include/mips/tune-mips-24k.inc38
-rw-r--r--meta/conf/machine/include/mips/tune-mips-74k.inc26
-rw-r--r--meta/conf/machine/include/mips/tune-mips32.inc29
-rw-r--r--meta/conf/machine/include/mips/tune-mips32r2.inc29
-rw-r--r--meta/conf/machine/include/mips/tune-mips32r6.inc29
-rw-r--r--meta/conf/machine/include/mips/tune-mips64.inc3
-rw-r--r--meta/conf/machine/include/mips/tune-mips64r2.inc96
-rw-r--r--meta/conf/machine/include/mips/tune-mips64r6.inc58
-rw-r--r--meta/conf/machine/include/mips/tune-octeon.inc32
-rw-r--r--meta/conf/machine/include/powerpc/README4
-rw-r--r--meta/conf/machine/include/powerpc/arch-powerpc.inc40
-rw-r--r--meta/conf/machine/include/powerpc/arch-powerpc64.inc19
-rw-r--r--meta/conf/machine/include/powerpc/tune-power5.inc24
-rw-r--r--meta/conf/machine/include/powerpc/tune-power6.inc24
-rw-r--r--meta/conf/machine/include/powerpc/tune-power7.inc24
-rw-r--r--meta/conf/machine/include/powerpc/tune-power8.inc31
-rw-r--r--meta/conf/machine/include/powerpc/tune-power9.inc31
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppc476.inc (renamed from meta/conf/machine/include/tune-ppc476.inc)6
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppc603e.inc11
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppc7400.inc11
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppce300c2.inc (renamed from meta/conf/machine/include/tune-ppce300c2.inc)6
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppce300c3.inc (renamed from meta/conf/machine/include/tune-ppce300c3.inc)15
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppce500.inc (renamed from meta/conf/machine/include/tune-ppce500.inc)6
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppce500mc.inc (renamed from meta/conf/machine/include/tune-ppce500mc.inc)9
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppce500v2.inc (renamed from meta/conf/machine/include/tune-ppce500v2.inc)6
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppce5500.inc20
-rw-r--r--meta/conf/machine/include/powerpc/tune-ppce6500.inc20
-rw-r--r--meta/conf/machine/include/qemu.inc10
-rw-r--r--meta/conf/machine/include/qemuboot-x86.inc13
-rw-r--r--meta/conf/machine/include/riscv/arch-riscv.inc14
-rw-r--r--meta/conf/machine/include/riscv/qemuriscv.inc13
-rw-r--r--meta/conf/machine/include/riscv/tune-riscv.inc44
-rw-r--r--meta/conf/machine/include/sh/README4
-rw-r--r--meta/conf/machine/include/sh/arch-sh.inc4
-rw-r--r--meta/conf/machine/include/sh/tune-sh3.inc17
-rw-r--r--meta/conf/machine/include/sh/tune-sh4.inc34
-rw-r--r--meta/conf/machine/include/tune-core2.inc38
-rw-r--r--meta/conf/machine/include/tune-cortexa15.inc51
-rw-r--r--meta/conf/machine/include/tune-cortexa17.inc51
-rw-r--r--meta/conf/machine/include/tune-cortexa32.inc17
-rw-r--r--meta/conf/machine/include/tune-cortexa35.inc17
-rw-r--r--meta/conf/machine/include/tune-cortexa5.inc51
-rw-r--r--meta/conf/machine/include/tune-cortexa53.inc17
-rw-r--r--meta/conf/machine/include/tune-cortexa57.inc17
-rw-r--r--meta/conf/machine/include/tune-cortexa7.inc51
-rw-r--r--meta/conf/machine/include/tune-cortexa72-cortexa53.inc19
-rw-r--r--meta/conf/machine/include/tune-cortexa72.inc13
-rw-r--r--meta/conf/machine/include/tune-cortexa73-cortexa53.inc19
-rw-r--r--meta/conf/machine/include/tune-cortexa8.inc39
-rw-r--r--meta/conf/machine/include/tune-cortexa9.inc55
-rw-r--r--meta/conf/machine/include/tune-mips32.inc29
-rw-r--r--meta/conf/machine/include/tune-mips32r2.inc29
-rw-r--r--meta/conf/machine/include/tune-mips32r6.inc29
-rw-r--r--meta/conf/machine/include/tune-mips64.inc3
-rw-r--r--meta/conf/machine/include/tune-mips64r2.inc84
-rw-r--r--meta/conf/machine/include/tune-mips64r6.inc58
-rw-r--r--meta/conf/machine/include/tune-octeon.inc32
-rw-r--r--meta/conf/machine/include/tune-power5.inc24
-rw-r--r--meta/conf/machine/include/tune-power6.inc24
-rw-r--r--meta/conf/machine/include/tune-power7.inc24
-rw-r--r--meta/conf/machine/include/tune-power9.inc31
-rw-r--r--meta/conf/machine/include/tune-ppc603e.inc14
-rw-r--r--meta/conf/machine/include/tune-ppc7400.inc14
-rw-r--r--meta/conf/machine/include/tune-ppce5500.inc23
-rw-r--r--meta/conf/machine/include/tune-ppce6500.inc24
-rw-r--r--meta/conf/machine/include/tune-sh3.inc17
-rw-r--r--meta/conf/machine/include/tune-sh4.inc34
-rw-r--r--meta/conf/machine/include/tune-thunderx.inc19
-rw-r--r--meta/conf/machine/include/x86/README2
-rw-r--r--meta/conf/machine/include/x86/arch-x86.inc28
-rw-r--r--meta/conf/machine/include/x86/qemuboot-x86.inc13
-rw-r--r--meta/conf/machine/include/x86/tune-atom.inc (renamed from meta/conf/machine/include/tune-atom.inc)2
-rw-r--r--meta/conf/machine/include/x86/tune-c3.inc (renamed from meta/conf/machine/include/tune-c3.inc)8
-rw-r--r--meta/conf/machine/include/x86/tune-core2.inc38
-rw-r--r--meta/conf/machine/include/x86/tune-corei7.inc (renamed from meta/conf/machine/include/tune-corei7.inc)26
-rw-r--r--meta/conf/machine/include/x86/tune-i586-nlp.inc (renamed from meta/conf/machine/include/tune-i586-nlp.inc)8
-rw-r--r--meta/conf/machine/include/x86/tune-i586.inc (renamed from meta/conf/machine/include/tune-i586.inc)8
-rw-r--r--meta/conf/machine/include/x86/tune-i686.inc (renamed from meta/conf/machine/include/tune-i686.inc)10
-rw-r--r--meta/conf/machine/include/x86/tune-x86-64-v3.inc31
-rw-r--r--meta/conf/machine/include/x86/x86-base.inc (renamed from meta/conf/machine/include/x86-base.inc)3
-rw-r--r--meta/conf/machine/qemuarm.conf14
-rw-r--r--meta/conf/machine/qemuarm64.conf18
-rw-r--r--meta/conf/machine/qemuarmv5.conf11
-rw-r--r--meta/conf/machine/qemuloongarch64.conf11
-rw-r--r--meta/conf/machine/qemumips.conf6
-rw-r--r--meta/conf/machine/qemumips64.conf6
-rw-r--r--meta/conf/machine/qemuppc.conf2
-rw-r--r--meta/conf/machine/qemuppc64.conf23
-rw-r--r--meta/conf/machine/qemuriscv32.conf16
-rw-r--r--meta/conf/machine/qemux86-64.conf5
-rw-r--r--meta/conf/machine/qemux86.conf5
207 files changed, 2856 insertions, 1879 deletions
diff --git a/meta/conf/machine/include/README b/meta/conf/machine/include/README
index d66130acbc..3ae68231d0 100644
--- a/meta/conf/machine/include/README
+++ b/meta/conf/machine/include/README
@@ -31,10 +31,10 @@ TUNECONFLICTS[feature] - A list of features which conflict with <feature>.
31New sanity checks will try to reject combinations in which a single 31New sanity checks will try to reject combinations in which a single
32tuning ends up with features which conflict with each other. 32tuning ends up with features which conflict with each other.
33 33
34TUNE_FEATURES - This is automatically defined as TUNE_FEATURES_tune-<tune>. 34TUNE_FEATURES - This is automatically defined as TUNE_FEATURES:tune-<tune>.
35See TUNE_FEATURES_tune-<tune> for more information. 35See TUNE_FEATURES:tune-<tune> for more information.
36 36
37TUNE_FEATURES_tune-<tune> - Specify the features used to describe a 37TUNE_FEATURES:tune-<tune> - Specify the features used to describe a
38specific tune. This is a list of features that a tune support, each 38specific tune. This is a list of features that a tune support, each
39feature must be in the TUNEVALID list. Note: the tune and a given 39feature must be in the TUNEVALID list. Note: the tune and a given
40feature name may be the same, but they have different purposes. Only 40feature name may be the same, but they have different purposes. Only
@@ -66,10 +66,10 @@ CPU family.
66 66
67PACKAGE_EXTRA_ARCHS - Lists all runtime compatible package 67PACKAGE_EXTRA_ARCHS - Lists all runtime compatible package
68architectures. By default this is equal to 68architectures. By default this is equal to
69PACKAGE_EXTRA_ARCHS_tune-<tune>. If an architecture deviates from the 69PACKAGE_EXTRA_ARCHS:tune-<tune>. If an architecture deviates from the
70default it will be listed in the architecture README. 70default it will be listed in the architecture README.
71 71
72PACKAGE_EXTRA_ARCHS_tune-<tune> - List all of the package architectures 72PACKAGE_EXTRA_ARCHS:tune-<tune> - List all of the package architectures
73that are compatible with this specific tune. The package arch of this 73that are compatible with this specific tune. The package arch of this
74tune must be in the list. 74tune must be in the list.
75 75
@@ -79,7 +79,7 @@ architecture specific floating point. This is synchronized with the
79compiler and other toolchain items. This should be dynamically 79compiler and other toolchain items. This should be dynamically
80configured in the same way that TUNE_CCARGS is. 80configured in the same way that TUNE_CCARGS is.
81 81
82BASE_LIB_tune-<tune> - The "/lib" location for a specific ABI. This is 82BASE_LIB:tune-<tune> - The "/lib" location for a specific ABI. This is
83used in a multilib configuration to place the libraries in the correct, 83used in a multilib configuration to place the libraries in the correct,
84non-conflicting locations. 84non-conflicting locations.
85 85
diff --git a/meta/conf/machine/include/arm/README b/meta/conf/machine/include/arm/README
index a1beb75fdf..c5637798e6 100644
--- a/meta/conf/machine/include/arm/README
+++ b/meta/conf/machine/include/arm/README
@@ -10,7 +10,7 @@ of the existence of the "bigendian" feature in a given tune.
10 10
11A small set of ARM specific variables have been defined to allow 11A small set of ARM specific variables have been defined to allow
12TUNE_PKGARCH to be automatically defined. Optimized tunings must NOT 12TUNE_PKGARCH to be automatically defined. Optimized tunings must NOT
13change the definiton of TUNE_PKGARCH. TUNE_PKGACH_tune-<tune> will be 13change the definiton of TUNE_PKGARCH. TUNE_PKGACH:tune-<tune> will be
14ignored. The format of the package arch is enforced by the TUNE_PKGARCH 14ignored. The format of the package arch is enforced by the TUNE_PKGARCH
15default. The format must be of the form: 15default. The format must be of the form:
16<armversion>[t][e][hf][b][-vfp][-neon] 16<armversion>[t][e][hf][b][-vfp][-neon]
diff --git a/meta/conf/machine/include/arm/arch-arm.inc b/meta/conf/machine/include/arm/arch-arm.inc
index 99625d8417..f1e92e19c6 100644
--- a/meta/conf/machine/include/arm/arch-arm.inc
+++ b/meta/conf/machine/include/arm/arch-arm.inc
@@ -1,7 +1,7 @@
1 1
2TUNEVALID[bigendian] = "Enable big-endian mode." 2TUNEVALID[bigendian] = "Enable big-endian mode."
3 3
4ARMPKGARCH = "${ARMPKGARCH_tune-${DEFAULTTUNE}}" 4ARMPKGARCH = "${ARMPKGARCH:tune-${DEFAULTTUNE}}"
5ARMPKGSFX_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'b', '', d)}" 5ARMPKGSFX_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'b', '', d)}"
6ARMPKGSFX_FPU ??= "" 6ARMPKGSFX_FPU ??= ""
7ARMPKGSFX_DSP ??= "" 7ARMPKGSFX_DSP ??= ""
@@ -14,3 +14,7 @@ TUNE_PKGARCH = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}
14ABIEXTENSION = "eabi" 14ABIEXTENSION = "eabi"
15 15
16TARGET_FPU = "${@d.getVar('TUNE_CCARGS_MFLOAT') or 'soft'}" 16TARGET_FPU = "${@d.getVar('TUNE_CCARGS_MFLOAT') or 'soft'}"
17
18# Some -march settings need a +X option passed in. Since we cannot guarantee that any specified TUNE_CCARGS option is set in any order, we must hard code the order here to allow for it.
19TUNE_CCARGS_MARCH_OPTS ??= ""
20TUNE_CCARGS .= "${TUNE_CCARGS_MARCH}${TUNE_CCARGS_MARCH_OPTS}"
diff --git a/meta/conf/machine/include/arm/arch-arm64.inc b/meta/conf/machine/include/arm/arch-arm64.inc
index eab3323ec6..832d0000ac 100644
--- a/meta/conf/machine/include/arm/arch-arm64.inc
+++ b/meta/conf/machine/include/arm/arch-arm64.inc
@@ -9,17 +9,17 @@ MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'aarch64:'
9 9
10# Little Endian base configs 10# Little Endian base configs
11AVAILTUNES += "aarch64 aarch64_be" 11AVAILTUNES += "aarch64 aarch64_be"
12ARMPKGARCH_tune-aarch64 ?= "aarch64" 12ARMPKGARCH:tune-aarch64 ?= "aarch64"
13ARMPKGARCH_tune-aarch64_be ?= "aarch64" 13ARMPKGARCH:tune-aarch64_be ?= "aarch64"
14TUNE_FEATURES_tune-aarch64 = "aarch64" 14TUNE_FEATURES:tune-aarch64 = "aarch64"
15TUNE_FEATURES_tune-aarch64_be = "${TUNE_FEATURES_tune-aarch64} bigendian" 15TUNE_FEATURES:tune-aarch64_be = "${TUNE_FEATURES:tune-aarch64} bigendian"
16TUNE_PKGARCH_64_tune-aarch64 = "aarch64" 16TUNE_PKGARCH_64:tune-aarch64 = "aarch64"
17TUNE_PKGARCH_64_tune-aarch64_be = "aarch64_be" 17TUNE_PKGARCH_64:tune-aarch64_be = "aarch64_be"
18BASE_LIB_tune-aarch64 = "lib64" 18BASE_LIB:tune-aarch64 = "lib64"
19BASE_LIB_tune-aarch64_be = "lib64" 19BASE_LIB:tune-aarch64_be = "lib64"
20 20
21PACKAGE_EXTRA_ARCHS_tune-aarch64 = "aarch64" 21PACKAGE_EXTRA_ARCHS:tune-aarch64 = "aarch64"
22PACKAGE_EXTRA_ARCHS_tune-aarch64_be = "aarch64_be" 22PACKAGE_EXTRA_ARCHS:tune-aarch64_be = "aarch64_be"
23 23
24ARMPKGSFX_ENDIAN_64 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '_be', '', d)}" 24ARMPKGSFX_ENDIAN_64 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '_be', '', d)}"
25TUNE_ARCH_64 = "aarch64${ARMPKGSFX_ENDIAN_64}" 25TUNE_ARCH_64 = "aarch64${ARMPKGSFX_ENDIAN_64}"
@@ -37,3 +37,8 @@ TUNE_ARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_ARCH_64}',
37TUNE_PKGARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_PKGARCH_64}', '${TUNE_PKGARCH_32}', d)}" 37TUNE_PKGARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_PKGARCH_64}', '${TUNE_PKGARCH_32}', d)}"
38ABIEXTENSION = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${ABIEXTENSION_64}', '${ABIEXTENSION_32}', d)}" 38ABIEXTENSION = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${ABIEXTENSION_64}', '${ABIEXTENSION_32}', d)}"
39TARGET_FPU = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TARGET_FPU_64}', '${TARGET_FPU_32}', d)}" 39TARGET_FPU = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TARGET_FPU_64}', '${TARGET_FPU_32}', d)}"
40
41# Emit branch protection (PAC/BTI) instructions. On hardware that doesn't
42# support these they're meaningless NOP instructions, so there's very little
43# reason not to.
44TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', ' -mbranch-protection=standard', '', d)}"
diff --git a/meta/conf/machine/include/arm/arch-armv4.inc b/meta/conf/machine/include/arm/arch-armv4.inc
index fac2bdf952..be5761fb20 100644
--- a/meta/conf/machine/include/arm/arch-armv4.inc
+++ b/meta/conf/machine/include/arm/arch-armv4.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv4"
2 2
3TUNEVALID[arm] = "Enable ARM instruction set" 3TUNEVALID[arm] = "Enable ARM instruction set"
4TUNEVALID[armv4] = "Enable instructions for ARMv4" 4TUNEVALID[armv4] = "Enable instructions for ARMv4"
5TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4t', '', d)}" 5TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4${ARMPKGSFX_THUMB}', '', d)}"
6# enable --fix-v4bx when we have armv4 in TUNE_FEATURES, but then disable it when we have also armv5 or thumb 6# enable --fix-v4bx when we have armv4 in TUNE_FEATURES, but then disable it when we have also armv5 or thumb
7# maybe we should extend bb.utils.contains to support check for any checkvalues in value, now it does 7# maybe we should extend bb.utils.contains to support check for any checkvalues in value, now it does
8# checkvalues.issubset(val) which cannot be used for negative test of foo neither bar in value 8# checkvalues.issubset(val) which cannot be used for negative test of foo neither bar in value
@@ -17,18 +17,18 @@ require conf/machine/include/arm/feature-arm-thumb.inc
17 17
18# Little Endian 18# Little Endian
19AVAILTUNES += "armv4 armv4t" 19AVAILTUNES += "armv4 armv4t"
20ARMPKGARCH_tune-armv4 ?= "armv4" 20ARMPKGARCH:tune-armv4 ?= "armv4"
21ARMPKGARCH_tune-armv4t ?= "armv4" 21ARMPKGARCH:tune-armv4t ?= "armv4"
22TUNE_FEATURES_tune-armv4 = "arm armv4" 22TUNE_FEATURES:tune-armv4 = "arm armv4"
23TUNE_FEATURES_tune-armv4t = "${TUNE_FEATURES_tune-armv4} thumb" 23TUNE_FEATURES:tune-armv4t = "${TUNE_FEATURES:tune-armv4} thumb"
24PACKAGE_EXTRA_ARCHS_tune-armv4 = "arm armv4" 24PACKAGE_EXTRA_ARCHS:tune-armv4 = "arm armv4"
25PACKAGE_EXTRA_ARCHS_tune-armv4t = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv4t" 25PACKAGE_EXTRA_ARCHS:tune-armv4t = "${PACKAGE_EXTRA_ARCHS:tune-armv4} armv4t"
26 26
27# Big Endian 27# Big Endian
28AVAILTUNES += "armv4b armv4tb" 28AVAILTUNES += "armv4b armv4tb"
29ARMPKGARCH_tune-armv4b ?= "armv4" 29ARMPKGARCH:tune-armv4b ?= "armv4"
30ARMPKGARCH_tune-armv4tb ?= "armv4" 30ARMPKGARCH:tune-armv4tb ?= "armv4"
31TUNE_FEATURES_tune-armv4b = "${TUNE_FEATURES_tune-armv4} bigendian" 31TUNE_FEATURES:tune-armv4b = "${TUNE_FEATURES:tune-armv4} bigendian"
32TUNE_FEATURES_tune-armv4tb = "${TUNE_FEATURES_tune-armv4t} bigendian" 32TUNE_FEATURES:tune-armv4tb = "${TUNE_FEATURES:tune-armv4t} bigendian"
33PACKAGE_EXTRA_ARCHS_tune-armv4b = "armeb armv4b" 33PACKAGE_EXTRA_ARCHS:tune-armv4b = "armeb armv4b"
34PACKAGE_EXTRA_ARCHS_tune-armv4tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv4tb" 34PACKAGE_EXTRA_ARCHS:tune-armv4tb = "${PACKAGE_EXTRA_ARCHS:tune-armv4b} armv4tb"
diff --git a/meta/conf/machine/include/arm/arch-armv5-dsp.inc b/meta/conf/machine/include/arm/arch-armv5-dsp.inc
index d117af1520..f3c749d722 100644
--- a/meta/conf/machine/include/arm/arch-armv5-dsp.inc
+++ b/meta/conf/machine/include/arm/arch-armv5-dsp.inc
@@ -1,3 +1,4 @@
1# Can't use feature-arm-dsp.inc, since that will add "+dsp", which isn't supported in GCC for ARMv5
1ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}" 2ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}"
2TUNEVALID[dsp] = "ARM DSP functionality" 3TUNEVALID[dsp] = "ARM DSP functionality"
3 4
@@ -5,48 +6,48 @@ require conf/machine/include/arm/arch-armv5.inc
5 6
6# Little Endian 7# Little Endian
7AVAILTUNES += "armv5e armv5te" 8AVAILTUNES += "armv5e armv5te"
8ARMPKGARCH_tune-armv5e ?= "armv5" 9ARMPKGARCH:tune-armv5e ?= "armv5"
9ARMPKGARCH_tune-armv5te ?= "armv5" 10ARMPKGARCH:tune-armv5te ?= "armv5"
10TUNE_FEATURES_tune-armv5e = "${TUNE_FEATURES_tune-armv5} dsp" 11TUNE_FEATURES:tune-armv5e = "${TUNE_FEATURES:tune-armv5} dsp"
11TUNE_FEATURES_tune-armv5te = "${TUNE_FEATURES_tune-armv5t} dsp" 12TUNE_FEATURES:tune-armv5te = "${TUNE_FEATURES:tune-armv5t} dsp"
12PACKAGE_EXTRA_ARCHS_tune-armv5e = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5e" 13PACKAGE_EXTRA_ARCHS:tune-armv5e = "${PACKAGE_EXTRA_ARCHS:tune-armv5} armv5e"
13PACKAGE_EXTRA_ARCHS_tune-armv5te = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5e armv5te" 14PACKAGE_EXTRA_ARCHS:tune-armv5te = "${PACKAGE_EXTRA_ARCHS:tune-armv5t} armv5e armv5te"
14 15
15# Little Endian + VFP/DSP 16# Little Endian + VFP/DSP
16AVAILTUNES += "armv5e-vfp armv5te-vfp armv5ehf-vfp armv5tehf-vfp" 17AVAILTUNES += "armv5e-vfp armv5te-vfp armv5ehf-vfp armv5tehf-vfp"
17ARMPKGARCH_tune-armv5e-vfp ?= "armv5" 18ARMPKGARCH:tune-armv5e-vfp ?= "armv5"
18ARMPKGARCH_tune-armv5te-vfp ?= "armv5" 19ARMPKGARCH:tune-armv5te-vfp ?= "armv5"
19ARMPKGARCH_tune-armv5ehf-vfp ?= "armv5" 20ARMPKGARCH:tune-armv5ehf-vfp ?= "armv5"
20ARMPKGARCH_tune-armv5tehf-vfp ?= "armv5" 21ARMPKGARCH:tune-armv5tehf-vfp ?= "armv5"
21TUNE_FEATURES_tune-armv5e-vfp = "${TUNE_FEATURES_tune-armv5e} vfp" 22TUNE_FEATURES:tune-armv5e-vfp = "${TUNE_FEATURES:tune-armv5e} vfp"
22TUNE_FEATURES_tune-armv5te-vfp = "${TUNE_FEATURES_tune-armv5te} vfp" 23TUNE_FEATURES:tune-armv5te-vfp = "${TUNE_FEATURES:tune-armv5te} vfp"
23TUNE_FEATURES_tune-armv5ehf-vfp = "${TUNE_FEATURES_tune-armv5e-vfp} callconvention-hard" 24TUNE_FEATURES:tune-armv5ehf-vfp = "${TUNE_FEATURES:tune-armv5e-vfp} callconvention-hard"
24TUNE_FEATURES_tune-armv5tehf-vfp = "${TUNE_FEATURES_tune-armv5te-vfp} callconvention-hard" 25TUNE_FEATURES:tune-armv5tehf-vfp = "${TUNE_FEATURES:tune-armv5te-vfp} callconvention-hard"
25PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5-vfp} armv5e armv5e-vfp" 26PACKAGE_EXTRA_ARCHS:tune-armv5e-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5-vfp} armv5e armv5e-vfp"
26PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp} armv5e armv5te armv5e-vfp armv5te-vfp" 27PACKAGE_EXTRA_ARCHS:tune-armv5te-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5t-vfp} armv5e armv5te armv5e-vfp armv5te-vfp"
27PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp} armv5ehf-vfp" 28PACKAGE_EXTRA_ARCHS:tune-armv5ehf-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5hf-vfp} armv5ehf-vfp"
28PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp" 29PACKAGE_EXTRA_ARCHS:tune-armv5tehf-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp"
29 30
30# Big Endian 31# Big Endian
31AVAILTUNES += "armv5eb armv5teb" 32AVAILTUNES += "armv5eb armv5teb"
32ARMPKGARCH_tune-armv5eb ?= "armv5" 33ARMPKGARCH:tune-armv5eb ?= "armv5"
33ARMPKGARCH_tune-armv5teb ?= "armv5" 34ARMPKGARCH:tune-armv5teb ?= "armv5"
34TUNE_FEATURES_tune-armv5eb = "${TUNE_FEATURES_tune-armv5e} bigendian" 35TUNE_FEATURES:tune-armv5eb = "${TUNE_FEATURES:tune-armv5e} bigendian"
35TUNE_FEATURES_tune-armv5teb = "${TUNE_FEATURES_tune-armv5te} bigendian" 36TUNE_FEATURES:tune-armv5teb = "${TUNE_FEATURES:tune-armv5te} bigendian"
36PACKAGE_EXTRA_ARCHS_tune-armv5eb = "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5eb" 37PACKAGE_EXTRA_ARCHS:tune-armv5eb = "${PACKAGE_EXTRA_ARCHS:tune-armv5b} armv5eb"
37PACKAGE_EXTRA_ARCHS_tune-armv5teb = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5eb armv5teb" 38PACKAGE_EXTRA_ARCHS:tune-armv5teb = "${PACKAGE_EXTRA_ARCHS:tune-armv5tb} armv5eb armv5teb"
38 39
39# Big Endian + VFP/DSP 40# Big Endian + VFP/DSP
40AVAILTUNES += "armv5eb-vfp armv5teb-vfp armv5ehfb-vfp armv5tehfb-vfp" 41AVAILTUNES += "armv5eb-vfp armv5teb-vfp armv5ehfb-vfp armv5tehfb-vfp"
41ARMPKGARCH_tune-armv5eb-vfp ?= "armv5" 42ARMPKGARCH:tune-armv5eb-vfp ?= "armv5"
42ARMPKGARCH_tune-armv5teb-vfp ?= "armv5" 43ARMPKGARCH:tune-armv5teb-vfp ?= "armv5"
43ARMPKGARCH_tune-armv5ehfb-vfp ?= "armv5" 44ARMPKGARCH:tune-armv5ehfb-vfp ?= "armv5"
44ARMPKGARCH_tune-armv5tehfb-vfp ?= "armv5" 45ARMPKGARCH:tune-armv5tehfb-vfp ?= "armv5"
45TUNE_FEATURES_tune-armv5eb-vfp = "${TUNE_FEATURES_tune-armv5e-vfp} bigendian" 46TUNE_FEATURES:tune-armv5eb-vfp = "${TUNE_FEATURES:tune-armv5e-vfp} bigendian"
46TUNE_FEATURES_tune-armv5teb-vfp = "${TUNE_FEATURES_tune-armv5te-vfp} bigendian" 47TUNE_FEATURES:tune-armv5teb-vfp = "${TUNE_FEATURES:tune-armv5te-vfp} bigendian"
47TUNE_FEATURES_tune-armv5ehfb-vfp = "${TUNE_FEATURES_tune-armv5ehf-vfp} bigendian" 48TUNE_FEATURES:tune-armv5ehfb-vfp = "${TUNE_FEATURES:tune-armv5ehf-vfp} bigendian"
48TUNE_FEATURES_tune-armv5tehfb-vfp = "${TUNE_FEATURES_tune-armv5tehf-vfp} bigendian" 49TUNE_FEATURES:tune-armv5tehfb-vfp = "${TUNE_FEATURES:tune-armv5tehf-vfp} bigendian"
49PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp} armv5eb armv5eb-vfp" 50PACKAGE_EXTRA_ARCHS:tune-armv5eb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5b-vfp} armv5eb armv5eb-vfp"
50PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp} armv5eb armv5teb armv5eb-vfp armv5teb-vfp" 51PACKAGE_EXTRA_ARCHS:tune-armv5teb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5tb-vfp} armv5eb armv5teb armv5eb-vfp armv5teb-vfp"
51PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp} armv5ehfb-vfp" 52PACKAGE_EXTRA_ARCHS:tune-armv5ehfb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5hfb-vfp} armv5ehfb-vfp"
52PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp} armv5ehfb-vfp armv5tehfb-vfp" 53PACKAGE_EXTRA_ARCHS:tune-armv5tehfb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5thfb-vfp} armv5ehfb-vfp armv5tehfb-vfp"
diff --git a/meta/conf/machine/include/arm/arch-armv5.inc b/meta/conf/machine/include/arm/arch-armv5.inc
index 52d8590165..6bb465e7b6 100644
--- a/meta/conf/machine/include/arm/arch-armv5.inc
+++ b/meta/conf/machine/include/arm/arch-armv5.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv5"
2 2
3TUNEVALID[armv5] = "Enable instructions for ARMv5" 3TUNEVALID[armv5] = "Enable instructions for ARMv5"
4TUNECONFLICTS[armv5] = "armv4" 4TUNECONFLICTS[armv5] = "armv4"
5TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' -march=armv5t${ARMPKGSFX_DSP}', '', d)}" 5TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' -march=armv5t${ARMPKGSFX_DSP}', '', d)}"
6MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv5', 'armv5:', '', d)}" 6MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv5', 'armv5:', '', d)}"
7 7
8require conf/machine/include/arm/arch-armv4.inc 8require conf/machine/include/arm/arch-armv4.inc
@@ -10,48 +10,48 @@ require conf/machine/include/arm/feature-arm-vfp.inc
10 10
11# Little Endian 11# Little Endian
12AVAILTUNES += "armv5 armv5t" 12AVAILTUNES += "armv5 armv5t"
13ARMPKGARCH_tune-armv5 ?= "armv5" 13ARMPKGARCH:tune-armv5 ?= "armv5"
14ARMPKGARCH_tune-armv5t ?= "armv5" 14ARMPKGARCH:tune-armv5t ?= "armv5"
15TUNE_FEATURES_tune-armv5 = "arm armv5" 15TUNE_FEATURES:tune-armv5 = "arm armv5"
16TUNE_FEATURES_tune-armv5t = "${TUNE_FEATURES_tune-armv5} thumb" 16TUNE_FEATURES:tune-armv5t = "${TUNE_FEATURES:tune-armv5} thumb"
17PACKAGE_EXTRA_ARCHS_tune-armv5 = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv5" 17PACKAGE_EXTRA_ARCHS:tune-armv5 = "${PACKAGE_EXTRA_ARCHS:tune-armv4} armv5"
18PACKAGE_EXTRA_ARCHS_tune-armv5t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} armv5 armv5t" 18PACKAGE_EXTRA_ARCHS:tune-armv5t = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} armv5 armv5t"
19 19
20# Little Endian + VFP/DSP 20# Little Endian + VFP/DSP
21AVAILTUNES += "armv5-vfp armv5t-vfp armv5hf-vfp armv5thf-vfp" 21AVAILTUNES += "armv5-vfp armv5t-vfp armv5hf-vfp armv5thf-vfp"
22ARMPKGARCH_tune-armv5-vfp ?= "armv5" 22ARMPKGARCH:tune-armv5-vfp ?= "armv5"
23ARMPKGARCH_tune-armv5t-vfp ?= "armv5" 23ARMPKGARCH:tune-armv5t-vfp ?= "armv5"
24ARMPKGARCH_tune-armv5hf-vfp ?= "armv5" 24ARMPKGARCH:tune-armv5hf-vfp ?= "armv5"
25ARMPKGARCH_tune-armv5thf-vfp ?= "armv5" 25ARMPKGARCH:tune-armv5thf-vfp ?= "armv5"
26TUNE_FEATURES_tune-armv5-vfp = "${TUNE_FEATURES_tune-armv5} vfp" 26TUNE_FEATURES:tune-armv5-vfp = "${TUNE_FEATURES:tune-armv5} vfp"
27TUNE_FEATURES_tune-armv5t-vfp = "${TUNE_FEATURES_tune-armv5t} vfp" 27TUNE_FEATURES:tune-armv5t-vfp = "${TUNE_FEATURES:tune-armv5t} vfp"
28TUNE_FEATURES_tune-armv5hf-vfp = "${TUNE_FEATURES_tune-armv5-vfp} callconvention-hard" 28TUNE_FEATURES:tune-armv5hf-vfp = "${TUNE_FEATURES:tune-armv5-vfp} callconvention-hard"
29TUNE_FEATURES_tune-armv5thf-vfp = "${TUNE_FEATURES_tune-armv5t-vfp} callconvention-hard" 29TUNE_FEATURES:tune-armv5thf-vfp = "${TUNE_FEATURES:tune-armv5t-vfp} callconvention-hard"
30PACKAGE_EXTRA_ARCHS_tune-armv5-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5-vfp" 30PACKAGE_EXTRA_ARCHS:tune-armv5-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5} armv5-vfp"
31PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5-vfp armv5t-vfp" 31PACKAGE_EXTRA_ARCHS:tune-armv5t-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5t} armv5-vfp armv5t-vfp"
32PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp = "armv5hf-vfp" 32PACKAGE_EXTRA_ARCHS:tune-armv5hf-vfp = "armv5hf-vfp"
33PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp = "armv5hf-vfp armv5thf-vfp" 33PACKAGE_EXTRA_ARCHS:tune-armv5thf-vfp = "armv5hf-vfp armv5thf-vfp"
34 34
35# Big Endian 35# Big Endian
36AVAILTUNES += "armv5b armv5tb" 36AVAILTUNES += "armv5b armv5tb"
37ARMPKGARCH_tune-armv5b ?= "armv5" 37ARMPKGARCH:tune-armv5b ?= "armv5"
38ARMPKGARCH_tune-armv5tb ?= "armv5" 38ARMPKGARCH:tune-armv5tb ?= "armv5"
39TUNE_FEATURES_tune-armv5b = "${TUNE_FEATURES_tune-armv5} bigendian" 39TUNE_FEATURES:tune-armv5b = "${TUNE_FEATURES:tune-armv5} bigendian"
40TUNE_FEATURES_tune-armv5tb = "${TUNE_FEATURES_tune-armv5t} bigendian" 40TUNE_FEATURES:tune-armv5tb = "${TUNE_FEATURES:tune-armv5t} bigendian"
41PACKAGE_EXTRA_ARCHS_tune-armv5b = "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv5b" 41PACKAGE_EXTRA_ARCHS:tune-armv5b = "${PACKAGE_EXTRA_ARCHS:tune-armv4b} armv5b"
42PACKAGE_EXTRA_ARCHS_tune-armv5tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4tb} armv5b armv5tb" 42PACKAGE_EXTRA_ARCHS:tune-armv5tb = "${PACKAGE_EXTRA_ARCHS:tune-armv4tb} armv5b armv5tb"
43 43
44# Big Endian + VFP/DSP 44# Big Endian + VFP/DSP
45AVAILTUNES += "armv5b-vfp armv5tb-vfp armv5hfb-vfp armv5thfb-vfp" 45AVAILTUNES += "armv5b-vfp armv5tb-vfp armv5hfb-vfp armv5thfb-vfp"
46ARMPKGARCH_tune-armv5b-vfp ?= "armv5" 46ARMPKGARCH:tune-armv5b-vfp ?= "armv5"
47ARMPKGARCH_tune-armv5tb-vfp ?= "armv5" 47ARMPKGARCH:tune-armv5tb-vfp ?= "armv5"
48ARMPKGARCH_tune-armv5hfb-vfp ?= "armv5" 48ARMPKGARCH:tune-armv5hfb-vfp ?= "armv5"
49ARMPKGARCH_tune-armv5thfb-vfp ?= "armv5" 49ARMPKGARCH:tune-armv5thfb-vfp ?= "armv5"
50TUNE_FEATURES_tune-armv5b-vfp = "${TUNE_FEATURES_tune-armv5-vfp} bigendian" 50TUNE_FEATURES:tune-armv5b-vfp = "${TUNE_FEATURES:tune-armv5-vfp} bigendian"
51TUNE_FEATURES_tune-armv5tb-vfp = "${TUNE_FEATURES_tune-armv5t-vfp} bigendian" 51TUNE_FEATURES:tune-armv5tb-vfp = "${TUNE_FEATURES:tune-armv5t-vfp} bigendian"
52TUNE_FEATURES_tune-armv5hfb-vfp = "${TUNE_FEATURES_tune-armv5hf-vfp} bigendian" 52TUNE_FEATURES:tune-armv5hfb-vfp = "${TUNE_FEATURES:tune-armv5hf-vfp} bigendian"
53TUNE_FEATURES_tune-armv5thfb-vfp = "${TUNE_FEATURES_tune-armv5thf-vfp} bigendian" 53TUNE_FEATURES:tune-armv5thfb-vfp = "${TUNE_FEATURES:tune-armv5thf-vfp} bigendian"
54PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5b-vfp" 54PACKAGE_EXTRA_ARCHS:tune-armv5b-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5b} armv5b-vfp"
55PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5b-vfp armv5tb-vfp" 55PACKAGE_EXTRA_ARCHS:tune-armv5tb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5tb} armv5b-vfp armv5tb-vfp"
56PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp = "armv5hfb-vfp" 56PACKAGE_EXTRA_ARCHS:tune-armv5hfb-vfp = "armv5hfb-vfp"
57PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp = "armv5hfb-vfp armv5thfb-vfp" 57PACKAGE_EXTRA_ARCHS:tune-armv5thfb-vfp = "armv5hfb-vfp armv5thfb-vfp"
diff --git a/meta/conf/machine/include/arm/arch-armv6.inc b/meta/conf/machine/include/arm/arch-armv6.inc
index 7531890e2e..ef8d288ea7 100644
--- a/meta/conf/machine/include/arm/arch-armv6.inc
+++ b/meta/conf/machine/include/arm/arch-armv6.inc
@@ -2,49 +2,49 @@ DEFAULTTUNE ?= "armv6hf"
2 2
3TUNEVALID[armv6] = "Enable instructions for ARMv6" 3TUNEVALID[armv6] = "Enable instructions for ARMv6"
4TUNECONFLICTS[armv6] = "armv4 armv5" 4TUNECONFLICTS[armv6] = "armv4 armv5"
5TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' -march=armv6', '', d)}" 5TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' -march=armv6', '', d)}"
6MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6', 'armv6:', '', d)}" 6MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6', 'armv6:', '', d)}"
7 7
8require conf/machine/include/arm/arch-armv5-dsp.inc 8require conf/machine/include/arm/arch-armv5-dsp.inc
9 9
10# Little Endian 10# Little Endian
11AVAILTUNES += "armv6-novfp armv6t-novfp armv6 armv6t armv6hf armv6thf" 11AVAILTUNES += "armv6-novfp armv6t-novfp armv6 armv6t armv6hf armv6thf"
12ARMPKGARCH_tune-armv6-novfp ?= "armv6" 12ARMPKGARCH:tune-armv6-novfp ?= "armv6"
13ARMPKGARCH_tune-armv6t-novfp ?= "armv6" 13ARMPKGARCH:tune-armv6t-novfp ?= "armv6"
14ARMPKGARCH_tune-armv6 ?= "armv6" 14ARMPKGARCH:tune-armv6 ?= "armv6"
15ARMPKGARCH_tune-armv6t ?= "armv6" 15ARMPKGARCH:tune-armv6t ?= "armv6"
16ARMPKGARCH_tune-armv6hf ?= "armv6" 16ARMPKGARCH:tune-armv6hf ?= "armv6"
17ARMPKGARCH_tune-armv6thf ?= "armv6" 17ARMPKGARCH:tune-armv6thf ?= "armv6"
18TUNE_FEATURES_tune-armv6-novfp = "arm armv6" 18TUNE_FEATURES:tune-armv6-novfp = "arm armv6"
19TUNE_FEATURES_tune-armv6t-novfp = "${TUNE_FEATURES_tune-armv6-novfp} thumb" 19TUNE_FEATURES:tune-armv6t-novfp = "${TUNE_FEATURES:tune-armv6-novfp} thumb"
20TUNE_FEATURES_tune-armv6 = "${TUNE_FEATURES_tune-armv6-novfp} vfp" 20TUNE_FEATURES:tune-armv6 = "${TUNE_FEATURES:tune-armv6-novfp} vfp"
21TUNE_FEATURES_tune-armv6t = "${TUNE_FEATURES_tune-armv6t-novfp} vfp" 21TUNE_FEATURES:tune-armv6t = "${TUNE_FEATURES:tune-armv6t-novfp} vfp"
22TUNE_FEATURES_tune-armv6hf = "${TUNE_FEATURES_tune-armv6} callconvention-hard" 22TUNE_FEATURES:tune-armv6hf = "${TUNE_FEATURES:tune-armv6} callconvention-hard"
23TUNE_FEATURES_tune-armv6thf = "${TUNE_FEATURES_tune-armv6t} callconvention-hard" 23TUNE_FEATURES:tune-armv6thf = "${TUNE_FEATURES:tune-armv6t} callconvention-hard"
24PACKAGE_EXTRA_ARCHS_tune-armv6-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5e} armv6" 24PACKAGE_EXTRA_ARCHS:tune-armv6-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5e} armv6"
25PACKAGE_EXTRA_ARCHS_tune-armv6t-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} armv6 armv6t" 25PACKAGE_EXTRA_ARCHS:tune-armv6t-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} armv6 armv6t"
26PACKAGE_EXTRA_ARCHS_tune-armv6 = "${PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp} armv6 armv6-vfp" 26PACKAGE_EXTRA_ARCHS:tune-armv6 = "${PACKAGE_EXTRA_ARCHS:tune-armv5e-vfp} armv6 armv6-vfp"
27PACKAGE_EXTRA_ARCHS_tune-armv6t = "${PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp} armv6 armv6t armv6-vfp armv6t-vfp" 27PACKAGE_EXTRA_ARCHS:tune-armv6t = "${PACKAGE_EXTRA_ARCHS:tune-armv5te-vfp} armv6 armv6t armv6-vfp armv6t-vfp"
28PACKAGE_EXTRA_ARCHS_tune-armv6hf = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp} armv6hf-vfp" 28PACKAGE_EXTRA_ARCHS:tune-armv6hf = "${PACKAGE_EXTRA_ARCHS:tune-armv5ehf-vfp} armv6hf-vfp"
29PACKAGE_EXTRA_ARCHS_tune-armv6thf = "${PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp} armv6hf-vfp armv6thf-vfp" 29PACKAGE_EXTRA_ARCHS:tune-armv6thf = "${PACKAGE_EXTRA_ARCHS:tune-armv5tehf-vfp} armv6hf-vfp armv6thf-vfp"
30 30
31# Big Endian 31# Big Endian
32AVAILTUNES += "armv6b-novfp armv6tb-novfp armv6b armv6tb armv6hfb armv6thfb" 32AVAILTUNES += "armv6b-novfp armv6tb-novfp armv6b armv6tb armv6hfb armv6thfb"
33ARMPKGARCH_tune-armv6b-novfp ?= "armv6" 33ARMPKGARCH:tune-armv6b-novfp ?= "armv6"
34ARMPKGARCH_tune-armv6tb-novfp ?= "armv6" 34ARMPKGARCH:tune-armv6tb-novfp ?= "armv6"
35ARMPKGARCH_tune-armv6b ?= "armv6" 35ARMPKGARCH:tune-armv6b ?= "armv6"
36ARMPKGARCH_tune-armv6tb ?= "armv6" 36ARMPKGARCH:tune-armv6tb ?= "armv6"
37ARMPKGARCH_tune-armv6hfb ?= "armv6" 37ARMPKGARCH:tune-armv6hfb ?= "armv6"
38ARMPKGARCH_tune-armv6thfb ?= "armv6" 38ARMPKGARCH:tune-armv6thfb ?= "armv6"
39TUNE_FEATURES_tune-armv6b-novfp = "${TUNE_FEATURES_tune-armv6-novfp} bigendian" 39TUNE_FEATURES:tune-armv6b-novfp = "${TUNE_FEATURES:tune-armv6-novfp} bigendian"
40TUNE_FEATURES_tune-armv6tb-novfp = "${TUNE_FEATURES_tune-armv6t-novfp} bigendian" 40TUNE_FEATURES:tune-armv6tb-novfp = "${TUNE_FEATURES:tune-armv6t-novfp} bigendian"
41TUNE_FEATURES_tune-armv6b = "${TUNE_FEATURES_tune-armv6} bigendian" 41TUNE_FEATURES:tune-armv6b = "${TUNE_FEATURES:tune-armv6} bigendian"
42TUNE_FEATURES_tune-armv6tb = "${TUNE_FEATURES_tune-armv6t} bigendian" 42TUNE_FEATURES:tune-armv6tb = "${TUNE_FEATURES:tune-armv6t} bigendian"
43TUNE_FEATURES_tune-armv6hfb = "${TUNE_FEATURES_tune-armv6hf} bigendian" 43TUNE_FEATURES:tune-armv6hfb = "${TUNE_FEATURES:tune-armv6hf} bigendian"
44TUNE_FEATURES_tune-armv6thfb = "${TUNE_FEATURES_tune-armv6thf} bigendian" 44TUNE_FEATURES:tune-armv6thfb = "${TUNE_FEATURES:tune-armv6thf} bigendian"
45PACKAGE_EXTRA_ARCHS_tune-armv6b-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb} armv6b" 45PACKAGE_EXTRA_ARCHS:tune-armv6b-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5eb} armv6b"
46PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} armv6b armv6tb" 46PACKAGE_EXTRA_ARCHS:tune-armv6tb-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5teb} armv6b armv6tb"
47PACKAGE_EXTRA_ARCHS_tune-armv6b = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp} armv6b armv6b-vfp" 47PACKAGE_EXTRA_ARCHS:tune-armv6b = "${PACKAGE_EXTRA_ARCHS:tune-armv5eb-vfp} armv6b armv6b-vfp"
48PACKAGE_EXTRA_ARCHS_tune-armv6tb = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp} armv6b armv6tb armv6b-vfp armv6tb-vfp" 48PACKAGE_EXTRA_ARCHS:tune-armv6tb = "${PACKAGE_EXTRA_ARCHS:tune-armv5teb-vfp} armv6b armv6tb armv6b-vfp armv6tb-vfp"
49PACKAGE_EXTRA_ARCHS_tune-armv6hfb = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp} armv6hfb-vfp" 49PACKAGE_EXTRA_ARCHS:tune-armv6hfb = "${PACKAGE_EXTRA_ARCHS:tune-armv5ehfb-vfp} armv6hfb-vfp"
50PACKAGE_EXTRA_ARCHS_tune-armv6thfb = "${PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp} armv6hfb-vfp armv6thfb-vfp" 50PACKAGE_EXTRA_ARCHS:tune-armv6thfb = "${PACKAGE_EXTRA_ARCHS:tune-armv5tehfb-vfp} armv6hfb-vfp armv6thfb-vfp"
diff --git a/meta/conf/machine/include/arm/arch-armv6m.inc b/meta/conf/machine/include/arm/arch-armv6m.inc
index 739550d005..d6d6c7ed2d 100755..100644
--- a/meta/conf/machine/include/arm/arch-armv6m.inc
+++ b/meta/conf/machine/include/arm/arch-armv6m.inc
@@ -7,13 +7,13 @@ TUNECONFLICTS[armv6m] = "armv4 armv5 armv6 armv7a"
7 7
8# Use armv6s-m instead of armv6-m to avoid gcc bug "SVC is not permitted on this architecture". 8# Use armv6s-m instead of armv6-m to avoid gcc bug "SVC is not permitted on this architecture".
9# SVC is a valid instruction. 9# SVC is a valid instruction.
10TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', ' -march=armv6s-m', '', d)}" 10TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', ' -march=armv6s-m', '', d)}"
11MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', 'armv6m:', '', d)}" 11MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', 'armv6m:', '', d)}"
12 12
13require conf/machine/include/arm/arch-armv5.inc 13require conf/machine/include/arm/arch-armv5.inc
14 14
15# Little Endian 15# Little Endian
16AVAILTUNES += "armv6m" 16AVAILTUNES += "armv6m"
17ARMPKGARCH_tune-armv6m = "armv6m" 17ARMPKGARCH:tune-armv6m = "armv6m"
18TUNE_FEATURES_tune-armv6m = "armv6m" 18TUNE_FEATURES:tune-armv6m = "armv6m"
19PACKAGE_EXTRA_ARCHS_tune-armv6m = "armv6m" 19PACKAGE_EXTRA_ARCHS:tune-armv6m = "armv6m"
diff --git a/meta/conf/machine/include/arm/arch-armv7a.inc b/meta/conf/machine/include/arm/arch-armv7a.inc
index ce87af5306..74fc8d11ab 100644
--- a/meta/conf/machine/include/arm/arch-armv7a.inc
+++ b/meta/conf/machine/include/arm/arch-armv7a.inc
@@ -3,164 +3,165 @@ ARM_INSTRUCTION_SET ?= "thumb"
3 3
4TUNEVALID[armv7a] = "Enable instructions for ARMv7-a" 4TUNEVALID[armv7a] = "Enable instructions for ARMv7-a"
5TUNECONFLICTS[armv7a] = "armv4 armv5 armv6 armv7" 5TUNECONFLICTS[armv7a] = "armv4 armv5 armv6 armv7"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', ' -march=armv7-a', '', d)}" 6TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', ' -march=armv7-a', '', d)}"
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', 'armv7a:', '', d)}" 7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', 'armv7a:', '', d)}"
8 8
9require conf/machine/include/arm/arch-armv6.inc 9require conf/machine/include/arm/arch-armv6.inc
10require conf/machine/include/arm/feature-arm-neon.inc 10require conf/machine/include/arm/feature-arm-neon.inc
11require conf/machine/include/arm/feature-arm-simd.inc
11 12
12# Little Endian base configs 13# Little Endian base configs
13AVAILTUNES += "armv7a armv7at armv7a-vfpv3d16 armv7at-vfpv3d16 armv7a-vfpv3 armv7at-vfpv3 armv7a-vfpv4d16 armv7at-vfpv4d16 armv7a-neon armv7at-neon armv7a-neon-vfpv4 armv7at-neon-vfpv4" 14AVAILTUNES += "armv7a armv7at armv7a-vfpv3d16 armv7at-vfpv3d16 armv7a-vfpv3 armv7at-vfpv3 armv7a-vfpv4d16 armv7at-vfpv4d16 armv7a-neon armv7at-neon armv7a-neon-vfpv4 armv7at-neon-vfpv4"
14ARMPKGARCH_tune-armv7a ?= "armv7a" 15ARMPKGARCH:tune-armv7a ?= "armv7a"
15ARMPKGARCH_tune-armv7at ?= "armv7a" 16ARMPKGARCH:tune-armv7at ?= "armv7a"
16ARMPKGARCH_tune-armv7a-vfpv3d16 ?= "armv7a" 17ARMPKGARCH:tune-armv7a-vfpv3d16 ?= "armv7a"
17ARMPKGARCH_tune-armv7at-vfpv3d16 ?= "armv7a" 18ARMPKGARCH:tune-armv7at-vfpv3d16 ?= "armv7a"
18ARMPKGARCH_tune-armv7a-vfpv3 ?= "armv7a" 19ARMPKGARCH:tune-armv7a-vfpv3 ?= "armv7a"
19ARMPKGARCH_tune-armv7at-vfpv3 ?= "armv7a" 20ARMPKGARCH:tune-armv7at-vfpv3 ?= "armv7a"
20ARMPKGARCH_tune-armv7a-vfpv4d16 ?= "armv7a" 21ARMPKGARCH:tune-armv7a-vfpv4d16 ?= "armv7a"
21ARMPKGARCH_tune-armv7at-vfpv4d16 ?= "armv7a" 22ARMPKGARCH:tune-armv7at-vfpv4d16 ?= "armv7a"
22ARMPKGARCH_tune-armv7a-neon ?= "armv7a" 23ARMPKGARCH:tune-armv7a-neon ?= "armv7a"
23ARMPKGARCH_tune-armv7at-neon ?= "armv7a" 24ARMPKGARCH:tune-armv7at-neon ?= "armv7a"
24ARMPKGARCH_tune-armv7a-neon-vfpv4 ?= "armv7a" 25ARMPKGARCH:tune-armv7a-neon-vfpv4 ?= "armv7a"
25ARMPKGARCH_tune-armv7at-neon-vfpv4 ?= "armv7a" 26ARMPKGARCH:tune-armv7at-neon-vfpv4 ?= "armv7a"
26TUNE_FEATURES_tune-armv7a = "arm armv7a vfp" 27TUNE_FEATURES:tune-armv7a = "arm armv7a vfp"
27TUNE_FEATURES_tune-armv7at = "${TUNE_FEATURES_tune-armv7a} thumb" 28TUNE_FEATURES:tune-armv7at = "${TUNE_FEATURES:tune-armv7a} thumb"
28TUNE_FEATURES_tune-armv7a-vfpv3d16 = "${TUNE_FEATURES_tune-armv7a} vfpv3d16" 29TUNE_FEATURES:tune-armv7a-vfpv3d16 = "${TUNE_FEATURES:tune-armv7a} vfpv3d16"
29TUNE_FEATURES_tune-armv7at-vfpv3d16 = "${TUNE_FEATURES_tune-armv7at} vfpv3d16" 30TUNE_FEATURES:tune-armv7at-vfpv3d16 = "${TUNE_FEATURES:tune-armv7at} vfpv3d16"
30TUNE_FEATURES_tune-armv7a-vfpv3 = "${TUNE_FEATURES_tune-armv7a-vfpv3d16} vfpv3" 31TUNE_FEATURES:tune-armv7a-vfpv3 = "${TUNE_FEATURES:tune-armv7a-vfpv3d16} vfpv3"
31TUNE_FEATURES_tune-armv7at-vfpv3 = "${TUNE_FEATURES_tune-armv7at-vfpv3d16} vfpv3" 32TUNE_FEATURES:tune-armv7at-vfpv3 = "${TUNE_FEATURES:tune-armv7at-vfpv3d16} vfpv3"
32TUNE_FEATURES_tune-armv7a-vfpv4d16 = "${TUNE_FEATURES_tune-armv7a} vfpv4d16" 33TUNE_FEATURES:tune-armv7a-vfpv4d16 = "${TUNE_FEATURES:tune-armv7a} vfpv4d16"
33TUNE_FEATURES_tune-armv7at-vfpv4d16 = "${TUNE_FEATURES_tune-armv7at} vfpv4d16" 34TUNE_FEATURES:tune-armv7at-vfpv4d16 = "${TUNE_FEATURES:tune-armv7at} vfpv4d16"
34TUNE_FEATURES_tune-armv7a-neon = "${TUNE_FEATURES_tune-armv7a} neon" 35TUNE_FEATURES:tune-armv7a-neon = "${TUNE_FEATURES:tune-armv7a} neon"
35TUNE_FEATURES_tune-armv7at-neon = "${TUNE_FEATURES_tune-armv7at} neon" 36TUNE_FEATURES:tune-armv7at-neon = "${TUNE_FEATURES:tune-armv7at} neon"
36TUNE_FEATURES_tune-armv7a-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7a-neon} vfpv4" 37TUNE_FEATURES:tune-armv7a-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7a-neon} vfpv4"
37TUNE_FEATURES_tune-armv7at-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7at-neon} vfpv4" 38TUNE_FEATURES:tune-armv7at-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7at-neon} vfpv4"
38PACKAGE_EXTRA_ARCHS_tune-armv7a = "${PACKAGE_EXTRA_ARCHS_tune-armv6} armv7a armv7a-vfp" 39PACKAGE_EXTRA_ARCHS:tune-armv7a = "${PACKAGE_EXTRA_ARCHS:tune-armv6} armv7a armv7a-vfp"
39PACKAGE_EXTRA_ARCHS_tune-armv7at = "${PACKAGE_EXTRA_ARCHS_tune-armv6t} armv7a armv7a-vfp armv7at2-vfp" 40PACKAGE_EXTRA_ARCHS:tune-armv7at = "${PACKAGE_EXTRA_ARCHS:tune-armv6t} armv7a armv7a-vfp armv7at2-vfp"
40PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-vfpv3d16" 41PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7a-vfpv3d16"
41PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfpv3d16 armv7at2-vfpv3d16" 42PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7a-vfpv3d16 armv7at2-vfpv3d16"
42PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3d16} armv7a-vfpv3" 43PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3d16} armv7a-vfpv3"
43PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3d16} armv7a-vfpv3 armv7at2-vfpv3" 44PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3d16} armv7a-vfpv3 armv7at2-vfpv3"
44PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-vfpv4d16" 45PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7a-vfpv4d16"
45PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfpv4d16 armv7at2-vfpv4d16" 46PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7a-vfpv4d16 armv7at2-vfpv4d16"
46PACKAGE_EXTRA_ARCHS_tune-armv7a-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-neon" 47PACKAGE_EXTRA_ARCHS:tune-armv7a-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7a-neon"
47PACKAGE_EXTRA_ARCHS_tune-armv7at-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-neon armv7at2-neon" 48PACKAGE_EXTRA_ARCHS:tune-armv7at-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7a-neon armv7at2-neon"
48PACKAGE_EXTRA_ARCHS_tune-armv7a-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} armv7a-neon-vfpv4" 49PACKAGE_EXTRA_ARCHS:tune-armv7a-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} armv7a-neon-vfpv4"
49PACKAGE_EXTRA_ARCHS_tune-armv7at-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} armv7a-neon-vfpv4 armv7at2-neon-vfpv4" 50PACKAGE_EXTRA_ARCHS:tune-armv7at-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} armv7a-neon-vfpv4 armv7at2-neon-vfpv4"
50 51
51# HF Tunes 52# HF Tunes
52AVAILTUNES += "armv7ahf armv7athf armv7ahf-vfpv3d16 armv7athf-vfpv3d16 armv7ahf-vfpv3 armv7athf-vfpv3 armv7ahf-vfpv4d16 armv7athf-vfpv4d16 armv7ahf-neon armv7athf-neon armv7ahf-neon-vfpv4 armv7athf-neon-vfpv4" 53AVAILTUNES += "armv7ahf armv7athf armv7ahf-vfpv3d16 armv7athf-vfpv3d16 armv7ahf-vfpv3 armv7athf-vfpv3 armv7ahf-vfpv4d16 armv7athf-vfpv4d16 armv7ahf-neon armv7athf-neon armv7ahf-neon-vfpv4 armv7athf-neon-vfpv4"
53ARMPKGARCH_tune-armv7ahf ?= "armv7a" 54ARMPKGARCH:tune-armv7ahf ?= "armv7a"
54ARMPKGARCH_tune-armv7athf ?= "armv7a" 55ARMPKGARCH:tune-armv7athf ?= "armv7a"
55ARMPKGARCH_tune-armv7ahf-vfpv3d16 ?= "armv7a" 56ARMPKGARCH:tune-armv7ahf-vfpv3d16 ?= "armv7a"
56ARMPKGARCH_tune-armv7athf-vfpv3d16 ?= "armv7a" 57ARMPKGARCH:tune-armv7athf-vfpv3d16 ?= "armv7a"
57ARMPKGARCH_tune-armv7ahf-vfpv3 ?= "armv7a" 58ARMPKGARCH:tune-armv7ahf-vfpv3 ?= "armv7a"
58ARMPKGARCH_tune-armv7athf-vfpv3 ?= "armv7a" 59ARMPKGARCH:tune-armv7athf-vfpv3 ?= "armv7a"
59ARMPKGARCH_tune-armv7ahf-vfpv4d16 ?= "armv7a" 60ARMPKGARCH:tune-armv7ahf-vfpv4d16 ?= "armv7a"
60ARMPKGARCH_tune-armv7athf-vfpv4d16 ?= "armv7a" 61ARMPKGARCH:tune-armv7athf-vfpv4d16 ?= "armv7a"
61ARMPKGARCH_tune-armv7ahf-neon ?= "armv7a" 62ARMPKGARCH:tune-armv7ahf-neon ?= "armv7a"
62ARMPKGARCH_tune-armv7athf-neon ?= "armv7a" 63ARMPKGARCH:tune-armv7athf-neon ?= "armv7a"
63ARMPKGARCH_tune-armv7ahf-neon-vfpv4 ?= "armv7a" 64ARMPKGARCH:tune-armv7ahf-neon-vfpv4 ?= "armv7a"
64ARMPKGARCH_tune-armv7athf-neon-vfpv4 ?= "armv7a" 65ARMPKGARCH:tune-armv7athf-neon-vfpv4 ?= "armv7a"
65TUNE_FEATURES_tune-armv7ahf = "${TUNE_FEATURES_tune-armv7a} callconvention-hard" 66TUNE_FEATURES:tune-armv7ahf = "${TUNE_FEATURES:tune-armv7a} callconvention-hard"
66TUNE_FEATURES_tune-armv7athf = "${TUNE_FEATURES_tune-armv7at} callconvention-hard" 67TUNE_FEATURES:tune-armv7athf = "${TUNE_FEATURES:tune-armv7at} callconvention-hard"
67TUNE_FEATURES_tune-armv7ahf-vfpv3d16 = "${TUNE_FEATURES_tune-armv7a-vfpv3d16} callconvention-hard" 68TUNE_FEATURES:tune-armv7ahf-vfpv3d16 = "${TUNE_FEATURES:tune-armv7a-vfpv3d16} callconvention-hard"
68TUNE_FEATURES_tune-armv7athf-vfpv3d16 = "${TUNE_FEATURES_tune-armv7at-vfpv3d16} callconvention-hard" 69TUNE_FEATURES:tune-armv7athf-vfpv3d16 = "${TUNE_FEATURES:tune-armv7at-vfpv3d16} callconvention-hard"
69TUNE_FEATURES_tune-armv7ahf-vfpv3 = "${TUNE_FEATURES_tune-armv7a-vfpv3} callconvention-hard" 70TUNE_FEATURES:tune-armv7ahf-vfpv3 = "${TUNE_FEATURES:tune-armv7a-vfpv3} callconvention-hard"
70TUNE_FEATURES_tune-armv7athf-vfpv3 = "${TUNE_FEATURES_tune-armv7at-vfpv3} callconvention-hard" 71TUNE_FEATURES:tune-armv7athf-vfpv3 = "${TUNE_FEATURES:tune-armv7at-vfpv3} callconvention-hard"
71TUNE_FEATURES_tune-armv7ahf-vfpv4d16 = "${TUNE_FEATURES_tune-armv7a-vfpv4d16} callconvention-hard" 72TUNE_FEATURES:tune-armv7ahf-vfpv4d16 = "${TUNE_FEATURES:tune-armv7a-vfpv4d16} callconvention-hard"
72TUNE_FEATURES_tune-armv7athf-vfpv4d16 = "${TUNE_FEATURES_tune-armv7at-vfpv4d16} callconvention-hard" 73TUNE_FEATURES:tune-armv7athf-vfpv4d16 = "${TUNE_FEATURES:tune-armv7at-vfpv4d16} callconvention-hard"
73TUNE_FEATURES_tune-armv7ahf-neon = "${TUNE_FEATURES_tune-armv7a-neon} callconvention-hard" 74TUNE_FEATURES:tune-armv7ahf-neon = "${TUNE_FEATURES:tune-armv7a-neon} callconvention-hard"
74TUNE_FEATURES_tune-armv7athf-neon = "${TUNE_FEATURES_tune-armv7at-neon} callconvention-hard" 75TUNE_FEATURES:tune-armv7athf-neon = "${TUNE_FEATURES:tune-armv7at-neon} callconvention-hard"
75TUNE_FEATURES_tune-armv7ahf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7a-neon-vfpv4} callconvention-hard" 76TUNE_FEATURES:tune-armv7ahf-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7a-neon-vfpv4} callconvention-hard"
76TUNE_FEATURES_tune-armv7athf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7at-neon-vfpv4} callconvention-hard" 77TUNE_FEATURES:tune-armv7athf-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7at-neon-vfpv4} callconvention-hard"
77PACKAGE_EXTRA_ARCHS_tune-armv7ahf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} armv7ahf-vfp" 78PACKAGE_EXTRA_ARCHS:tune-armv7ahf = "${PACKAGE_EXTRA_ARCHS:tune-armv6hf} armv7ahf-vfp"
78PACKAGE_EXTRA_ARCHS_tune-armv7athf = "${PACKAGE_EXTRA_ARCHS_tune-armv6thf} armv7ahf-vfp armv7at2hf-vfp" 79PACKAGE_EXTRA_ARCHS:tune-armv7athf = "${PACKAGE_EXTRA_ARCHS:tune-armv6thf} armv7ahf-vfp armv7at2hf-vfp"
79PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfpv3d16" 80PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7ahf-vfpv3d16"
80PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfpv3d16 armv7at2hf-vfpv3d16" 81PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7ahf-vfpv3d16 armv7at2hf-vfpv3d16"
81PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3d16} armv7ahf-vfpv3" 82PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3d16} armv7ahf-vfpv3"
82PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3d16} armv7ahf-vfpv3 armv7at2hf-vfpv3" 83PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3d16} armv7ahf-vfpv3 armv7at2hf-vfpv3"
83PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfpv4d16" 84PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7ahf-vfpv4d16"
84PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfpv4d16 armv7at2hf-vfpv4d16" 85PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7ahf-vfpv4d16 armv7at2hf-vfpv4d16"
85PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-neon" 86PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7ahf-neon"
86PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-neon armv7at2hf-neon" 87PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7ahf-neon armv7at2hf-neon"
87PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} armv7ahf-neon-vfpv4" 88PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} armv7ahf-neon-vfpv4"
88PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} armv7ahf-neon-vfpv4 armv7at2hf-neon-vfpv4" 89PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} armv7ahf-neon-vfpv4 armv7at2hf-neon-vfpv4"
89 90
90# Big Endian 91# Big Endian
91AVAILTUNES += "armv7ab armv7atb armv7ab-vfpv3d16 armv7atb-vfpv3d16 armv7ab-vfpv3 armv7atb-vfpv3 armv7ab-vfpv4d16 armv7atb-vfpv4d16 armv7ab-neon armv7atb-neon armv7ab-neon-vfpv4 armv7atb-neon-vfpv4" 92AVAILTUNES += "armv7ab armv7atb armv7ab-vfpv3d16 armv7atb-vfpv3d16 armv7ab-vfpv3 armv7atb-vfpv3 armv7ab-vfpv4d16 armv7atb-vfpv4d16 armv7ab-neon armv7atb-neon armv7ab-neon-vfpv4 armv7atb-neon-vfpv4"
92ARMPKGARCH_tune-armv7ab ?= "armv7a" 93ARMPKGARCH:tune-armv7ab ?= "armv7a"
93ARMPKGARCH_tune-armv7atb ?= "armv7a" 94ARMPKGARCH:tune-armv7atb ?= "armv7a"
94ARMPKGARCH_tune-armv7ab-vfpv3d16 ?= "armv7a" 95ARMPKGARCH:tune-armv7ab-vfpv3d16 ?= "armv7a"
95ARMPKGARCH_tune-armv7atb-vfpv3d16 ?= "armv7a" 96ARMPKGARCH:tune-armv7atb-vfpv3d16 ?= "armv7a"
96ARMPKGARCH_tune-armv7ab-vfpv3 ?= "armv7a" 97ARMPKGARCH:tune-armv7ab-vfpv3 ?= "armv7a"
97ARMPKGARCH_tune-armv7atb-vfpv3 ?= "armv7a" 98ARMPKGARCH:tune-armv7atb-vfpv3 ?= "armv7a"
98ARMPKGARCH_tune-armv7ab-vfpv4d16 ?= "armv7a" 99ARMPKGARCH:tune-armv7ab-vfpv4d16 ?= "armv7a"
99ARMPKGARCH_tune-armv7atb-vfpv4d16 ?= "armv7a" 100ARMPKGARCH:tune-armv7atb-vfpv4d16 ?= "armv7a"
100ARMPKGARCH_tune-armv7ab-neon ?= "armv7a" 101ARMPKGARCH:tune-armv7ab-neon ?= "armv7a"
101ARMPKGARCH_tune-armv7atb-neon ?= "armv7a" 102ARMPKGARCH:tune-armv7atb-neon ?= "armv7a"
102ARMPKGARCH_tune-armv7ab-neon-vfpv4 ?= "armv7a" 103ARMPKGARCH:tune-armv7ab-neon-vfpv4 ?= "armv7a"
103ARMPKGARCH_tune-armv7atb-neon-vfpv4 ?= "armv7a" 104ARMPKGARCH:tune-armv7atb-neon-vfpv4 ?= "armv7a"
104TUNE_FEATURES_tune-armv7ab = "${TUNE_FEATURES_tune-armv7a} bigendian" 105TUNE_FEATURES:tune-armv7ab = "${TUNE_FEATURES:tune-armv7a} bigendian"
105TUNE_FEATURES_tune-armv7atb = "${TUNE_FEATURES_tune-armv7at} bigendian" 106TUNE_FEATURES:tune-armv7atb = "${TUNE_FEATURES:tune-armv7at} bigendian"
106TUNE_FEATURES_tune-armv7ab-vfpv3d16 = "${TUNE_FEATURES_tune-armv7a-vfpv3d16} bigendian" 107TUNE_FEATURES:tune-armv7ab-vfpv3d16 = "${TUNE_FEATURES:tune-armv7a-vfpv3d16} bigendian"
107TUNE_FEATURES_tune-armv7atb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7at-vfpv3d16} bigendian" 108TUNE_FEATURES:tune-armv7atb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7at-vfpv3d16} bigendian"
108TUNE_FEATURES_tune-armv7ab-vfpv3 = "${TUNE_FEATURES_tune-armv7a-vfpv3} bigendian" 109TUNE_FEATURES:tune-armv7ab-vfpv3 = "${TUNE_FEATURES:tune-armv7a-vfpv3} bigendian"
109TUNE_FEATURES_tune-armv7atb-vfpv3 = "${TUNE_FEATURES_tune-armv7at-vfpv3} bigendian" 110TUNE_FEATURES:tune-armv7atb-vfpv3 = "${TUNE_FEATURES:tune-armv7at-vfpv3} bigendian"
110TUNE_FEATURES_tune-armv7ab-vfpv4d16 = "${TUNE_FEATURES_tune-armv7a-vfpv4d16} bigendian" 111TUNE_FEATURES:tune-armv7ab-vfpv4d16 = "${TUNE_FEATURES:tune-armv7a-vfpv4d16} bigendian"
111TUNE_FEATURES_tune-armv7atb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7at-vfpv4d16} bigendian" 112TUNE_FEATURES:tune-armv7atb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7at-vfpv4d16} bigendian"
112TUNE_FEATURES_tune-armv7ab-neon = "${TUNE_FEATURES_tune-armv7a-neon} bigendian" 113TUNE_FEATURES:tune-armv7ab-neon = "${TUNE_FEATURES:tune-armv7a-neon} bigendian"
113TUNE_FEATURES_tune-armv7atb-neon = "${TUNE_FEATURES_tune-armv7at-neon} bigendian" 114TUNE_FEATURES:tune-armv7atb-neon = "${TUNE_FEATURES:tune-armv7at-neon} bigendian"
114TUNE_FEATURES_tune-armv7ab-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7a-neon-vfpv4} bigendian" 115TUNE_FEATURES:tune-armv7ab-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7a-neon-vfpv4} bigendian"
115TUNE_FEATURES_tune-armv7atb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7at-neon-vfpv4} bigendian" 116TUNE_FEATURES:tune-armv7atb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7at-neon-vfpv4} bigendian"
116PACKAGE_EXTRA_ARCHS_tune-armv7ab = "${PACKAGE_EXTRA_ARCHS_tune-armv6b} armv7ab-vfp" 117PACKAGE_EXTRA_ARCHS:tune-armv7ab = "${PACKAGE_EXTRA_ARCHS:tune-armv6b} armv7ab-vfp"
117PACKAGE_EXTRA_ARCHS_tune-armv7atb = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb} armv7ab-vfp armv7at2b-vfp" 118PACKAGE_EXTRA_ARCHS:tune-armv7atb = "${PACKAGE_EXTRA_ARCHS:tune-armv6tb} armv7ab-vfp armv7at2b-vfp"
118PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-vfpv3d16" 119PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7ab-vfpv3d16"
119PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfpv3d16 armv7at2b-vfpv3d16" 120PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7ab-vfpv3d16 armv7at2b-vfpv3d16"
120PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3d16} armv7ab-vfpv3" 121PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv3d16} armv7ab-vfpv3"
121PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3d16} armv7ab-vfpv3 armv7at2b-vfpv3" 122PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv3d16} armv7ab-vfpv3 armv7at2b-vfpv3"
122PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-vfpv4d16" 123PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7ab-vfpv4d16"
123PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfpv4d16 armv7at2b-vfpv4d16" 124PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7ab-vfpv4d16 armv7at2b-vfpv4d16"
124PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-neon" 125PACKAGE_EXTRA_ARCHS:tune-armv7ab-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7ab-neon"
125PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-neon armv7at2b-neon" 126PACKAGE_EXTRA_ARCHS:tune-armv7atb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7ab-neon armv7at2b-neon"
126PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon} armv7ab-neon-vfpv4" 127PACKAGE_EXTRA_ARCHS:tune-armv7ab-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab-neon} armv7ab-neon-vfpv4"
127PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon} armv7ab-neon-vfpv4 armv7at2b-neon-vfpv4" 128PACKAGE_EXTRA_ARCHS:tune-armv7atb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb-neon} armv7ab-neon-vfpv4 armv7at2b-neon-vfpv4"
128 129
129# Big Endian + HF 130# Big Endian + HF
130AVAILTUNES += "armv7ahfb armv7athfb armv7ahfb-vfpv3d16 armv7athfb-vfpv3d16 armv7ahfb-vfpv3 armv7athfb-vfpv3 armv7ahfb-vfpv4d16 armv7athfb-vfpv4d16 armv7ahfb-neon armv7athfb-neon armv7ahfb-neon-vfpv4 armv7athfb-neon-vfpv4" 131AVAILTUNES += "armv7ahfb armv7athfb armv7ahfb-vfpv3d16 armv7athfb-vfpv3d16 armv7ahfb-vfpv3 armv7athfb-vfpv3 armv7ahfb-vfpv4d16 armv7athfb-vfpv4d16 armv7ahfb-neon armv7athfb-neon armv7ahfb-neon-vfpv4 armv7athfb-neon-vfpv4"
131ARMPKGARCH_tune-armv7ahfb ?= "armv7a" 132ARMPKGARCH:tune-armv7ahfb ?= "armv7a"
132ARMPKGARCH_tune-armv7athfb ?= "armv7a" 133ARMPKGARCH:tune-armv7athfb ?= "armv7a"
133ARMPKGARCH_tune-armv7ahfb-vfpv3d16 ?= "armv7a" 134ARMPKGARCH:tune-armv7ahfb-vfpv3d16 ?= "armv7a"
134ARMPKGARCH_tune-armv7athfb-vfpv3d16 ?= "armv7a" 135ARMPKGARCH:tune-armv7athfb-vfpv3d16 ?= "armv7a"
135ARMPKGARCH_tune-armv7ahfb-vfpv3 ?= "armv7a" 136ARMPKGARCH:tune-armv7ahfb-vfpv3 ?= "armv7a"
136ARMPKGARCH_tune-armv7athfb-vfpv3 ?= "armv7a" 137ARMPKGARCH:tune-armv7athfb-vfpv3 ?= "armv7a"
137ARMPKGARCH_tune-armv7ahfb-vfpv4d16 ?= "armv7a" 138ARMPKGARCH:tune-armv7ahfb-vfpv4d16 ?= "armv7a"
138ARMPKGARCH_tune-armv7athfb-vfpv4d16 ?= "armv7a" 139ARMPKGARCH:tune-armv7athfb-vfpv4d16 ?= "armv7a"
139ARMPKGARCH_tune-armv7ahfb-neon ?= "armv7a" 140ARMPKGARCH:tune-armv7ahfb-neon ?= "armv7a"
140ARMPKGARCH_tune-armv7athfb-neon ?= "armv7a" 141ARMPKGARCH:tune-armv7athfb-neon ?= "armv7a"
141ARMPKGARCH_tune-armv7ahfb-neon-vfpv4 ?= "armv7a" 142ARMPKGARCH:tune-armv7ahfb-neon-vfpv4 ?= "armv7a"
142ARMPKGARCH_tune-armv7athfb-neon-vfpv4 ?= "armv7a" 143ARMPKGARCH:tune-armv7athfb-neon-vfpv4 ?= "armv7a"
143TUNE_FEATURES_tune-armv7ahfb = "${TUNE_FEATURES_tune-armv7ahf} bigendian" 144TUNE_FEATURES:tune-armv7ahfb = "${TUNE_FEATURES:tune-armv7ahf} bigendian"
144TUNE_FEATURES_tune-armv7athfb = "${TUNE_FEATURES_tune-armv7athf} bigendian" 145TUNE_FEATURES:tune-armv7athfb = "${TUNE_FEATURES:tune-armv7athf} bigendian"
145TUNE_FEATURES_tune-armv7ahfb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7ahf-vfpv3d16} bigendian" 146TUNE_FEATURES:tune-armv7ahfb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7ahf-vfpv3d16} bigendian"
146TUNE_FEATURES_tune-armv7athfb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7athf-vfpv3d16} bigendian" 147TUNE_FEATURES:tune-armv7athfb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7athf-vfpv3d16} bigendian"
147TUNE_FEATURES_tune-armv7ahfb-vfpv3 = "${TUNE_FEATURES_tune-armv7ahf-vfpv3} bigendian" 148TUNE_FEATURES:tune-armv7ahfb-vfpv3 = "${TUNE_FEATURES:tune-armv7ahf-vfpv3} bigendian"
148TUNE_FEATURES_tune-armv7athfb-vfpv3 = "${TUNE_FEATURES_tune-armv7athf-vfpv3} bigendian" 149TUNE_FEATURES:tune-armv7athfb-vfpv3 = "${TUNE_FEATURES:tune-armv7athf-vfpv3} bigendian"
149TUNE_FEATURES_tune-armv7ahfb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7ahf-vfpv4d16} bigendian" 150TUNE_FEATURES:tune-armv7ahfb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7ahf-vfpv4d16} bigendian"
150TUNE_FEATURES_tune-armv7athfb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7athf-vfpv4d16} bigendian" 151TUNE_FEATURES:tune-armv7athfb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7athf-vfpv4d16} bigendian"
151TUNE_FEATURES_tune-armv7ahfb-neon = "${TUNE_FEATURES_tune-armv7ahf-neon} bigendian" 152TUNE_FEATURES:tune-armv7ahfb-neon = "${TUNE_FEATURES:tune-armv7ahf-neon} bigendian"
152TUNE_FEATURES_tune-armv7athfb-neon = "${TUNE_FEATURES_tune-armv7athf-neon} bigendian" 153TUNE_FEATURES:tune-armv7athfb-neon = "${TUNE_FEATURES:tune-armv7athf-neon} bigendian"
153TUNE_FEATURES_tune-armv7ahfb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ahf-neon-vfpv4} bigendian" 154TUNE_FEATURES:tune-armv7ahfb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7ahf-neon-vfpv4} bigendian"
154TUNE_FEATURES_tune-armv7athfb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7athf-neon-vfpv4} bigendian" 155TUNE_FEATURES:tune-armv7athfb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7athf-neon-vfpv4} bigendian"
155PACKAGE_EXTRA_ARCHS_tune-armv7ahfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6hfb} armv7ahfb-vfp" 156PACKAGE_EXTRA_ARCHS:tune-armv7ahfb = "${PACKAGE_EXTRA_ARCHS:tune-armv6hfb} armv7ahfb-vfp"
156PACKAGE_EXTRA_ARCHS_tune-armv7athfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp" 157PACKAGE_EXTRA_ARCHS:tune-armv7athfb = "${PACKAGE_EXTRA_ARCHS:tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp"
157PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfpv3d16" 158PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7ahfb-vfpv3d16"
158PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-vfpv3d16 armv7at2hfb-vfpv3d16" 159PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7ahfb-vfpv3d16 armv7at2hfb-vfpv3d16"
159PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3d16} armv7ahfb-vfpv3" 160PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv3d16} armv7ahfb-vfpv3"
160PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3d16} armv7ahfb-vfpv3 armv7at2hfb-vfpv3" 161PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv3d16} armv7ahfb-vfpv3 armv7at2hfb-vfpv3"
161PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfpv4d16" 162PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7ahfb-vfpv4d16"
162PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-vfpv4d16 armv7at2hfb-vfpv4d16" 163PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7ahfb-vfpv4d16 armv7at2hfb-vfpv4d16"
163PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-neon" 164PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7ahfb-neon"
164PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-neon armv7at2hfb-neon" 165PACKAGE_EXTRA_ARCHS:tune-armv7athfb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7ahfb-neon armv7at2hfb-neon"
165PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon} armv7ahfb-neon-vfpv4" 166PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-neon} armv7ahfb-neon-vfpv4"
166PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon} armv7ahfb-neon-vfpv4 armv7at2hfb-neon-vfpv4" 167PACKAGE_EXTRA_ARCHS:tune-armv7athfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb-neon} armv7ahfb-neon-vfpv4 armv7at2hfb-neon-vfpv4"
diff --git a/meta/conf/machine/include/arm/arch-armv7em.inc b/meta/conf/machine/include/arm/arch-armv7em.inc
new file mode 100644
index 0000000000..f7608ea2ee
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv7em.inc
@@ -0,0 +1,17 @@
1#
2# Defaults for ARMv7e-m
3#
4DEFAULTTUNE ?= "armv7em"
5
6TUNEVALID[armv7em] = "Enable instructions for ARMv7e-m"
7TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', ' -march=armv7e-m', '', d)}"
8MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', 'armv7em:', '', d)}"
9
10TUNECONFLICTS[armv7em] = "armv4 armv5 armv6 armv7a"
11
12require conf/machine/include/arm/arch-armv7m.inc
13
14AVAILTUNES += "armv7em"
15ARMPKGARCH:tune-armv7em = "armv7em"
16TUNE_FEATURES:tune-armv7em = "armv7em"
17PACKAGE_EXTRA_ARCHS:tune-armv7em = "armv7em"
diff --git a/meta/conf/machine/include/arm/arch-armv7m.inc b/meta/conf/machine/include/arm/arch-armv7m.inc
new file mode 100644
index 0000000000..2b69a3dfd1
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv7m.inc
@@ -0,0 +1,17 @@
1#
2# Defaults for ARMv7-m
3#
4DEFAULTTUNE ?= "armv7m"
5
6TUNEVALID[armv7m] = "Enable instructions for ARMv7-m"
7TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', ' -march=armv7-m', '', d)}"
8MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', 'armv7m:', '', d)}"
9
10TUNECONFLICTS[armv7m] = "armv4 armv5 armv6 armv7a"
11
12require conf/machine/include/arm/arch-armv6m.inc
13
14AVAILTUNES += "armv7m"
15ARMPKGARCH:tune-armv7m = "armv7m"
16TUNE_FEATURES:tune-armv7m = "armv7m"
17PACKAGE_EXTRA_ARCHS:tune-armv7m = "armv7m"
diff --git a/meta/conf/machine/include/arm/arch-armv7r.inc b/meta/conf/machine/include/arm/arch-armv7r.inc
new file mode 100644
index 0000000000..fac26cf4ad
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv7r.inc
@@ -0,0 +1,22 @@
1#
2# Defaults for ARMv7-r
3#
4DEFAULTTUNE ?= "armv7r"
5
6TUNEVALID[armv7r] = "Enable instructions for ARMv7-r"
7TUNE_CCARGS_MARCH = "${@bb.utils.contains('TUNE_FEATURES', 'armv7r', ' -march=armv7-r', '', d)}"
8MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7r', 'armv7r:', '', d)}"
9
10TUNECONFLICTS[armv7r] = "armv4 armv5 armv6 armv7a"
11
12require conf/machine/include/arm/arch-armv6.inc
13require conf/machine/include/arm/feature-arm-idiv.inc
14require conf/machine/include/arm/feature-arm-neon.inc
15
16AVAILTUNES += "armv7r armv7r-vfpv3d16"
17ARMPKGARCH:tune-armv7r = "armv7r"
18ARMPKGARCH:tune-armv7r-vfpv3d16 = "armv7r"
19TUNE_FEATURES:tune-armv7r = "armv7r"
20TUNE_FEATURES:tune-armv7r-vfpv3d16 = "${TUNE_FEATURES:tune-armv7r} vfpv3d16"
21PACKAGE_EXTRA_ARCHS:tune-armv7r = "armv7r"
22PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r} tune-armv7r-fpv3d16"
diff --git a/meta/conf/machine/include/arm/arch-armv7ve.inc b/meta/conf/machine/include/arm/arch-armv7ve.inc
index d9d92f612b..8102ae6085 100644
--- a/meta/conf/machine/include/arm/arch-armv7ve.inc
+++ b/meta/conf/machine/include/arm/arch-armv7ve.inc
@@ -2,163 +2,163 @@ DEFAULTTUNE ?= "armv7vethf"
2 2
3TUNEVALID[armv7ve] = "Enable instructions for ARMv7ve" 3TUNEVALID[armv7ve] = "Enable instructions for ARMv7ve"
4TUNECONFLICTS[armv7ve] = "armv4 armv5 armv6 armv7 armv7a" 4TUNECONFLICTS[armv7ve] = "armv4 armv5 armv6 armv7 armv7a"
5TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', ' -march=armv7ve', '', d)}" 5TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', ' -march=armv7ve', '', d)}"
6MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', 'armv7ve:', '', d)}" 6MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', 'armv7ve:', '', d)}"
7 7
8require conf/machine/include/arm/arch-armv7a.inc 8require conf/machine/include/arm/arch-armv7a.inc
9 9
10# Little Endian base configs 10# Little Endian base configs
11AVAILTUNES += "armv7ve armv7vet armv7ve-vfpv3d16 armv7vet-vfpv3d16 armv7ve-vfpv3 armv7vet-vfpv3 armv7ve-vfpv4d16 armv7vet-vfpv4d16 armv7ve-neon armv7vet-neon armv7ve-neon-vfpv4 armv7vet-neon-vfpv4" 11AVAILTUNES += "armv7ve armv7vet armv7ve-vfpv3d16 armv7vet-vfpv3d16 armv7ve-vfpv3 armv7vet-vfpv3 armv7ve-vfpv4d16 armv7vet-vfpv4d16 armv7ve-neon armv7vet-neon armv7ve-neon-vfpv4 armv7vet-neon-vfpv4"
12ARMPKGARCH_tune-armv7ve ?= "armv7ve" 12ARMPKGARCH:tune-armv7ve ?= "armv7ve"
13ARMPKGARCH_tune-armv7vet ?= "armv7ve" 13ARMPKGARCH:tune-armv7vet ?= "armv7ve"
14ARMPKGARCH_tune-armv7ve-vfpv3d16 ?= "armv7ve" 14ARMPKGARCH:tune-armv7ve-vfpv3d16 ?= "armv7ve"
15ARMPKGARCH_tune-armv7vet-vfpv3d16 ?= "armv7ve" 15ARMPKGARCH:tune-armv7vet-vfpv3d16 ?= "armv7ve"
16ARMPKGARCH_tune-armv7ve-vfpv3 ?= "armv7ve" 16ARMPKGARCH:tune-armv7ve-vfpv3 ?= "armv7ve"
17ARMPKGARCH_tune-armv7vet-vfpv3 ?= "armv7ve" 17ARMPKGARCH:tune-armv7vet-vfpv3 ?= "armv7ve"
18ARMPKGARCH_tune-armv7ve-vfpv4d16 ?= "armv7ve" 18ARMPKGARCH:tune-armv7ve-vfpv4d16 ?= "armv7ve"
19ARMPKGARCH_tune-armv7vet-vfpv4d16 ?= "armv7ve" 19ARMPKGARCH:tune-armv7vet-vfpv4d16 ?= "armv7ve"
20ARMPKGARCH_tune-armv7ve-neon ?= "armv7ve" 20ARMPKGARCH:tune-armv7ve-neon ?= "armv7ve"
21ARMPKGARCH_tune-armv7vet-neon ?= "armv7ve" 21ARMPKGARCH:tune-armv7vet-neon ?= "armv7ve"
22ARMPKGARCH_tune-armv7ve-neon-vfpv4 ?= "armv7ve" 22ARMPKGARCH:tune-armv7ve-neon-vfpv4 ?= "armv7ve"
23ARMPKGARCH_tune-armv7vet-neon-vfpv4 ?= "armv7ve" 23ARMPKGARCH:tune-armv7vet-neon-vfpv4 ?= "armv7ve"
24TUNE_FEATURES_tune-armv7ve = "arm armv7ve vfp" 24TUNE_FEATURES:tune-armv7ve = "arm armv7ve vfp"
25TUNE_FEATURES_tune-armv7vet = "${TUNE_FEATURES_tune-armv7ve} thumb" 25TUNE_FEATURES:tune-armv7vet = "${TUNE_FEATURES:tune-armv7ve} thumb"
26TUNE_FEATURES_tune-armv7ve-vfpv3d16 = "${TUNE_FEATURES_tune-armv7ve} vfpv3d16" 26TUNE_FEATURES:tune-armv7ve-vfpv3d16 = "${TUNE_FEATURES:tune-armv7ve} vfpv3d16"
27TUNE_FEATURES_tune-armv7vet-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vet} vfpv3d16" 27TUNE_FEATURES:tune-armv7vet-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vet} vfpv3d16"
28TUNE_FEATURES_tune-armv7ve-vfpv3 = "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} vfpv3" 28TUNE_FEATURES:tune-armv7ve-vfpv3 = "${TUNE_FEATURES:tune-armv7ve-vfpv3d16} vfpv3"
29TUNE_FEATURES_tune-armv7vet-vfpv3 = "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} vfpv3" 29TUNE_FEATURES:tune-armv7vet-vfpv3 = "${TUNE_FEATURES:tune-armv7vet-vfpv3d16} vfpv3"
30TUNE_FEATURES_tune-armv7ve-vfpv4d16 = "${TUNE_FEATURES_tune-armv7ve} vfpv4d16" 30TUNE_FEATURES:tune-armv7ve-vfpv4d16 = "${TUNE_FEATURES:tune-armv7ve} vfpv4d16"
31TUNE_FEATURES_tune-armv7vet-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vet} vfpv4d16" 31TUNE_FEATURES:tune-armv7vet-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vet} vfpv4d16"
32TUNE_FEATURES_tune-armv7ve-neon = "${TUNE_FEATURES_tune-armv7ve} neon" 32TUNE_FEATURES:tune-armv7ve-neon = "${TUNE_FEATURES:tune-armv7ve} neon"
33TUNE_FEATURES_tune-armv7vet-neon = "${TUNE_FEATURES_tune-armv7vet} neon" 33TUNE_FEATURES:tune-armv7vet-neon = "${TUNE_FEATURES:tune-armv7vet} neon"
34TUNE_FEATURES_tune-armv7ve-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon} vfpv4" 34TUNE_FEATURES:tune-armv7ve-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7ve-neon} vfpv4"
35TUNE_FEATURES_tune-armv7vet-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon} vfpv4" 35TUNE_FEATURES:tune-armv7vet-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vet-neon} vfpv4"
36PACKAGE_EXTRA_ARCHS_tune-armv7ve = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7ve armv7ve-vfp" 36PACKAGE_EXTRA_ARCHS:tune-armv7ve = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7ve armv7ve-vfp"
37PACKAGE_EXTRA_ARCHS_tune-armv7vet = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7ve armv7ve-vfp armv7vet2-vfp" 37PACKAGE_EXTRA_ARCHS:tune-armv7vet = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7ve armv7ve-vfp armv7vet2-vfp"
38PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-vfpv3d16" 38PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} armv7ve-vfpv3d16"
39PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-vfpv3d16 armv7vet2-vfpv3d16" 39PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} armv7ve-vfpv3d16 armv7vet2-vfpv3d16"
40PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3d16} armv7ve-vfpv3" 40PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv3d16} armv7ve-vfpv3"
41PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3d16} armv7ve-vfpv3 armv7vet2-vfpv3" 41PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv3d16} armv7ve-vfpv3 armv7vet2-vfpv3"
42PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-vfpv4d16" 42PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} armv7ve-vfpv4d16"
43PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-vfpv4d16 armv7vet2-vfpv4d16" 43PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} armv7ve-vfpv4d16 armv7vet2-vfpv4d16"
44PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-neon" 44PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} armv7ve-neon"
45PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-neon armv7vet2-neon" 45PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} armv7ve-neon armv7vet2-neon"
46PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} armv7ve-neon-vfpv4" 46PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} armv7ve-neon-vfpv4"
47PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon} armv7ve-neon-vfpv4 armv7vet2-neon-vfpv4" 47PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} armv7ve-neon-vfpv4 armv7vet2-neon-vfpv4"
48 48
49# HF Tunes 49# HF Tunes
50AVAILTUNES += "armv7vehf armv7vethf armv7vehf-vfpv3d16 armv7vethf-vfpv3d16 armv7vehf-vfpv3 armv7vethf-vfpv3 armv7vehf-vfpv4d16 armv7vethf-vfpv4d16 armv7vehf-neon armv7vethf-neon armv7vehf-neon-vfpv4 armv7vethf-neon-vfpv4" 50AVAILTUNES += "armv7vehf armv7vethf armv7vehf-vfpv3d16 armv7vethf-vfpv3d16 armv7vehf-vfpv3 armv7vethf-vfpv3 armv7vehf-vfpv4d16 armv7vethf-vfpv4d16 armv7vehf-neon armv7vethf-neon armv7vehf-neon-vfpv4 armv7vethf-neon-vfpv4"
51ARMPKGARCH_tune-armv7vehf ?= "armv7ve" 51ARMPKGARCH:tune-armv7vehf ?= "armv7ve"
52ARMPKGARCH_tune-armv7vethf ?= "armv7ve" 52ARMPKGARCH:tune-armv7vethf ?= "armv7ve"
53ARMPKGARCH_tune-armv7vehf-vfpv3d16 ?= "armv7ve" 53ARMPKGARCH:tune-armv7vehf-vfpv3d16 ?= "armv7ve"
54ARMPKGARCH_tune-armv7vethf-vfpv3d16 ?= "armv7ve" 54ARMPKGARCH:tune-armv7vethf-vfpv3d16 ?= "armv7ve"
55ARMPKGARCH_tune-armv7vehf-vfpv3 ?= "armv7ve" 55ARMPKGARCH:tune-armv7vehf-vfpv3 ?= "armv7ve"
56ARMPKGARCH_tune-armv7vethf-vfpv3 ?= "armv7ve" 56ARMPKGARCH:tune-armv7vethf-vfpv3 ?= "armv7ve"
57ARMPKGARCH_tune-armv7vehf-vfpv4d16 ?= "armv7ve" 57ARMPKGARCH:tune-armv7vehf-vfpv4d16 ?= "armv7ve"
58ARMPKGARCH_tune-armv7vethf-vfpv4d16 ?= "armv7ve" 58ARMPKGARCH:tune-armv7vethf-vfpv4d16 ?= "armv7ve"
59ARMPKGARCH_tune-armv7vehf-neon ?= "armv7ve" 59ARMPKGARCH:tune-armv7vehf-neon ?= "armv7ve"
60ARMPKGARCH_tune-armv7vethf-neon ?= "armv7ve" 60ARMPKGARCH:tune-armv7vethf-neon ?= "armv7ve"
61ARMPKGARCH_tune-armv7vehf-neon-vfpv4 ?= "armv7ve" 61ARMPKGARCH:tune-armv7vehf-neon-vfpv4 ?= "armv7ve"
62ARMPKGARCH_tune-armv7vethf-neon-vfpv4 ?= "armv7ve" 62ARMPKGARCH:tune-armv7vethf-neon-vfpv4 ?= "armv7ve"
63TUNE_FEATURES_tune-armv7vehf = "${TUNE_FEATURES_tune-armv7ve} callconvention-hard" 63TUNE_FEATURES:tune-armv7vehf = "${TUNE_FEATURES:tune-armv7ve} callconvention-hard"
64TUNE_FEATURES_tune-armv7vethf = "${TUNE_FEATURES_tune-armv7vet} callconvention-hard" 64TUNE_FEATURES:tune-armv7vethf = "${TUNE_FEATURES:tune-armv7vet} callconvention-hard"
65TUNE_FEATURES_tune-armv7vehf-vfpv3d16 = "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} callconvention-hard" 65TUNE_FEATURES:tune-armv7vehf-vfpv3d16 = "${TUNE_FEATURES:tune-armv7ve-vfpv3d16} callconvention-hard"
66TUNE_FEATURES_tune-armv7vethf-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} callconvention-hard" 66TUNE_FEATURES:tune-armv7vethf-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vet-vfpv3d16} callconvention-hard"
67TUNE_FEATURES_tune-armv7vehf-vfpv3 = "${TUNE_FEATURES_tune-armv7ve-vfpv3} callconvention-hard" 67TUNE_FEATURES:tune-armv7vehf-vfpv3 = "${TUNE_FEATURES:tune-armv7ve-vfpv3} callconvention-hard"
68TUNE_FEATURES_tune-armv7vethf-vfpv3 = "${TUNE_FEATURES_tune-armv7vet-vfpv3} callconvention-hard" 68TUNE_FEATURES:tune-armv7vethf-vfpv3 = "${TUNE_FEATURES:tune-armv7vet-vfpv3} callconvention-hard"
69TUNE_FEATURES_tune-armv7vehf-vfpv4d16 = "${TUNE_FEATURES_tune-armv7ve-vfpv4d16} callconvention-hard" 69TUNE_FEATURES:tune-armv7vehf-vfpv4d16 = "${TUNE_FEATURES:tune-armv7ve-vfpv4d16} callconvention-hard"
70TUNE_FEATURES_tune-armv7vethf-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vet-vfpv4d16} callconvention-hard" 70TUNE_FEATURES:tune-armv7vethf-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vet-vfpv4d16} callconvention-hard"
71TUNE_FEATURES_tune-armv7vehf-neon = "${TUNE_FEATURES_tune-armv7ve-neon} callconvention-hard" 71TUNE_FEATURES:tune-armv7vehf-neon = "${TUNE_FEATURES:tune-armv7ve-neon} callconvention-hard"
72TUNE_FEATURES_tune-armv7vethf-neon = "${TUNE_FEATURES_tune-armv7vet-neon} callconvention-hard" 72TUNE_FEATURES:tune-armv7vethf-neon = "${TUNE_FEATURES:tune-armv7vet-neon} callconvention-hard"
73TUNE_FEATURES_tune-armv7vehf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} callconvention-hard" 73TUNE_FEATURES:tune-armv7vehf-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7ve-neon-vfpv4} callconvention-hard"
74TUNE_FEATURES_tune-armv7vethf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} callconvention-hard" 74TUNE_FEATURES:tune-armv7vethf-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vet-neon-vfpv4} callconvention-hard"
75PACKAGE_EXTRA_ARCHS_tune-armv7vehf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7vehf-vfp" 75PACKAGE_EXTRA_ARCHS:tune-armv7vehf = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7vehf-vfp"
76PACKAGE_EXTRA_ARCHS_tune-armv7vethf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7vehf-vfp armv7vet2hf-vfp" 76PACKAGE_EXTRA_ARCHS:tune-armv7vethf = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7vehf-vfp armv7vet2hf-vfp"
77PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-vfpv3d16" 77PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} armv7vehf-vfpv3d16"
78PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-vfpv3d16 armv7vet2hf-vfpv3d16" 78PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} armv7vehf-vfpv3d16 armv7vet2hf-vfpv3d16"
79PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3d16} armv7vehf-vfpv3" 79PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv3d16} armv7vehf-vfpv3"
80PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3d16} armv7vehf-vfpv3 armv7vet2hf-vfpv3" 80PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv3d16} armv7vehf-vfpv3 armv7vet2hf-vfpv3"
81PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-vfpv4d16" 81PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} armv7vehf-vfpv4d16"
82PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-vfpv4d16 armv7vet2hf-vfpv4d16" 82PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} armv7vehf-vfpv4d16 armv7vet2hf-vfpv4d16"
83PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-neon" 83PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} armv7vehf-neon"
84PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-neon armv7vet2hf-neon" 84PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} armv7vehf-neon armv7vet2hf-neon"
85PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} armv7vehf-neon-vfpv4" 85PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} armv7vehf-neon-vfpv4"
86PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon} armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4" 86PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4"
87 87
88# Big Endian 88# Big Endian
89AVAILTUNES += "armv7veb armv7vetb armv7veb-vfpv3d16 armv7vetb-vfpv3d16 armv7veb-vfpv3 armv7vetb-vfpv3 armv7veb-vfpv4d16 armv7vetb-vfpv4d16 armv7veb-neon armv7vetb-neon armv7veb-neon-vfpv4 armv7vetb-neon-vfpv4" 89AVAILTUNES += "armv7veb armv7vetb armv7veb-vfpv3d16 armv7vetb-vfpv3d16 armv7veb-vfpv3 armv7vetb-vfpv3 armv7veb-vfpv4d16 armv7vetb-vfpv4d16 armv7veb-neon armv7vetb-neon armv7veb-neon-vfpv4 armv7vetb-neon-vfpv4"
90ARMPKGARCH_tune-armv7veb ?= "armv7ve" 90ARMPKGARCH:tune-armv7veb ?= "armv7ve"
91ARMPKGARCH_tune-armv7vetb ?= "armv7ve" 91ARMPKGARCH:tune-armv7vetb ?= "armv7ve"
92ARMPKGARCH_tune-armv7veb-vfpv3d16 ?= "armv7ve" 92ARMPKGARCH:tune-armv7veb-vfpv3d16 ?= "armv7ve"
93ARMPKGARCH_tune-armv7vetb-vfpv3d16 ?= "armv7ve" 93ARMPKGARCH:tune-armv7vetb-vfpv3d16 ?= "armv7ve"
94ARMPKGARCH_tune-armv7veb-vfpv3 ?= "armv7ve" 94ARMPKGARCH:tune-armv7veb-vfpv3 ?= "armv7ve"
95ARMPKGARCH_tune-armv7vetb-vfpv3 ?= "armv7ve" 95ARMPKGARCH:tune-armv7vetb-vfpv3 ?= "armv7ve"
96ARMPKGARCH_tune-armv7veb-vfpv4d16 ?= "armv7ve" 96ARMPKGARCH:tune-armv7veb-vfpv4d16 ?= "armv7ve"
97ARMPKGARCH_tune-armv7vetb-vfpv4d16 ?= "armv7ve" 97ARMPKGARCH:tune-armv7vetb-vfpv4d16 ?= "armv7ve"
98ARMPKGARCH_tune-armv7veb-neon ?= "armv7ve" 98ARMPKGARCH:tune-armv7veb-neon ?= "armv7ve"
99ARMPKGARCH_tune-armv7vetb-neon ?= "armv7ve" 99ARMPKGARCH:tune-armv7vetb-neon ?= "armv7ve"
100ARMPKGARCH_tune-armv7veb-neon-vfpv4 ?= "armv7ve" 100ARMPKGARCH:tune-armv7veb-neon-vfpv4 ?= "armv7ve"
101ARMPKGARCH_tune-armv7vetb-neon-vfpv4 ?= "armv7ve" 101ARMPKGARCH:tune-armv7vetb-neon-vfpv4 ?= "armv7ve"
102TUNE_FEATURES_tune-armv7veb = "${TUNE_FEATURES_tune-armv7ve} bigendian" 102TUNE_FEATURES:tune-armv7veb = "${TUNE_FEATURES:tune-armv7ve} bigendian"
103TUNE_FEATURES_tune-armv7vetb = "${TUNE_FEATURES_tune-armv7vet} bigendian" 103TUNE_FEATURES:tune-armv7vetb = "${TUNE_FEATURES:tune-armv7vet} bigendian"
104TUNE_FEATURES_tune-armv7veb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} bigendian" 104TUNE_FEATURES:tune-armv7veb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7ve-vfpv3d16} bigendian"
105TUNE_FEATURES_tune-armv7vetb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} bigendian" 105TUNE_FEATURES:tune-armv7vetb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vet-vfpv3d16} bigendian"
106TUNE_FEATURES_tune-armv7veb-vfpv3 = "${TUNE_FEATURES_tune-armv7ve-vfpv3} bigendian" 106TUNE_FEATURES:tune-armv7veb-vfpv3 = "${TUNE_FEATURES:tune-armv7ve-vfpv3} bigendian"
107TUNE_FEATURES_tune-armv7vetb-vfpv3 = "${TUNE_FEATURES_tune-armv7vet-vfpv3} bigendian" 107TUNE_FEATURES:tune-armv7vetb-vfpv3 = "${TUNE_FEATURES:tune-armv7vet-vfpv3} bigendian"
108TUNE_FEATURES_tune-armv7veb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7ve-vfpv4d16} bigendian" 108TUNE_FEATURES:tune-armv7veb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7ve-vfpv4d16} bigendian"
109TUNE_FEATURES_tune-armv7vetb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vet-vfpv4d16} bigendian" 109TUNE_FEATURES:tune-armv7vetb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vet-vfpv4d16} bigendian"
110TUNE_FEATURES_tune-armv7veb-neon = "${TUNE_FEATURES_tune-armv7ve-neon} bigendian" 110TUNE_FEATURES:tune-armv7veb-neon = "${TUNE_FEATURES:tune-armv7ve-neon} bigendian"
111TUNE_FEATURES_tune-armv7vetb-neon = "${TUNE_FEATURES_tune-armv7vet-neon} bigendian" 111TUNE_FEATURES:tune-armv7vetb-neon = "${TUNE_FEATURES:tune-armv7vet-neon} bigendian"
112TUNE_FEATURES_tune-armv7veb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} bigendian" 112TUNE_FEATURES:tune-armv7veb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7ve-neon-vfpv4} bigendian"
113TUNE_FEATURES_tune-armv7vetb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} bigendian" 113TUNE_FEATURES:tune-armv7vetb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vet-neon-vfpv4} bigendian"
114PACKAGE_EXTRA_ARCHS_tune-armv7veb = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7veb-vfp" 114PACKAGE_EXTRA_ARCHS:tune-armv7veb = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7veb-vfp"
115PACKAGE_EXTRA_ARCHS_tune-armv7vetb = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7veb-vfp armv7vet2b-vfp" 115PACKAGE_EXTRA_ARCHS:tune-armv7vetb = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7veb-vfp armv7vet2b-vfp"
116PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-vfpv3d16" 116PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb} armv7veb-vfpv3d16"
117PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-vfpv3d16 armv7vet2b-vfpv3d16" 117PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb} armv7veb-vfpv3d16 armv7vet2b-vfpv3d16"
118PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3d16} armv7veb-vfpv3" 118PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv3d16} armv7veb-vfpv3"
119PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3d16} armv7veb-vfpv3 armv7vet2b-vfpv3" 119PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv3d16} armv7veb-vfpv3 armv7vet2b-vfpv3"
120PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-vfpv4d16" 120PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb} armv7veb-vfpv4d16"
121PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-vfpv4d16 armv7vet2b-vfpv4d16" 121PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb} armv7veb-vfpv4d16 armv7vet2b-vfpv4d16"
122PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-neon" 122PACKAGE_EXTRA_ARCHS:tune-armv7veb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb} armv7veb-neon"
123PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-neon armv7vet2b-neon" 123PACKAGE_EXTRA_ARCHS:tune-armv7vetb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb} armv7veb-neon armv7vet2b-neon"
124PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon} armv7veb-neon-vfpv4" 124PACKAGE_EXTRA_ARCHS:tune-armv7veb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb-neon} armv7veb-neon-vfpv4"
125PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon} armv7veb-neon-vfpv4 armv7vet2b-neon-vfpv4" 125PACKAGE_EXTRA_ARCHS:tune-armv7vetb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb-neon} armv7veb-neon-vfpv4 armv7vet2b-neon-vfpv4"
126 126
127# Big Endian + HF 127# Big Endian + HF
128AVAILTUNES += "armv7vehfb armv7vethfb armv7vehfb-vfpv3d16 armv7vethfb-vfpv3d16 armv7vehfb-vfpv3 armv7vethfb-vfpv3 armv7vehfb-vfpv4d16 armv7vethfb-vfpv4d16 armv7vehfb-neon armv7vethfb-neon armv7vehfb-neon-vfpv4 armv7vethfb-neon-vfpv4" 128AVAILTUNES += "armv7vehfb armv7vethfb armv7vehfb-vfpv3d16 armv7vethfb-vfpv3d16 armv7vehfb-vfpv3 armv7vethfb-vfpv3 armv7vehfb-vfpv4d16 armv7vethfb-vfpv4d16 armv7vehfb-neon armv7vethfb-neon armv7vehfb-neon-vfpv4 armv7vethfb-neon-vfpv4"
129ARMPKGARCH_tune-armv7vehfb ?= "armv7ve" 129ARMPKGARCH:tune-armv7vehfb ?= "armv7ve"
130ARMPKGARCH_tune-armv7vethfb ?= "armv7ve" 130ARMPKGARCH:tune-armv7vethfb ?= "armv7ve"
131ARMPKGARCH_tune-armv7vehfb-vfpv3d16 ?= "armv7ve" 131ARMPKGARCH:tune-armv7vehfb-vfpv3d16 ?= "armv7ve"
132ARMPKGARCH_tune-armv7vethfb-vfpv3d16 ?= "armv7ve" 132ARMPKGARCH:tune-armv7vethfb-vfpv3d16 ?= "armv7ve"
133ARMPKGARCH_tune-armv7vehfb-vfpv3 ?= "armv7ve" 133ARMPKGARCH:tune-armv7vehfb-vfpv3 ?= "armv7ve"
134ARMPKGARCH_tune-armv7vethfb-vfpv3 ?= "armv7ve" 134ARMPKGARCH:tune-armv7vethfb-vfpv3 ?= "armv7ve"
135ARMPKGARCH_tune-armv7vehfb-vfpv4d16 ?= "armv7ve" 135ARMPKGARCH:tune-armv7vehfb-vfpv4d16 ?= "armv7ve"
136ARMPKGARCH_tune-armv7vethfb-vfpv4d16 ?= "armv7ve" 136ARMPKGARCH:tune-armv7vethfb-vfpv4d16 ?= "armv7ve"
137ARMPKGARCH_tune-armv7vehfb-neon ?= "armv7ve" 137ARMPKGARCH:tune-armv7vehfb-neon ?= "armv7ve"
138ARMPKGARCH_tune-armv7vethfb-neon ?= "armv7ve" 138ARMPKGARCH:tune-armv7vethfb-neon ?= "armv7ve"
139ARMPKGARCH_tune-armv7vehfb-neon-vfpv4 ?= "armv7ve" 139ARMPKGARCH:tune-armv7vehfb-neon-vfpv4 ?= "armv7ve"
140ARMPKGARCH_tune-armv7vethfb-neon-vfpv4 ?= "armv7ve" 140ARMPKGARCH:tune-armv7vethfb-neon-vfpv4 ?= "armv7ve"
141TUNE_FEATURES_tune-armv7vehfb = "${TUNE_FEATURES_tune-armv7vehf} bigendian" 141TUNE_FEATURES:tune-armv7vehfb = "${TUNE_FEATURES:tune-armv7vehf} bigendian"
142TUNE_FEATURES_tune-armv7vethfb = "${TUNE_FEATURES_tune-armv7vethf} bigendian" 142TUNE_FEATURES:tune-armv7vethfb = "${TUNE_FEATURES:tune-armv7vethf} bigendian"
143TUNE_FEATURES_tune-armv7vehfb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vehf-vfpv3d16} bigendian" 143TUNE_FEATURES:tune-armv7vehfb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vehf-vfpv3d16} bigendian"
144TUNE_FEATURES_tune-armv7vethfb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vethf-vfpv3d16} bigendian" 144TUNE_FEATURES:tune-armv7vethfb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vethf-vfpv3d16} bigendian"
145TUNE_FEATURES_tune-armv7vehfb-vfpv3 = "${TUNE_FEATURES_tune-armv7vehf-vfpv3} bigendian" 145TUNE_FEATURES:tune-armv7vehfb-vfpv3 = "${TUNE_FEATURES:tune-armv7vehf-vfpv3} bigendian"
146TUNE_FEATURES_tune-armv7vethfb-vfpv3 = "${TUNE_FEATURES_tune-armv7vethf-vfpv3} bigendian" 146TUNE_FEATURES:tune-armv7vethfb-vfpv3 = "${TUNE_FEATURES:tune-armv7vethf-vfpv3} bigendian"
147TUNE_FEATURES_tune-armv7vehfb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vehf-vfpv4d16} bigendian" 147TUNE_FEATURES:tune-armv7vehfb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vehf-vfpv4d16} bigendian"
148TUNE_FEATURES_tune-armv7vethfb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vethf-vfpv4d16} bigendian" 148TUNE_FEATURES:tune-armv7vethfb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vethf-vfpv4d16} bigendian"
149TUNE_FEATURES_tune-armv7vehfb-neon = "${TUNE_FEATURES_tune-armv7vehf-neon} bigendian" 149TUNE_FEATURES:tune-armv7vehfb-neon = "${TUNE_FEATURES:tune-armv7vehf-neon} bigendian"
150TUNE_FEATURES_tune-armv7vethfb-neon = "${TUNE_FEATURES_tune-armv7vethf-neon} bigendian" 150TUNE_FEATURES:tune-armv7vethfb-neon = "${TUNE_FEATURES:tune-armv7vethf-neon} bigendian"
151TUNE_FEATURES_tune-armv7vehfb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vehf-neon-vfpv4} bigendian" 151TUNE_FEATURES:tune-armv7vehfb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vehf-neon-vfpv4} bigendian"
152TUNE_FEATURES_tune-armv7vethfb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vethf-neon-vfpv4} bigendian" 152TUNE_FEATURES:tune-armv7vethfb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vethf-neon-vfpv4} bigendian"
153PACKAGE_EXTRA_ARCHS_tune-armv7vehfb = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7vehfb-vfp" 153PACKAGE_EXTRA_ARCHS:tune-armv7vehfb = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7vehfb-vfp"
154PACKAGE_EXTRA_ARCHS_tune-armv7vethfb = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7vehfb-vfp armv7vet2hfb-vfp" 154PACKAGE_EXTRA_ARCHS:tune-armv7vethfb = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7vehfb-vfp armv7vet2hfb-vfp"
155PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-vfpv3d16" 155PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb} armv7vehfb-vfpv3d16"
156PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-vfpv3d16 armv7vet2hfb-vfpv3d16" 156PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb} armv7vehfb-vfpv3d16 armv7vet2hfb-vfpv3d16"
157PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3d16} armv7vehfb-vfpv3" 157PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv3d16} armv7vehfb-vfpv3"
158PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3d16} armv7vehfb-vfpv3 armv7vet2hfb-vfpv3" 158PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv3d16} armv7vehfb-vfpv3 armv7vet2hfb-vfpv3"
159PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-vfpv4d16" 159PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb} armv7vehfb-vfpv4d16"
160PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-vfpv4d16 armv7vet2hfb-vfpv4d16" 160PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb} armv7vehfb-vfpv4d16 armv7vet2hfb-vfpv4d16"
161PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-neon" 161PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb} armv7vehfb-neon"
162PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-neon armv7vet2hfb-neon" 162PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb} armv7vehfb-neon armv7vet2hfb-neon"
163PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon} armv7vehfb-neon-vfpv4" 163PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-neon} armv7vehfb-neon-vfpv4"
164PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon} armv7vehfb-neon-vfpv4 armv7vet2hfb-neon-vfpv4" 164PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-neon} armv7vehfb-neon-vfpv4 armv7vet2hfb-neon-vfpv4"
diff --git a/meta/conf/machine/include/arm/arch-armv8-1a.inc b/meta/conf/machine/include/arm/arch-armv8-1a.inc
new file mode 100644
index 0000000000..be8e814a39
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv8-1a.inc
@@ -0,0 +1,18 @@
1DEFAULTTUNE ?= "armv8-1a"
2
3TUNEVALID[armv8-1a] = "Enable instructions for ARMv8.1-a"
4TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1a', ' -march=armv8.1-a', '', d)}"
5# TUNE crypto will be handled by arch-armv8a.inc below
6MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1a', 'armv8-1a:', '', d)}"
7
8require conf/machine/include/arm/arch-armv8a.inc
9
10AVAILTUNES += "armv8-1a armv8-1a-crypto"
11ARMPKGARCH:tune-armv8-1a ?= "armv8-1a"
12ARMPKGARCH:tune-armv8-1a-crypto ?= "armv8-1a"
13TUNE_FEATURES:tune-armv8-1a = "aarch64 armv8-1a"
14TUNE_FEATURES:tune-armv8-1a-crypto = "${TUNE_FEATURES:tune-armv8-1a} crypto"
15PACKAGE_EXTRA_ARCHS:tune-armv8-1a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-1a"
16PACKAGE_EXTRA_ARCHS:tune-armv8-1a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-1a} armv8-1a-crypto"
17BASE_LIB:tune-armv8-1a = "lib64"
18BASE_LIB:tune-armv8-1a-crypto = "lib64"
diff --git a/meta/conf/machine/include/arm/arch-armv8-1m-main.inc b/meta/conf/machine/include/arm/arch-armv8-1m-main.inc
new file mode 100644
index 0000000000..5b1bcb8f46
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv8-1m-main.inc
@@ -0,0 +1,18 @@
1#
2#
3# Defaults for ARMv8.1-M.main
4#
5DEFAULTTUNE ?= "armv8-1m-main"
6
7TUNEVALID[armv8-1m-main] = "Enable instructions for ARMv8.1-m.main"
8TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', ' -march=armv8.1-m.main', '', d)}"
9MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', 'armv8-1m-main:', '', d)}"
10
11TUNECONFLICTS[armv8-1m-main] = "armv4 armv5 armv6 armv7a"
12
13require conf/machine/include/arm/arch-armv8m-main.inc
14
15AVAILTUNES += "armv8-1m-main"
16ARMPKGARCH:tune-armv8-1m-main = "armv8-1m-main"
17TUNE_FEATURES:tune-armv8-1m-main = "armv8-1m-main"
18PACKAGE_EXTRA_ARCHS:tune-armv8-1m-main = "armv8-1m-main"
diff --git a/meta/conf/machine/include/arm/arch-armv8-2a.inc b/meta/conf/machine/include/arm/arch-armv8-2a.inc
index 4129689cf9..2b5fae1406 100644
--- a/meta/conf/machine/include/arm/arch-armv8-2a.inc
+++ b/meta/conf/machine/include/arm/arch-armv8-2a.inc
@@ -1,19 +1,20 @@
1DEFAULTTUNE ?= "armv8-2a" 1DEFAULTTUNE ?= "armv8-2a"
2 2
3TUNEVALID[armv8-2a] = "Enable instructions for ARMv8-a" 3TUNEVALID[armv8-2a] = "Enable instructions for ARMv8.2-a"
4TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', ' -march=armv8.2-a', '', d)}" 4TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', ' -march=armv8.2-a', '', d)}"
5# TUNE crypto will be handled by arch-armv8a.inc below 5# TUNE crypto will be handled by arch-armv8a.inc below
6MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', 'armv8-2a:', '', d)}" 6MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', 'armv8-2a:', '', d)}"
7 7
8require conf/machine/include/arm/arch-armv8a.inc 8require conf/machine/include/arm/arch-armv8a.inc
9require conf/machine/include/arm/feature-arm-sve.inc
9 10
10# Little Endian base configs 11# Little Endian base configs
11AVAILTUNES += "armv8-2a armv8-2a-crypto" 12AVAILTUNES += "armv8-2a armv8-2a-crypto"
12ARMPKGARCH_tune-armv8-2a ?= "armv8-2a" 13ARMPKGARCH:tune-armv8-2a ?= "armv8-2a"
13ARMPKGARCH_tune-armv8-2a-crypto ?= "armv8-2a" 14ARMPKGARCH:tune-armv8-2a-crypto ?= "armv8-2a"
14TUNE_FEATURES_tune-armv8-2a = "aarch64 armv8-2a" 15TUNE_FEATURES:tune-armv8-2a = "aarch64 armv8-2a"
15TUNE_FEATURES_tune-armv8-2a-crypto = "${TUNE_FEATURES_tune-armv8-2a} crypto" 16TUNE_FEATURES:tune-armv8-2a-crypto = "${TUNE_FEATURES:tune-armv8-2a} crypto"
16PACKAGE_EXTRA_ARCHS_tune-armv8-2a = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8-2a" 17PACKAGE_EXTRA_ARCHS:tune-armv8-2a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-2a"
17PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a} armv8-2a-crypto" 18PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} armv8-2a-crypto"
18BASE_LIB_tune-armv8-2a = "lib64" 19BASE_LIB:tune-armv8-2a = "lib64"
19BASE_LIB_tune-armv8-2a-crypto = "lib64" 20BASE_LIB:tune-armv8-2a-crypto = "lib64"
diff --git a/meta/conf/machine/include/arm/arch-armv8-3a.inc b/meta/conf/machine/include/arm/arch-armv8-3a.inc
new file mode 100644
index 0000000000..49493fb3b5
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv8-3a.inc
@@ -0,0 +1,22 @@
1DEFAULTTUNE ?= "armv8-3a"
2
3TUNEVALID[armv8-3a] = "Enable instructions for ARMv8.3-a"
4TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-3a', ' -march=armv8.3-a', '', d)}"
5# TUNE crypto will be handled by arch-armv8a.inc below
6MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-3a', 'armv8-3a:', '', d)}"
7
8require conf/machine/include/arm/arch-armv8a.inc
9
10AVAILTUNES += "armv8-3a armv8-3a-crypto armv8-3a-crypto-sve"
11ARMPKGARCH:tune-armv8-3a ?= "armv8-3a"
12ARMPKGARCH:tune-armv8-3a-crypto ?= "armv8-3a"
13ARMPKGARCH:tune-armv8-3a-crypto-sve ?= "armv8-3a"
14TUNE_FEATURES:tune-armv8-3a = "aarch64 armv8-3a"
15TUNE_FEATURES:tune-armv8-3a-crypto = "${TUNE_FEATURES:tune-armv8-3a} crypto"
16TUNE_FEATURES:tune-armv8-3a-crypto-sve = "${TUNE_FEATURES:tune-armv8-3a-crypto} sve"
17PACKAGE_EXTRA_ARCHS:tune-armv8-3a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-3a"
18PACKAGE_EXTRA_ARCHS:tune-armv8-3a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-3a} armv8-3a-crypto"
19PACKAGE_EXTRA_ARCHS:tune-armv8-3a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-3a-crypto} armv8-3a-crypto-sve"
20BASE_LIB:tune-armv8-3a = "lib64"
21BASE_LIB:tune-armv8-3a-crypto = "lib64"
22BASE_LIB:tune-armv8-3a-crypto-sve = "lib64"
diff --git a/meta/conf/machine/include/arm/arch-armv8-4a.inc b/meta/conf/machine/include/arm/arch-armv8-4a.inc
new file mode 100644
index 0000000000..b61d50daa5
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv8-4a.inc
@@ -0,0 +1,24 @@
1DEFAULTTUNE ?= "armv8-4a"
2
3TUNEVALID[armv8-4a] = "Enable instructions for ARMv8.4-a"
4TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', ' -march=armv8.4-a', '', d)}"
5# TUNE crypto will be handled by arch-armv8a.inc below
6MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', 'armv8-4a:', '', d)}"
7
8require conf/machine/include/arm/arch-armv8a.inc
9require conf/machine/include/arm/feature-arm-sve.inc
10
11# Little Endian base configs
12AVAILTUNES += "armv8-4a armv8-4a-crypto armv8-4a-crypto-sve"
13ARMPKGARCH:tune-armv8-4a ?= "armv8-4a"
14ARMPKGARCH:tune-armv8-4a-crypto ?= "armv8-4a"
15ARMPKGARCH:tune-armv8-4a-crypto-sve ?= "armv8-4a"
16TUNE_FEATURES:tune-armv8-4a = "aarch64 armv8-4a"
17TUNE_FEATURES:tune-armv8-4a-crypto = "${TUNE_FEATURES:tune-armv8-4a} crypto"
18TUNE_FEATURES:tune-armv8-4a-crypto-sve = "${TUNE_FEATURES:tune-armv8-4a-crypto} sve"
19PACKAGE_EXTRA_ARCHS:tune-armv8-4a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-4a"
20PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a} armv8-4a-crypto"
21PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto} armv8-4a-crypto-sve"
22BASE_LIB:tune-armv8-4a = "lib64"
23BASE_LIB:tune-armv8-4a-crypto = "lib64"
24BASE_LIB:tune-armv8-4a-crypto-sve = "lib64"
diff --git a/meta/conf/machine/include/arm/arch-armv8-5a.inc b/meta/conf/machine/include/arm/arch-armv8-5a.inc
new file mode 100644
index 0000000000..176bc9033c
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv8-5a.inc
@@ -0,0 +1,24 @@
1DEFAULTTUNE ?= "armv8-5a"
2
3TUNEVALID[armv8-5a] = "Enable instructions for ARMv8.5-a"
4TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-5a', ' -march=armv8.5-a', '', d)}"
5# TUNE crypto will be handled by arch-armv8a.inc below
6MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-5a', 'armv8-5a:', '', d)}"
7
8require conf/machine/include/arm/arch-armv8a.inc
9require conf/machine/include/arm/feature-arm-sve.inc
10
11# Little Endian base configs
12AVAILTUNES += "armv8-5a armv8-5a-crypto armv8-5a-crypto-sve"
13ARMPKGARCH:tune-armv8-5a ?= "armv8-5a"
14ARMPKGARCH:tune-armv8-5a-crypto ?= "armv8-5a"
15ARMPKGARCH:tune-armv8-5a-crypto-sve ?= "armv8-5a"
16TUNE_FEATURES:tune-armv8-5a = "aarch64 armv8-5a"
17TUNE_FEATURES:tune-armv8-5a-crypto = "${TUNE_FEATURES:tune-armv8-5a} crypto"
18TUNE_FEATURES:tune-armv8-5a-crypto-sve = "${TUNE_FEATURES:tune-armv8-5a-crypto} sve"
19PACKAGE_EXTRA_ARCHS:tune-armv8-5a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-5a"
20PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a} armv8-5a-crypto"
21PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto} armv8-5a-crypto-sve"
22BASE_LIB:tune-armv8-5a = "lib64"
23BASE_LIB:tune-armv8-5a-crypto = "lib64"
24BASE_LIB:tune-armv8-5a-crypto-sve = "lib64"
diff --git a/meta/conf/machine/include/arm/arch-armv8-6a.inc b/meta/conf/machine/include/arm/arch-armv8-6a.inc
new file mode 100644
index 0000000000..27f85325ca
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv8-6a.inc
@@ -0,0 +1,22 @@
1DEFAULTTUNE ?= "armv8-6a"
2
3TUNEVALID[armv8-6a] = "Enable instructions for ARMv8.6-a"
4TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-6a', ' -march=armv8.6-a', '', d)}"
5# TUNE crypto will be handled by arch-armv8a.inc below
6MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-6a', 'armv8-6a:', '', d)}"
7
8require conf/machine/include/arm/arch-armv8a.inc
9
10AVAILTUNES += "armv8-6a armv8-6a-crypto armv8-6a-crypto-sve"
11ARMPKGARCH:tune-armv8-6a ?= "armv8-6a"
12ARMPKGARCH:tune-armv8-6a-crypto ?= "armv8-6a"
13ARMPKGARCH:tune-armv8-6a-crypto-sve ?= "armv8-6a"
14TUNE_FEATURES:tune-armv8-6a = "aarch64 armv8-6a"
15TUNE_FEATURES:tune-armv8-6a-crypto = "${TUNE_FEATURES:tune-armv8-6a} crypto"
16TUNE_FEATURES:tune-armv8-6a-crypto-sve = "${TUNE_FEATURES:tune-armv8-6a-crypto} sve"
17PACKAGE_EXTRA_ARCHS:tune-armv8-6a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-6a"
18PACKAGE_EXTRA_ARCHS:tune-armv8-6a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-6a} armv8-6a-crypto"
19PACKAGE_EXTRA_ARCHS:tune-armv8-6a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-6a-crypto} armv8-6a-crypto-sve"
20BASE_LIB:tune-armv8-6a = "lib64"
21BASE_LIB:tune-armv8-6a-crypto = "lib64"
22BASE_LIB:tune-armv8-6a-crypto-sve = "lib64"
diff --git a/meta/conf/machine/include/arm/arch-armv8a.inc b/meta/conf/machine/include/arm/arch-armv8a.inc
index 6e92bdb7a4..97c944dfa5 100644
--- a/meta/conf/machine/include/arm/arch-armv8a.inc
+++ b/meta/conf/machine/include/arm/arch-armv8a.inc
@@ -1,30 +1,28 @@
1DEFAULTTUNE ?= "armv8a-crc" 1DEFAULTTUNE ?= "armv8a-crc"
2 2
3TUNEVALID[armv8a] = "Enable instructions for ARMv8-a" 3TUNEVALID[armv8a] = "Enable instructions for ARMv8-a"
4TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}" 4TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}"
5TUNEVALID[crc] = "Enable instructions for ARMv8-a Cyclic Redundancy Check (CRC)"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}"
7TUNEVALID[crypto] = "Enable instructions for ARMv8-a cryptographic"
8TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}"
9MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 'armv8a:', '', d)}" 5MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 'armv8a:', '', d)}"
10 6
11require conf/machine/include/arm/arch-arm64.inc 7require conf/machine/include/arm/arch-arm64.inc
8require conf/machine/include/arm/feature-arm-crc.inc
9require conf/machine/include/arm/feature-arm-crypto.inc
12 10
13# Little Endian base configs 11# Little Endian base configs
14AVAILTUNES += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto" 12AVAILTUNES += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto"
15ARMPKGARCH_tune-armv8a ?= "armv8a" 13ARMPKGARCH:tune-armv8a ?= "armv8a"
16ARMPKGARCH_tune-armv8a-crc ?= "armv8a" 14ARMPKGARCH:tune-armv8a-crc ?= "armv8a"
17ARMPKGARCH_tune-armv8a-crypto ?= "armv8a" 15ARMPKGARCH:tune-armv8a-crypto ?= "armv8a"
18ARMPKGARCH_tune-armv8a-crc-crypto ?= "armv8a" 16ARMPKGARCH:tune-armv8a-crc-crypto ?= "armv8a"
19TUNE_FEATURES_tune-armv8a = "aarch64 armv8a" 17TUNE_FEATURES:tune-armv8a = "aarch64 armv8a"
20TUNE_FEATURES_tune-armv8a-crc = "${TUNE_FEATURES_tune-armv8a} crc" 18TUNE_FEATURES:tune-armv8a-crc = "${TUNE_FEATURES:tune-armv8a} crc"
21TUNE_FEATURES_tune-armv8a-crypto = "${TUNE_FEATURES_tune-armv8a} crypto" 19TUNE_FEATURES:tune-armv8a-crypto = "${TUNE_FEATURES:tune-armv8a} crypto"
22TUNE_FEATURES_tune-armv8a-crc-crypto = "${TUNE_FEATURES_tune-armv8a-crc} crypto" 20TUNE_FEATURES:tune-armv8a-crc-crypto = "${TUNE_FEATURES:tune-armv8a-crc} crypto"
23PACKAGE_EXTRA_ARCHS_tune-armv8a = "aarch64 armv8a" 21PACKAGE_EXTRA_ARCHS:tune-armv8a = "aarch64 armv8a"
24PACKAGE_EXTRA_ARCHS_tune-armv8a-crc = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-crc" 22PACKAGE_EXTRA_ARCHS:tune-armv8a-crc = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8a-crc"
25PACKAGE_EXTRA_ARCHS_tune-armv8a-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-crypto" 23PACKAGE_EXTRA_ARCHS:tune-armv8a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8a-crypto"
26PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} armv8a-crypto armv8a-crc-crypto" 24PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} armv8a-crypto armv8a-crc-crypto"
27BASE_LIB_tune-armv8a = "lib64" 25BASE_LIB:tune-armv8a = "lib64"
28BASE_LIB_tune-armv8a-crc = "lib64" 26BASE_LIB:tune-armv8a-crc = "lib64"
29BASE_LIB_tune-armv8a-crypto = "lib64" 27BASE_LIB:tune-armv8a-crypto = "lib64"
30BASE_LIB_tune-armv8a-crc-crypto = "lib64" 28BASE_LIB:tune-armv8a-crc-crypto = "lib64"
diff --git a/meta/conf/machine/include/arm/arch-armv8m-base.inc b/meta/conf/machine/include/arm/arch-armv8m-base.inc
new file mode 100644
index 0000000000..ffee8cea80
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv8m-base.inc
@@ -0,0 +1,17 @@
1#
2# Defaults for ARMv8-m.base
3#
4DEFAULTTUNE ?= "armv8m-base"
5
6TUNEVALID[armv8m-base] = "Enable instructions for ARMv8-m.base"
7TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', ' -march=armv8-m.base', '', d)}"
8MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', 'armv8m-base:', '', d)}"
9
10TUNECONFLICTS[armv8m-base] = "armv4 armv5 armv6 armv7a"
11
12require conf/machine/include/arm/arch-armv7m.inc
13
14AVAILTUNES += "armv8m-base"
15ARMPKGARCH:tune-armv8m-base = "armv8m-base"
16TUNE_FEATURES:tune-armv8m-base = "armv8m-base"
17PACKAGE_EXTRA_ARCHS:tune-armv8m-base = "armv8m-base"
diff --git a/meta/conf/machine/include/arm/arch-armv8m-main.inc b/meta/conf/machine/include/arm/arch-armv8m-main.inc
new file mode 100644
index 0000000000..01bef35428
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv8m-main.inc
@@ -0,0 +1,28 @@
1#
2# Defaults for ARMv8-m.main
3#
4DEFAULTTUNE ?= "armv8m-main"
5
6require conf/machine/include/arm/arch-armv8m-base.inc
7require conf/machine/include/arm/feature-arm-dsp.inc
8require conf/machine/include/arm/feature-arm-neon.inc
9
10TUNEVALID[armv8m-main] = "Enable instructions for ARMv8-m.main"
11TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', ' -march=armv8-m.main', '', d)}"
12MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', 'armv8m-main:', '', d)}"
13
14TUNECONFLICTS[armv8m-main] = "armv4 armv5 armv6 armv7a"
15
16AVAILTUNES += "armv8m-main armv8m-maine armv8m-main-vfpv5spd16 armv8m-maine-vfpv5spd16"
17ARMPKGARCH:tune-armv8m-main = "armv8m-main"
18ARMPKGARCH:tune-armv8m-maine = "armv8m-main"
19ARMPKGARCH:tune-armv8m-main-vfpv5spd16 = "armv8m-main"
20ARMPKGARCH:tune-armv8m-maine-vfpv5spd16 = "armv8m-main"
21TUNE_FEATURES:tune-armv8m-main = "armv8m-main"
22TUNE_FEATURES:tune-armv8m-maine = "${TUNE_FEATURES:tune-armv8m-main} dsp"
23TUNE_FEATURES:tune-armv8m-main-vfpv5spd16 = "${TUNE_FEATURES:tune-armv8m-main} vfpv5spd16"
24TUNE_FEATURES:tune-armv8m-maine-vfpv5spd16 = "${TUNE_FEATURES:tune-armv8m-main-vfpv5spd16} dsp"
25PACKAGE_EXTRA_ARCHS:tune-armv8m-main = "armv8m-main"
26PACKAGE_EXTRA_ARCHS:tune-armv8m-maine = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-maine"
27PACKAGE_EXTRA_ARCHS:tune-armv8m-main-vfpv5spd16 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-main-fpv5-spd16"
28PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-maine-fpv5-spd16"
diff --git a/meta/conf/machine/include/arm/arch-armv8r.inc b/meta/conf/machine/include/arm/arch-armv8r.inc
new file mode 100644
index 0000000000..2fea8d2517
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv8r.inc
@@ -0,0 +1,38 @@
1#
2# Defaults for ARMv8-r
3#
4DEFAULTTUNE ?= "armv8r"
5
6TUNEVALID[armv8r] = "Enable instructions for ARMv8-r"
7TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8r', ' -march=armv8-r', '', d)}"
8MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8r', 'armv8r:', '', d)}"
9
10require conf/machine/include/arm/arch-arm64.inc
11require conf/machine/include/arm/feature-arm-crc.inc
12require conf/machine/include/arm/feature-arm-crypto.inc
13require conf/machine/include/arm/feature-arm-sve.inc
14
15# All ARMv8 has floating point hardware built in. Null it here to avoid any confusion for 32bit.
16TARGET_FPU_32 = ""
17
18AVAILTUNES += "armv8r armv8r-crc armv8r-crypto armv8r-simd armv8r-crc-crypto armv8r-crc-simd armv8r-crc-crypto-simd"
19ARMPKGARCH:tune-armv8r = "armv8r"
20ARMPKGARCH:tune-armv8r-crc = "armv8r"
21ARMPKGARCH:tune-armv8r-crypto = "armv8r"
22ARMPKGARCH:tune-armv8r-simd = "armv8r"
23ARMPKGARCH:tune-armv8r-crc-crypto = "armv8r"
24ARMPKGARCH:tune-armv8r-crc-simd = "armv8r"
25ARMPKGARCH:tune-armv8r-crc-crypto-simd = "armv8r"
26TUNE_FEATURES:tune-armv8r = "armv8r"
27TUNE_FEATURES:tune-armv8r-crc = "${TUNE_FEATURES:tune-armv8r} crc"
28TUNE_FEATURES:tune-armv8r-crypto = "${TUNE_FEATURES:tune-armv8r} crypto"
29TUNE_FEATURES:tune-armv8r-simd = "${TUNE_FEATURES:tune-armv8r} simd"
30TUNE_FEATURES:tune-armv8r-crc-crypto = "${TUNE_FEATURES:tune-armv8r-crc} crypto"
31TUNE_FEATURES:tune-armv8r-crc-simd = "${TUNE_FEATURES:tune-armv8r-crc} simd"
32TUNE_FEATURES:tune-armv8r-crc-crypto-simd = "${TUNE_FEATURES:tune-armv8r-crc-crypto} simd"
33PACKAGE_EXTRA_ARCHS:tune-armv8r = "armv8r"
34PACKAGE_EXTRA_ARCHS:tune-armv8r-crc = "${PACKAGE_EXTRA_ARCHS:tune-armv8r} armv8r-crc"
35PACKAGE_EXTRA_ARCHS:tune-armv8r-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8r} armv8r-crypto"
36PACKAGE_EXTRA_ARCHS:tune-armv8r-simd = "${PACKAGE_EXTRA_ARCHS:tune-armv8r} armv8r-simd"
37PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc} armv8r-simd armv8r-crc-simd"
38PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-crypto-simd = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} armv8r-crc-crypto-simd"
diff --git a/meta/conf/machine/include/arm/arch-armv9a.inc b/meta/conf/machine/include/arm/arch-armv9a.inc
new file mode 100644
index 0000000000..e8d7c08a63
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv9a.inc
@@ -0,0 +1,19 @@
1DEFAULTTUNE ?= "armv9a"
2
3TUNEVALID[armv9a] = "Enable instructions for ARMv9-a"
4TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', ' -march=armv9-a', '', d)}"
5MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', 'armv9a:', '', d)}"
6
7require conf/machine/include/arm/arch-arm64.inc
8require conf/machine/include/arm/feature-arm-crypto.inc
9
10# Little Endian base configs
11AVAILTUNES += "armv9a armv9a-crypto"
12ARMPKGARCH:tune-armv9a ?= "armv9a"
13ARMPKGARCH:tune-armv9a-crypto ?= "armv9a"
14TUNE_FEATURES:tune-armv9a = "aarch64 armv9a"
15TUNE_FEATURES:tune-armv9a-crypto = "${TUNE_FEATURES:tune-armv9a} crypto"
16PACKAGE_EXTRA_ARCHS:tune-armv9a = "aarch64 armv9a"
17PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crypto"
18BASE_LIB:tune-armv9a = "lib64"
19BASE_LIB:tune-armv9a-crypto = "lib64"
diff --git a/meta/conf/machine/include/tune-arm920t.inc b/meta/conf/machine/include/arm/armv4/tune-arm920t.inc
index 62a1a7e858..1b1cbdb5a7 100644
--- a/meta/conf/machine/include/tune-arm920t.inc
+++ b/meta/conf/machine/include/arm/armv4/tune-arm920t.inc
@@ -1,4 +1,4 @@
1DEFAULTTUNE ?= "armv4t" 1DEFAULTTUNE ?= "arm920t"
2 2
3require conf/machine/include/arm/arch-armv4.inc 3require conf/machine/include/arm/arch-armv4.inc
4 4
@@ -7,7 +7,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm920t', ' -mcpu=arm920t
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm920t', 'armv4:', '', d)}" 7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm920t', 'armv4:', '', d)}"
8 8
9AVAILTUNES += "arm920t" 9AVAILTUNES += "arm920t"
10ARMPKGARCH_tune-arm920t = "arm920t" 10ARMPKGARCH:tune-arm920t = "arm920t"
11# mcpu is used so don't use armv4t as we don't want march 11# mcpu is used so don't use armv4t as we don't want march
12TUNE_FEATURES_tune-arm920t = "arm thumb arm920t" 12TUNE_FEATURES:tune-arm920t = "arm thumb arm920t"
13PACKAGE_EXTRA_ARCHS_tune-arm920t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm920t arm920tt" 13PACKAGE_EXTRA_ARCHS:tune-arm920t = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} arm920t arm920tt"
diff --git a/meta/conf/machine/include/tune-arm9tdmi.inc b/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc
index 8a46f8e5df..78b890b43c 100644
--- a/meta/conf/machine/include/tune-arm9tdmi.inc
+++ b/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc
@@ -1,4 +1,4 @@
1DEFAULTTUNE ?= "armv4t" 1DEFAULTTUNE ?= "arm9tdmi"
2 2
3require conf/machine/include/arm/arch-armv4.inc 3require conf/machine/include/arm/arch-armv4.inc
4 4
@@ -7,7 +7,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm9tdmi', ' -mcpu=arm9td
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm9tdmi', 'armv4:', '', d)}" 7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm9tdmi', 'armv4:', '', d)}"
8 8
9AVAILTUNES += "arm9tdmi" 9AVAILTUNES += "arm9tdmi"
10ARMPKGARCH_tune-arm9tdmi = "arm9tdmi" 10ARMPKGARCH:tune-arm9tdmi = "arm9tdmi"
11# mcpu is used so don't use armv4t as we don't want march 11# mcpu is used so don't use armv4t as we don't want march
12TUNE_FEATURES_tune-arm9tdmi = "arm thumb arm9tdmi" 12TUNE_FEATURES:tune-arm9tdmi = "arm thumb arm9tdmi"
13PACKAGE_EXTRA_ARCHS_tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm9tdmi arm9tdmit" 13PACKAGE_EXTRA_ARCHS:tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} arm9tdmi arm9tdmit"
diff --git a/meta/conf/machine/include/tune-ep9312.inc b/meta/conf/machine/include/arm/armv4/tune-ep9312.inc
index 5e1a0e5791..0d481d3888 100644
--- a/meta/conf/machine/include/tune-ep9312.inc
+++ b/meta/conf/machine/include/arm/armv4/tune-ep9312.inc
@@ -7,6 +7,6 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', ' -march=ep9312
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', 'armv4:', '', d)}" 7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', 'armv4:', '', d)}"
8 8
9AVAILTUNES += "ep9312" 9AVAILTUNES += "ep9312"
10ARMPKGARCH_tune-ep9312 = "ep9312" 10ARMPKGARCH:tune-ep9312 = "ep9312"
11TUNE_FEATURES_tune-ep9312 = "thumb ep9312" 11TUNE_FEATURES:tune-ep9312 = "thumb ep9312"
12PACKAGE_EXTRA_ARCHS_tune-ep9312 = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} ep9312t" 12PACKAGE_EXTRA_ARCHS:tune-ep9312 = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} ep9312t"
diff --git a/meta/conf/machine/include/tune-strongarm1100.inc b/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc
index 9479965843..38ea9b7dd5 100644
--- a/meta/conf/machine/include/tune-strongarm1100.inc
+++ b/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc
@@ -1,4 +1,4 @@
1DEFAULTTUNE ?= "armv4" 1DEFAULTTUNE ?= "strongarm"
2 2
3require conf/machine/include/arm/arch-armv4.inc 3require conf/machine/include/arm/arch-armv4.inc
4 4
@@ -7,6 +7,6 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'strongarm', ' -mcpu=stron
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'strongarm', 'armv4:', '', d)}" 7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'strongarm', 'armv4:', '', d)}"
8 8
9AVAILTUNES += "strongarm" 9AVAILTUNES += "strongarm"
10ARMPKGARCH_tune-strongarm = "strongarm" 10ARMPKGARCH:tune-strongarm = "strongarm"
11TUNE_FEATURES_tune-strongarm = "arm strongarm" 11TUNE_FEATURES:tune-strongarm = "arm strongarm"
12PACKAGE_EXTRA_ARCHS_tune-strongarm = "${PACKAGE_EXTRA_ARCHS_tune-armv4} strongarm" 12PACKAGE_EXTRA_ARCHS:tune-strongarm = "${PACKAGE_EXTRA_ARCHS:tune-armv4} strongarm"
diff --git a/meta/conf/machine/include/tune-arm926ejs.inc b/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc
index 5f090ba2f8..84c5084868 100644
--- a/meta/conf/machine/include/tune-arm926ejs.inc
+++ b/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc
@@ -7,7 +7,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm926ejs', ' -mcpu=arm92
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm926ejs', 'armv5:', '', d)}" 7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm926ejs', 'armv5:', '', d)}"
8 8
9AVAILTUNES += "arm926ejs" 9AVAILTUNES += "arm926ejs"
10ARMPKGARCH_tune-arm926ejs = "arm926ejs" 10ARMPKGARCH:tune-arm926ejs = "arm926ejs"
11# mcpu is used so don't use armv5te as we don't want march 11# mcpu is used so don't use armv5te as we don't want march
12TUNE_FEATURES_tune-arm926ejs = "arm thumb dsp arm926ejs" 12TUNE_FEATURES:tune-arm926ejs = "arm thumb dsp arm926ejs"
13PACKAGE_EXTRA_ARCHS_tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} arm926ejste arm926ejse" 13PACKAGE_EXTRA_ARCHS:tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} arm926ejste arm926ejse"
diff --git a/meta/conf/machine/include/tune-iwmmxt.inc b/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc
index 81ff4c9ae2..c584b47d18 100644
--- a/meta/conf/machine/include/tune-iwmmxt.inc
+++ b/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc
@@ -10,6 +10,6 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'iwmmxt', ' -mcpu=iwmmxt',
10MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'iwmmxt', 'armv5:', '', d)}" 10MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'iwmmxt', 'armv5:', '', d)}"
11 11
12AVAILTUNES += "iwmmxt" 12AVAILTUNES += "iwmmxt"
13ARMPKGARCH_tune-iwmmxt = "iwmmxt" 13ARMPKGARCH:tune-iwmmxt = "iwmmxt"
14TUNE_FEATURES_tune-iwmmxt = "thumb iwmmxt" 14TUNE_FEATURES:tune-iwmmxt = "thumb iwmmxt"
15PACKAGE_EXTRA_ARCHS_tune-iwmmxt = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} iwmmxt iwmmxtt" 15PACKAGE_EXTRA_ARCHS:tune-iwmmxt = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} iwmmxt iwmmxtt"
diff --git a/meta/conf/machine/include/tune-xscale.inc b/meta/conf/machine/include/arm/armv5/tune-xscale.inc
index aeac365284..cc67dcd304 100644
--- a/meta/conf/machine/include/tune-xscale.inc
+++ b/meta/conf/machine/include/arm/armv5/tune-xscale.inc
@@ -7,13 +7,13 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'xscale', ' -mcpu=xscale',
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'xscale', 'armv5:', '', d)}" 7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'xscale', 'armv5:', '', d)}"
8 8
9AVAILTUNES += "xscale" 9AVAILTUNES += "xscale"
10ARMPKGARCH_tune-xscale = "xscale" 10ARMPKGARCH:tune-xscale = "xscale"
11# mcpu is used so don't use armv5te as we don't want march 11# mcpu is used so don't use armv5te as we don't want march
12TUNE_FEATURES_tune-xscale = "arm thumb dsp xscale" 12TUNE_FEATURES:tune-xscale = "arm thumb dsp xscale"
13PACKAGE_EXTRA_ARCHS_tune-xscale = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} xscale xscalet xscalee xscalete" 13PACKAGE_EXTRA_ARCHS:tune-xscale = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} xscale xscalet xscalee xscalete"
14 14
15AVAILTUNES += "xscale-be" 15AVAILTUNES += "xscale-be"
16ARMPKGARCH_tune-xscale-be = "xscale" 16ARMPKGARCH:tune-xscale-be = "xscale"
17# mcpu is used so don't use armv5te as we don't want march 17# mcpu is used so don't use armv5te as we don't want march
18TUNE_FEATURES_tune-xscale-be = "${TUNE_FEATURES_tune-xscale} bigendian" 18TUNE_FEATURES:tune-xscale-be = "${TUNE_FEATURES:tune-xscale} bigendian"
19PACKAGE_EXTRA_ARCHS_tune-xscale-be = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} xscaleb xscaletb xscaleeb xscaleteb" 19PACKAGE_EXTRA_ARCHS:tune-xscale-be = "${PACKAGE_EXTRA_ARCHS:tune-armv5teb} xscaleb xscaletb xscaleeb xscaleteb"
diff --git a/meta/conf/machine/include/tune-arm1136jf-s.inc b/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc
index 2bb8c7c154..b848580948 100644
--- a/meta/conf/machine/include/tune-arm1136jf-s.inc
+++ b/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc
@@ -7,10 +7,10 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', ' -mcpu=arm1
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', 'armv6:', '', d)}" 7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', 'armv6:', '', d)}"
8 8
9AVAILTUNES += "arm1136jfs arm1136jfshf" 9AVAILTUNES += "arm1136jfs arm1136jfshf"
10ARMPKGARCH_tune-arm1136jfs = "arm1136jfs" 10ARMPKGARCH:tune-arm1136jfs = "arm1136jfs"
11ARMPKGARCH_tune-arm1136jfshf = "arm1136jfs" 11ARMPKGARCH:tune-arm1136jfshf = "arm1136jfs"
12# mcpu is used so don't use armv6 as we don't want march 12# mcpu is used so don't use armv6 as we don't want march
13TUNE_FEATURES_tune-arm1136jfs = "arm vfp arm1136jfs" 13TUNE_FEATURES:tune-arm1136jfs = "arm vfp arm1136jfs"
14TUNE_FEATURES_tune-arm1136jfshf = "${TUNE_FEATURES_tune-arm1136jfs} callconvention-hard" 14TUNE_FEATURES:tune-arm1136jfshf = "${TUNE_FEATURES:tune-arm1136jfs} callconvention-hard"
15PACKAGE_EXTRA_ARCHS_tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6} arm1136jfs-vfp" 15PACKAGE_EXTRA_ARCHS:tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS:tune-armv6} arm1136jfs-vfp"
16PACKAGE_EXTRA_ARCHS_tune-arm1136jfshf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} arm1136jfshf-vfp" 16PACKAGE_EXTRA_ARCHS:tune-arm1136jfshf = "${PACKAGE_EXTRA_ARCHS:tune-armv6hf} arm1136jfshf-vfp"
diff --git a/meta/conf/machine/include/tune-arm1176jz-s.inc b/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc
index a74781f5e6..21d77f081e 100644
--- a/meta/conf/machine/include/tune-arm1176jz-s.inc
+++ b/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc
@@ -7,11 +7,11 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', ' -mcpu=arm1
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', 'armv6:', '', d)}" 7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', 'armv6:', '', d)}"
8 8
9AVAILTUNES += "arm1176jzs" 9AVAILTUNES += "arm1176jzs"
10ARMPKGARCH_tune-arm1176jzs = "arm1176jzs" 10ARMPKGARCH:tune-arm1176jzs = "arm1176jzs"
11TUNE_FEATURES_tune-arm1176jzs = "arm thumb arm1176jzs" 11TUNE_FEATURES:tune-arm1176jzs = "arm thumb arm1176jzs"
12PACKAGE_EXTRA_ARCHS_tune-arm1176jzs = "${PACKAGE_EXTRA_ARCHS_tune-armv6t-novfp} arm1176jzs arm1176jzst" 12PACKAGE_EXTRA_ARCHS:tune-arm1176jzs = "${PACKAGE_EXTRA_ARCHS:tune-armv6t-novfp} arm1176jzs arm1176jzst"
13 13
14AVAILTUNES += "arm1176jzs-be" 14AVAILTUNES += "arm1176jzs-be"
15ARMPKGARCH_tune-arm1176jzs-be = "${ARMPKGARCH_tune-arm1176jzs}" 15ARMPKGARCH:tune-arm1176jzs-be = "${ARMPKGARCH:tune-arm1176jzs}"
16TUNE_FEATURES_tune-arm1176jzs-be = "${TUNE_FEATURES_tune-arm1176jzs} bigendian" 16TUNE_FEATURES:tune-arm1176jzs-be = "${TUNE_FEATURES:tune-arm1176jzs} bigendian"
17PACKAGE_EXTRA_ARCHS_tune-arm1176jzs-be = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp} arm1176jzsb arm1176jzstb" 17PACKAGE_EXTRA_ARCHS:tune-arm1176jzs-be = "${PACKAGE_EXTRA_ARCHS:tune-armv6tb-novfp} arm1176jzsb arm1176jzstb"
diff --git a/meta/conf/machine/include/tune-cortex-m0.inc b/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc
index a59c8af941..aadc5326ce 100644
--- a/meta/conf/machine/include/tune-cortex-m0.inc
+++ b/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc
@@ -5,7 +5,7 @@ TUNEVALID[cortexm0] = "Enable Cortex-M0 specific processor optimizations"
5TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm0', ' -mcpu=cortex-m0', '', d)}" 5TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm0', ' -mcpu=cortex-m0', '', d)}"
6AVAILTUNES += "cortexm0" 6AVAILTUNES += "cortexm0"
7 7
8ARMPKGARCH_tune-cortexm0 = "cortexm0" 8ARMPKGARCH:tune-cortexm0 = "cortexm0"
9TUNE_FEATURES_tune-cortexm0 = "${TUNE_FEATURES_tune-armv6m} cortexm0" 9TUNE_FEATURES:tune-cortexm0 = "${TUNE_FEATURES:tune-armv6m} cortexm0"
10 10
11PACKAGE_EXTRA_ARCHS_tune-cortexm0 = "${PACKAGE_EXTRA_ARCHS_tune-armv6m} cortexm0" 11PACKAGE_EXTRA_ARCHS:tune-cortexm0 = "${PACKAGE_EXTRA_ARCHS:tune-armv6m} cortexm0"
diff --git a/meta/conf/machine/include/tune-cortex-m0plus.inc b/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc
index 1c7512b061..a3cf3f0bd2 100644
--- a/meta/conf/machine/include/tune-cortex-m0plus.inc
+++ b/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc
@@ -5,7 +5,7 @@ TUNEVALID[cortexm0-plus] = "Enable Cortex-M0 Plus specific processor optimizatio
5TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm0-plus', ' -mcpu=cortex-m0plus', '', d)}" 5TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm0-plus', ' -mcpu=cortex-m0plus', '', d)}"
6AVAILTUNES += "cortexm0-plus" 6AVAILTUNES += "cortexm0-plus"
7 7
8ARMPKGARCH_tune-cortexm0-plus = "cortexm0-plus" 8ARMPKGARCH:tune-cortexm0-plus = "cortexm0-plus"
9TUNE_FEATURES_tune-cortexm0-plus = "${TUNE_FEATURES_tune-armv6m} cortexm0-plus" 9TUNE_FEATURES:tune-cortexm0-plus = "${TUNE_FEATURES:tune-armv6m} cortexm0-plus"
10 10
11PACKAGE_EXTRA_ARCHS_tune-cortexm0-plus = "${PACKAGE_EXTRA_ARCHS_tune-armv6m} cortexm0-plus" 11PACKAGE_EXTRA_ARCHS:tune-cortexm0-plus = "${PACKAGE_EXTRA_ARCHS:tune-armv6m} cortexm0-plus"
diff --git a/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc b/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc
new file mode 100644
index 0000000000..16661f3a26
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc
@@ -0,0 +1,14 @@
1#
2# Tune Settings for Cortex-M1
3#
4DEFAULTTUNE ?= "cortexm1"
5
6TUNEVALID[cortexm1] = "Enable Cortex-M1 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm1', ' -mcpu=cortex-m1', '', d)}"
8
9require conf/machine/include/arm/arch-armv6m.inc
10
11AVAILTUNES += "cortexm1"
12ARMPKGARCH:tune-cortexm1 = "cortexm1"
13TUNE_FEATURES:tune-cortexm1 = "${TUNE_FEATURES:tune-armv6m} cortexm1"
14PACKAGE_EXTRA_ARCHS:tune-cortexm1 = "${PACKAGE_EXTRA_ARCHS:tune-armv6m} cortexm1"
diff --git a/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc b/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc
new file mode 100644
index 0000000000..e827afb2a0
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc
@@ -0,0 +1,51 @@
1DEFAULTTUNE ?= "cortexa15thf-neon"
2
3require conf/machine/include/arm/arch-armv7ve.inc
4
5TUNEVALID[cortexa15] = "Enable Cortex-A15 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa15', ' -mcpu=cortex-a15', '', d)}"
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa15', 'armv7ve:', '', d)}"
8
9# Little Endian base configs
10AVAILTUNES += "cortexa15 cortexa15t cortexa15-neon cortexa15t-neon cortexa15-neon-vfpv4 cortexa15t-neon-vfpv4"
11ARMPKGARCH:tune-cortexa15 = "cortexa15"
12ARMPKGARCH:tune-cortexa15t = "cortexa15"
13ARMPKGARCH:tune-cortexa15-neon = "cortexa15"
14ARMPKGARCH:tune-cortexa15t-neon = "cortexa15"
15ARMPKGARCH:tune-cortexa15-neon-vfpv4 = "cortexa15"
16ARMPKGARCH:tune-cortexa15t-neon-vfpv4 = "cortexa15"
17# mcpu is used so don't use armv7ve as we don't want march
18TUNE_FEATURES:tune-cortexa15 = "arm vfp cortexa15"
19TUNE_FEATURES:tune-cortexa15t = "${TUNE_FEATURES:tune-cortexa15} thumb"
20TUNE_FEATURES:tune-cortexa15-neon = "${TUNE_FEATURES:tune-cortexa15} neon"
21TUNE_FEATURES:tune-cortexa15t-neon = "${TUNE_FEATURES:tune-cortexa15-neon} thumb"
22TUNE_FEATURES:tune-cortexa15-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa15-neon} vfpv4"
23TUNE_FEATURES:tune-cortexa15t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa15-neon-vfpv4} thumb"
24PACKAGE_EXTRA_ARCHS:tune-cortexa15 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} cortexa15-vfp"
25PACKAGE_EXTRA_ARCHS:tune-cortexa15t = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} cortexa15-vfp cortexa15t2-vfp"
26PACKAGE_EXTRA_ARCHS:tune-cortexa15-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} cortexa15-vfp cortexa15-neon"
27PACKAGE_EXTRA_ARCHS:tune-cortexa15t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} cortexa15-vfp cortexa15-neon cortexa15t2-vfp cortexa15t2-neon"
28PACKAGE_EXTRA_ARCHS:tune-cortexa15-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4} cortexa15-vfp cortexa15-neon cortexa15-neon-vfpv4"
29PACKAGE_EXTRA_ARCHS:tune-cortexa15t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon-vfpv4} cortexa15-vfp cortexa15-neon cortexa15-neon-vfpv4 cortexa15t2-vfp cortexa15t2-neon cortexa15t2-neon-vfpv4"
30
31# HF Tunes
32AVAILTUNES += "cortexa15hf cortexa15thf cortexa15hf-neon cortexa15thf-neon cortexa15hf-neon-vfpv4 cortexa15thf-neon-vfpv4"
33ARMPKGARCH:tune-cortexa15hf = "cortexa15"
34ARMPKGARCH:tune-cortexa15thf = "cortexa15"
35ARMPKGARCH:tune-cortexa15hf-neon = "cortexa15"
36ARMPKGARCH:tune-cortexa15thf-neon = "cortexa15"
37ARMPKGARCH:tune-cortexa15hf-neon-vfpv4 = "cortexa15"
38ARMPKGARCH:tune-cortexa15thf-neon-vfpv4 = "cortexa15"
39# mcpu is used so don't use armv7ve as we don't want march
40TUNE_FEATURES:tune-cortexa15hf = "${TUNE_FEATURES:tune-cortexa15} callconvention-hard"
41TUNE_FEATURES:tune-cortexa15thf = "${TUNE_FEATURES:tune-cortexa15t} callconvention-hard"
42TUNE_FEATURES:tune-cortexa15hf-neon = "${TUNE_FEATURES:tune-cortexa15-neon} callconvention-hard"
43TUNE_FEATURES:tune-cortexa15thf-neon = "${TUNE_FEATURES:tune-cortexa15t-neon} callconvention-hard"
44TUNE_FEATURES:tune-cortexa15hf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa15-neon-vfpv4} callconvention-hard"
45TUNE_FEATURES:tune-cortexa15thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa15t-neon-vfpv4} callconvention-hard"
46PACKAGE_EXTRA_ARCHS:tune-cortexa15hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} cortexa15hf-vfp"
47PACKAGE_EXTRA_ARCHS:tune-cortexa15thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} cortexa15hf-vfp cortexa15t2hf-vfp"
48PACKAGE_EXTRA_ARCHS:tune-cortexa15hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} cortexa15hf-vfp cortexa15hf-neon"
49PACKAGE_EXTRA_ARCHS:tune-cortexa15thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} cortexa15hf-vfp cortexa15hf-neon cortexa15t2hf-vfp cortexa15t2hf-neon"
50PACKAGE_EXTRA_ARCHS:tune-cortexa15hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4} cortexa15hf-vfp cortexa15hf-neon cortexa15hf-neon-vfpv4"
51PACKAGE_EXTRA_ARCHS:tune-cortexa15thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon-vfpv4} cortexa15hf-vfp cortexa15hf-neon cortexa15hf-neon-vfpv4 cortexa15t2hf-vfp cortexa15t2hf-neon cortexa15t2hf-neon-vfpv4"
diff --git a/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc b/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc
new file mode 100644
index 0000000000..3ad00b16d8
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc
@@ -0,0 +1,51 @@
1DEFAULTTUNE ?= "cortexa17thf-neon"
2
3require conf/machine/include/arm/arch-armv7ve.inc
4
5TUNEVALID[cortexa17] = "Enable Cortex-A17 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa17', ' -mcpu=cortex-a17', '', d)}"
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa17', 'armv7ve:', '', d)}"
8
9# Little Endian base configs
10AVAILTUNES += "cortexa17 cortexa17t cortexa17-neon cortexa17t-neon cortexa17-neon-vfpv4 cortexa17t-neon-vfpv4"
11ARMPKGARCH:tune-cortexa17 = "cortexa17"
12ARMPKGARCH:tune-cortexa17t = "cortexa17"
13ARMPKGARCH:tune-cortexa17-neon = "cortexa17"
14ARMPKGARCH:tune-cortexa17t-neon = "cortexa17"
15ARMPKGARCH:tune-cortexa17-neon-vfpv4 = "cortexa17"
16ARMPKGARCH:tune-cortexa17t-neon-vfpv4 = "cortexa17"
17# mcpu is used so don't use armv7ve as we don't want march
18TUNE_FEATURES:tune-cortexa17 = "arm vfp cortexa17"
19TUNE_FEATURES:tune-cortexa17t = "${TUNE_FEATURES:tune-cortexa17} thumb"
20TUNE_FEATURES:tune-cortexa17-neon = "${TUNE_FEATURES:tune-cortexa17} neon"
21TUNE_FEATURES:tune-cortexa17t-neon = "${TUNE_FEATURES:tune-cortexa17-neon} thumb"
22TUNE_FEATURES:tune-cortexa17-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa17-neon} vfpv4"
23TUNE_FEATURES:tune-cortexa17t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa17-neon-vfpv4} thumb"
24PACKAGE_EXTRA_ARCHS:tune-cortexa17 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} cortexa17-vfp"
25PACKAGE_EXTRA_ARCHS:tune-cortexa17t = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} cortexa17-vfp cortexa17t2-vfp"
26PACKAGE_EXTRA_ARCHS:tune-cortexa17-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} cortexa17-vfp cortexa17-neon"
27PACKAGE_EXTRA_ARCHS:tune-cortexa17t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} cortexa17-vfp cortexa17-neon cortexa17t2-vfp cortexa17t2-neon"
28PACKAGE_EXTRA_ARCHS:tune-cortexa17-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4} cortexa17-vfp cortexa17-neon cortexa17-neon-vfpv4"
29PACKAGE_EXTRA_ARCHS:tune-cortexa17t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon-vfpv4} cortexa17-vfp cortexa17-neon cortexa17-neon-vfpv4 cortexa17t2-vfp cortexa17t2-neon cortexa17t2-neon-vfpv4"
30
31# HF Tunes
32AVAILTUNES += "cortexa17hf cortexa17thf cortexa17hf-neon cortexa17thf-neon cortexa17hf-neon-vfpv4 cortexa17thf-neon-vfpv4"
33ARMPKGARCH:tune-cortexa17hf = "cortexa17"
34ARMPKGARCH:tune-cortexa17thf = "cortexa17"
35ARMPKGARCH:tune-cortexa17hf-neon = "cortexa17"
36ARMPKGARCH:tune-cortexa17thf-neon = "cortexa17"
37ARMPKGARCH:tune-cortexa17hf-neon-vfpv4 = "cortexa17"
38ARMPKGARCH:tune-cortexa17thf-neon-vfpv4 = "cortexa17"
39# mcpu is used so don't use armv7ve as we don't want march
40TUNE_FEATURES:tune-cortexa17hf = "${TUNE_FEATURES:tune-cortexa17} callconvention-hard"
41TUNE_FEATURES:tune-cortexa17thf = "${TUNE_FEATURES:tune-cortexa17t} callconvention-hard"
42TUNE_FEATURES:tune-cortexa17hf-neon = "${TUNE_FEATURES:tune-cortexa17-neon} callconvention-hard"
43TUNE_FEATURES:tune-cortexa17thf-neon = "${TUNE_FEATURES:tune-cortexa17t-neon} callconvention-hard"
44TUNE_FEATURES:tune-cortexa17hf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa17-neon-vfpv4} callconvention-hard"
45TUNE_FEATURES:tune-cortexa17thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa17t-neon-vfpv4} callconvention-hard"
46PACKAGE_EXTRA_ARCHS:tune-cortexa17hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} cortexa17hf-vfp"
47PACKAGE_EXTRA_ARCHS:tune-cortexa17thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} cortexa17hf-vfp cortexa17t2hf-vfp"
48PACKAGE_EXTRA_ARCHS:tune-cortexa17hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} cortexa17hf-vfp cortexa17hf-neon"
49PACKAGE_EXTRA_ARCHS:tune-cortexa17thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} cortexa17hf-vfp cortexa17hf-neon cortexa17t2hf-vfp cortexa17t2hf-neon"
50PACKAGE_EXTRA_ARCHS:tune-cortexa17hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4} cortexa17hf-vfp cortexa17hf-neon cortexa17hf-neon-vfpv4"
51PACKAGE_EXTRA_ARCHS:tune-cortexa17thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon-vfpv4} cortexa17hf-vfp cortexa17hf-neon cortexa17hf-neon-vfpv4 cortexa17t2hf-vfp cortexa17t2hf-neon cortexa17t2hf-neon-vfpv4"
diff --git a/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc b/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc
new file mode 100644
index 0000000000..0de5aadaaa
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc
@@ -0,0 +1,51 @@
1DEFAULTTUNE ?= "cortexa5thf-neon"
2
3require conf/machine/include/arm/arch-armv7a.inc
4
5TUNEVALID[cortexa5] = "Enable Cortex-A5 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa5', ' -mcpu=cortex-a5', '', d)}"
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa5', 'armv7a:', '', d)}"
8
9# Little Endian base configs
10AVAILTUNES += "cortexa5 cortexa5t cortexa5-neon cortexa5t-neon cortexa5-neon-vfpv4 cortexa5t-neon-vfpv4"
11ARMPKGARCH:tune-cortexa5 = "cortexa5"
12ARMPKGARCH:tune-cortexa5t = "cortexa5"
13ARMPKGARCH:tune-cortexa5-neon = "cortexa5"
14ARMPKGARCH:tune-cortexa5t-neon = "cortexa5"
15ARMPKGARCH:tune-cortexa5-neon-vfpv4 = "cortexa5"
16ARMPKGARCH:tune-cortexa5t-neon-vfpv4 = "cortexa5"
17# mcpu is used so don't use armv7a as we don't want march
18TUNE_FEATURES:tune-cortexa5 = "arm vfp cortexa5"
19TUNE_FEATURES:tune-cortexa5t = "${TUNE_FEATURES:tune-cortexa5} thumb"
20TUNE_FEATURES:tune-cortexa5-neon = "${TUNE_FEATURES:tune-cortexa5} neon"
21TUNE_FEATURES:tune-cortexa5t-neon = "${TUNE_FEATURES:tune-cortexa5-neon} thumb"
22TUNE_FEATURES:tune-cortexa5-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa5-neon} vfpv4"
23TUNE_FEATURES:tune-cortexa5t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa5-neon-vfpv4} thumb"
24PACKAGE_EXTRA_ARCHS:tune-cortexa5 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} cortexa5-vfp"
25PACKAGE_EXTRA_ARCHS:tune-cortexa5t = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} cortexa5-vfp cortexa5t2-vfp"
26PACKAGE_EXTRA_ARCHS:tune-cortexa5-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} cortexa5-vfp cortexa5-neon"
27PACKAGE_EXTRA_ARCHS:tune-cortexa5t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} cortexa5-vfp cortexa5-neon cortexa5t2-vfp cortexa5t2-neon"
28PACKAGE_EXTRA_ARCHS:tune-cortexa5-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon-vfpv4} cortexa5-vfp cortexa5-neon cortexa5-neon-vfpv4"
29PACKAGE_EXTRA_ARCHS:tune-cortexa5t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon-vfpv4} cortexa5-vfp cortexa5-neon cortexa5-neon-vfpv4 cortexa5t2-vfp cortexa5t2-neon cortexa5t2-neon-vfpv4"
30
31# HF Tunes
32AVAILTUNES += "cortexa5hf cortexa5thf cortexa5hf-neon cortexa5thf-neon cortexa5hf-neon-vfpv4 cortexa5thf-neon-vfpv4"
33ARMPKGARCH:tune-cortexa5hf = "cortexa5"
34ARMPKGARCH:tune-cortexa5thf = "cortexa5"
35ARMPKGARCH:tune-cortexa5hf-neon = "cortexa5"
36ARMPKGARCH:tune-cortexa5thf-neon = "cortexa5"
37ARMPKGARCH:tune-cortexa5hf-neon-vfpv4 = "cortexa5"
38ARMPKGARCH:tune-cortexa5thf-neon-vfpv4 = "cortexa5"
39# mcpu is used so don't use armv7a as we don't want march
40TUNE_FEATURES:tune-cortexa5hf = "${TUNE_FEATURES:tune-cortexa5} callconvention-hard"
41TUNE_FEATURES:tune-cortexa5thf = "${TUNE_FEATURES:tune-cortexa5t} callconvention-hard"
42TUNE_FEATURES:tune-cortexa5hf-neon = "${TUNE_FEATURES:tune-cortexa5-neon} callconvention-hard"
43TUNE_FEATURES:tune-cortexa5thf-neon = "${TUNE_FEATURES:tune-cortexa5t-neon} callconvention-hard"
44TUNE_FEATURES:tune-cortexa5hf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa5-neon-vfpv4} callconvention-hard"
45TUNE_FEATURES:tune-cortexa5thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa5t-neon-vfpv4} callconvention-hard"
46PACKAGE_EXTRA_ARCHS:tune-cortexa5hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} cortexa5hf-vfp"
47PACKAGE_EXTRA_ARCHS:tune-cortexa5thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} cortexa5hf-vfp cortexa5t2hf-vfp"
48PACKAGE_EXTRA_ARCHS:tune-cortexa5hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} cortexa5hf-vfp cortexa5hf-neon"
49PACKAGE_EXTRA_ARCHS:tune-cortexa5thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} cortexa5hf-vfp cortexa5hf-neon cortexa5t2hf-vfp cortexa5t2hf-neon"
50PACKAGE_EXTRA_ARCHS:tune-cortexa5hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon-vfpv4} cortexa5hf-vfp cortexa5hf-neon cortexa5hf-neon-vfpv4"
51PACKAGE_EXTRA_ARCHS:tune-cortexa5thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon-vfpv4} cortexa5hf-vfp cortexa5hf-neon cortexa5hf-neon-vfpv4 cortexa5t2hf-vfp cortexa5t2hf-neon cortexa5t2hf-neon-vfpv4"
diff --git a/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc b/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc
new file mode 100644
index 0000000000..1ada527d8b
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc
@@ -0,0 +1,51 @@
1DEFAULTTUNE ?= "cortexa7thf-neon"
2
3require conf/machine/include/arm/arch-armv7ve.inc
4
5TUNEVALID[cortexa7] = "Enable Cortex-A7 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', ' -mcpu=cortex-a7', '', d)}"
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', 'armv7ve:', '', d)}"
8
9# Little Endian base configs
10AVAILTUNES += "cortexa7 cortexa7t cortexa7-neon cortexa7t-neon cortexa7-neon-vfpv4 cortexa7t-neon-vfpv4"
11ARMPKGARCH:tune-cortexa7 = "cortexa7"
12ARMPKGARCH:tune-cortexa7t = "cortexa7"
13ARMPKGARCH:tune-cortexa7-neon = "cortexa7"
14ARMPKGARCH:tune-cortexa7t-neon = "cortexa7"
15ARMPKGARCH:tune-cortexa7-neon-vfpv4 = "cortexa7"
16ARMPKGARCH:tune-cortexa7t-neon-vfpv4 = "cortexa7"
17# mcpu is used so don't use armv7ve as we don't want march
18TUNE_FEATURES:tune-cortexa7 = "arm vfp cortexa7"
19TUNE_FEATURES:tune-cortexa7t = "${TUNE_FEATURES:tune-cortexa7} thumb"
20TUNE_FEATURES:tune-cortexa7-neon = "${TUNE_FEATURES:tune-cortexa7} neon"
21TUNE_FEATURES:tune-cortexa7t-neon = "${TUNE_FEATURES:tune-cortexa7-neon} thumb"
22TUNE_FEATURES:tune-cortexa7-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa7-neon} vfpv4"
23TUNE_FEATURES:tune-cortexa7t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa7-neon-vfpv4} thumb"
24PACKAGE_EXTRA_ARCHS:tune-cortexa7 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} cortexa7-vfp"
25PACKAGE_EXTRA_ARCHS:tune-cortexa7t = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} cortexa7-vfp cortexa7t2-vfp"
26PACKAGE_EXTRA_ARCHS:tune-cortexa7-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} cortexa7-vfp cortexa7-neon"
27PACKAGE_EXTRA_ARCHS:tune-cortexa7t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} cortexa7-vfp cortexa7-neon cortexa7t2-vfp cortexa7t2-neon"
28PACKAGE_EXTRA_ARCHS:tune-cortexa7-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4"
29PACKAGE_EXTRA_ARCHS:tune-cortexa7t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4 cortexa7t2-vfp cortexa7t2-neon cortexa7t2-neon-vfpv4"
30
31# HF Tunes
32AVAILTUNES += "cortexa7hf cortexa7thf cortexa7hf-neon cortexa7thf-neon cortexa7hf-neon-vfpv4 cortexa7thf-neon-vfpv4"
33ARMPKGARCH:tune-cortexa7hf = "cortexa7"
34ARMPKGARCH:tune-cortexa7thf = "cortexa7"
35ARMPKGARCH:tune-cortexa7hf-neon = "cortexa7"
36ARMPKGARCH:tune-cortexa7thf-neon = "cortexa7"
37ARMPKGARCH:tune-cortexa7hf-neon-vfpv4 = "cortexa7"
38ARMPKGARCH:tune-cortexa7thf-neon-vfpv4 = "cortexa7"
39# mcpu is used so don't use armv7ve as we don't want march
40TUNE_FEATURES:tune-cortexa7hf = "${TUNE_FEATURES:tune-cortexa7} callconvention-hard"
41TUNE_FEATURES:tune-cortexa7thf = "${TUNE_FEATURES:tune-cortexa7t} callconvention-hard"
42TUNE_FEATURES:tune-cortexa7hf-neon = "${TUNE_FEATURES:tune-cortexa7-neon} callconvention-hard"
43TUNE_FEATURES:tune-cortexa7thf-neon = "${TUNE_FEATURES:tune-cortexa7t-neon} callconvention-hard"
44TUNE_FEATURES:tune-cortexa7hf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa7-neon-vfpv4} callconvention-hard"
45TUNE_FEATURES:tune-cortexa7thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa7t-neon-vfpv4} callconvention-hard"
46PACKAGE_EXTRA_ARCHS:tune-cortexa7hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} cortexa7hf-vfp"
47PACKAGE_EXTRA_ARCHS:tune-cortexa7thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} cortexa7hf-vfp cortexa7t2hf-vfp"
48PACKAGE_EXTRA_ARCHS:tune-cortexa7hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} cortexa7hf-vfp cortexa7hf-neon"
49PACKAGE_EXTRA_ARCHS:tune-cortexa7thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} cortexa7hf-vfp cortexa7hf-neon cortexa7t2hf-vfp cortexa7t2hf-neon"
50PACKAGE_EXTRA_ARCHS:tune-cortexa7hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4"
51PACKAGE_EXTRA_ARCHS:tune-cortexa7thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4 cortexa7t2hf-vfp cortexa7t2hf-neon cortexa7t2hf-neon-vfpv4"
diff --git a/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc b/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc
new file mode 100644
index 0000000000..952302afa2
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc
@@ -0,0 +1,39 @@
1DEFAULTTUNE ?= "cortexa8thf-neon"
2
3require conf/machine/include/arm/arch-armv7a.inc
4
5TUNEVALID[cortexa8] = "Enable Cortex-A8 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa8', ' -mcpu=cortex-a8', '', d)}"
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa8', 'armv7a:', '', d)}"
8
9# Little Endian base configs
10AVAILTUNES += "cortexa8 cortexa8t cortexa8-neon cortexa8t-neon"
11ARMPKGARCH:tune-cortexa8 = "cortexa8"
12ARMPKGARCH:tune-cortexa8t = "cortexa8"
13ARMPKGARCH:tune-cortexa8-neon = "cortexa8"
14ARMPKGARCH:tune-cortexa8t-neon = "cortexa8"
15# mcpu is used so don't use armv7a as we don't want march
16TUNE_FEATURES:tune-cortexa8 = "arm vfp cortexa8"
17TUNE_FEATURES:tune-cortexa8t = "${TUNE_FEATURES:tune-cortexa8} thumb"
18TUNE_FEATURES:tune-cortexa8-neon = "${TUNE_FEATURES:tune-cortexa8} neon"
19TUNE_FEATURES:tune-cortexa8t-neon = "${TUNE_FEATURES:tune-cortexa8-neon} thumb"
20PACKAGE_EXTRA_ARCHS:tune-cortexa8 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} cortexa8-vfp"
21PACKAGE_EXTRA_ARCHS:tune-cortexa8t = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} cortexa8-vfp cortexa8t2-vfp"
22PACKAGE_EXTRA_ARCHS:tune-cortexa8-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} cortexa8-vfp cortexa8-neon"
23PACKAGE_EXTRA_ARCHS:tune-cortexa8t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} cortexa8-vfp cortexa8-neon cortexa8t2-vfp cortexa8t2-neon"
24
25# HF Tunes
26AVAILTUNES += "cortexa8hf cortexa8thf cortexa8hf-neon cortexa8thf-neon"
27ARMPKGARCH:tune-cortexa8hf = "cortexa8"
28ARMPKGARCH:tune-cortexa8thf = "cortexa8"
29ARMPKGARCH:tune-cortexa8hf-neon = "cortexa8"
30ARMPKGARCH:tune-cortexa8thf-neon = "cortexa8"
31# mcpu is used so don't use armv7a as we don't want march
32TUNE_FEATURES:tune-cortexa8hf = "${TUNE_FEATURES:tune-cortexa8} callconvention-hard"
33TUNE_FEATURES:tune-cortexa8thf = "${TUNE_FEATURES:tune-cortexa8t} callconvention-hard"
34TUNE_FEATURES:tune-cortexa8hf-neon = "${TUNE_FEATURES:tune-cortexa8-neon} callconvention-hard"
35TUNE_FEATURES:tune-cortexa8thf-neon = "${TUNE_FEATURES:tune-cortexa8t-neon} callconvention-hard"
36PACKAGE_EXTRA_ARCHS:tune-cortexa8hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} cortexa8hf-vfp"
37PACKAGE_EXTRA_ARCHS:tune-cortexa8thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} cortexa8hf-vfp cortexa8t2hf-vfp"
38PACKAGE_EXTRA_ARCHS:tune-cortexa8hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} cortexa8hf-vfp cortexa8hf-neon"
39PACKAGE_EXTRA_ARCHS:tune-cortexa8thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} cortexa8hf-vfp cortexa8hf-neon cortexa8t2hf-vfp cortexa8t2hf-neon"
diff --git a/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc b/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc
new file mode 100644
index 0000000000..4b4a52884d
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc
@@ -0,0 +1,55 @@
1DEFAULTTUNE ?= "cortexa9thf-neon"
2
3require conf/machine/include/arm/arch-armv7a.inc
4
5TUNEVALID[cortexa9] = "Enable Cortex-A9 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa9', ' -mcpu=cortex-a9', '', d)}"
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa9', 'armv7a:', '', d)}"
8
9# Little Endian base configs
10AVAILTUNES += "cortexa9 cortexa9t cortexa9-neon cortexa9t-neon"
11ARMPKGARCH:tune-cortexa9 = "cortexa9"
12ARMPKGARCH:tune-cortexa9t = "cortexa9"
13ARMPKGARCH:tune-cortexa9-neon = "cortexa9"
14ARMPKGARCH:tune-cortexa9t-neon = "cortexa9"
15# mcpu is used so don't use armv7a as we don't want march
16TUNE_FEATURES:tune-cortexa9 = "arm vfp cortexa9"
17TUNE_FEATURES:tune-cortexa9t = "${TUNE_FEATURES:tune-cortexa9} thumb"
18TUNE_FEATURES:tune-cortexa9-neon = "${TUNE_FEATURES:tune-cortexa9} neon"
19TUNE_FEATURES:tune-cortexa9t-neon = "${TUNE_FEATURES:tune-cortexa9-neon} thumb"
20PACKAGE_EXTRA_ARCHS:tune-cortexa9 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} cortexa9-vfp"
21PACKAGE_EXTRA_ARCHS:tune-cortexa9t = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} cortexa9-vfp cortexa9t2-vfp"
22PACKAGE_EXTRA_ARCHS:tune-cortexa9-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} cortexa9-vfp cortexa9-neon"
23PACKAGE_EXTRA_ARCHS:tune-cortexa9t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} cortexa9-vfp cortexa9-neon cortexa9t2-vfp cortexa9t2-neon"
24
25# HF Tunes
26AVAILTUNES += "cortexa9hf cortexa9thf cortexa9hf-neon cortexa9thf-neon"
27ARMPKGARCH:tune-cortexa9hf = "cortexa9"
28ARMPKGARCH:tune-cortexa9thf = "cortexa9"
29ARMPKGARCH:tune-cortexa9hf-neon = "cortexa9"
30ARMPKGARCH:tune-cortexa9thf-neon = "cortexa9"
31# mcpu is used so don't use armv7a as we don't want march
32TUNE_FEATURES:tune-cortexa9hf = "${TUNE_FEATURES:tune-cortexa9} callconvention-hard"
33TUNE_FEATURES:tune-cortexa9thf = "${TUNE_FEATURES:tune-cortexa9t} callconvention-hard"
34TUNE_FEATURES:tune-cortexa9hf-neon = "${TUNE_FEATURES:tune-cortexa9-neon} callconvention-hard"
35TUNE_FEATURES:tune-cortexa9thf-neon = "${TUNE_FEATURES:tune-cortexa9t-neon} callconvention-hard"
36PACKAGE_EXTRA_ARCHS:tune-cortexa9hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} cortexa9hf-vfp"
37PACKAGE_EXTRA_ARCHS:tune-cortexa9thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} cortexa9hf-vfp cortexa9t2hf-vfp"
38PACKAGE_EXTRA_ARCHS:tune-cortexa9hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} cortexa9hf-vfp cortexa9hf-neon"
39PACKAGE_EXTRA_ARCHS:tune-cortexa9thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} cortexa9hf-vfp cortexa9hf-neon cortexa9t2hf-vfp cortexa9t2hf-neon"
40
41# VFPv3 Tunes
42AVAILTUNES += "cortexa9-vfpv3 cortexa9t-vfpv3 cortexa9hf-vfpv3 cortexa9thf-vfpv3"
43ARMPKGARCH:tune-cortexa9-vfpv3 = "cortexa9"
44ARMPKGARCH:tune-cortexa9t-vfpv3 = "cortexa9"
45ARMPKGARCH:tune-cortexa9hf-vfpv3 = "cortexa9"
46ARMPKGARCH:tune-cortexa9thf-vfpv3 = "cortexa9"
47# mcpu is used so don't use armv7a as we don't want march
48TUNE_FEATURES:tune-cortexa9-vfpv3 = "${TUNE_FEATURES:tune-cortexa9} vfpv3"
49TUNE_FEATURES:tune-cortexa9t-vfpv3 = "${TUNE_FEATURES:tune-cortexa9t} vfpv3"
50TUNE_FEATURES:tune-cortexa9hf-vfpv3 = "${TUNE_FEATURES:tune-cortexa9hf} vfpv3"
51TUNE_FEATURES:tune-cortexa9thf-vfpv3 = "${TUNE_FEATURES:tune-cortexa9thf} vfpv3"
52PACKAGE_EXTRA_ARCHS:tune-cortexa9-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3} cortexa9-vfp cortexa9-vfpv3"
53PACKAGE_EXTRA_ARCHS:tune-cortexa9t-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3} cortexa9-vfp cortexa9-vfpv3 cortexa9t2-vfp cortexa9t2-vfpv3"
54PACKAGE_EXTRA_ARCHS:tune-cortexa9hf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3} cortexa9hf-vfp cortexa9hf-vfpv3"
55PACKAGE_EXTRA_ARCHS:tune-cortexa9thf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3} cortexa9hf-vfp cortexa9hf-vfpv3 cortexa9t2hf-vfp cortexa9t2hf-vfpv3"
diff --git a/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc b/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc
new file mode 100644
index 0000000000..a6cb566387
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc
@@ -0,0 +1,14 @@
1#
2# Tune Settings for Cortex-M3
3#
4DEFAULTTUNE ?= "cortexm3"
5
6TUNEVALID[cortexm3] = "Enable Cortex-M3 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm3', ' -mcpu=cortex-m3', '', d)}"
8
9require conf/machine/include/arm/arch-armv7m.inc
10
11AVAILTUNES += "cortexm3"
12ARMPKGARCH:tune-cortexm3 = "cortexm3"
13TUNE_FEATURES:tune-cortexm3 = "${TUNE_FEATURES:tune-armv7m} cortexm3"
14PACKAGE_EXTRA_ARCHS:tune-cortexm3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7m} cortexm3"
diff --git a/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc b/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc
new file mode 100644
index 0000000000..e86622ff3d
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc
@@ -0,0 +1,14 @@
1#
2# Tune Settings for Cortex-M4
3#
4DEFAULTTUNE ?= "cortexm4"
5
6TUNEVALID[cortexm4] = "Enable Cortex-M4 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm4', ' -mcpu=cortex-m4', '', d)}"
8
9require conf/machine/include/arm/arch-armv7em.inc
10
11AVAILTUNES += "cortexm4"
12ARMPKGARCH:tune-cortexm4 = "cortexm4"
13TUNE_FEATURES:tune-cortexm4 = "${TUNE_FEATURES:tune-armv7em} cortexm4"
14PACKAGE_EXTRA_ARCHS:tune-cortexm4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7em} cortexm4"
diff --git a/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc b/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc
new file mode 100644
index 0000000000..6434ec6398
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc
@@ -0,0 +1,14 @@
1#
2# Tune Settings for Cortex-M7
3#
4DEFAULTTUNE ?= "cortexm7"
5
6TUNEVALID[cortexm7] = "Enable Cortex-M7 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm7', ' -mcpu=cortex-m7', '', d)}"
8
9require conf/machine/include/arm/arch-armv7em.inc
10
11AVAILTUNES += "cortexm7"
12ARMPKGARCH:tune-cortexm7 = "cortexm7"
13TUNE_FEATURES:tune-cortexm7 = "${TUNE_FEATURES:tune-armv7em} cortexm7"
14PACKAGE_EXTRA_ARCHS:tune-cortexm7 = "${PACKAGE_EXTRA_ARCHS:tune-armv7em} cortexm7"
diff --git a/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc b/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc
new file mode 100644
index 0000000000..0eed729630
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc
@@ -0,0 +1,14 @@
1#
2# Tune Settings for Cortex-R4
3#
4DEFAULTTUNE ?= "cortexr4"
5
6TUNEVALID[cortexr4] = "Enable Cortex-R4 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr4', ' -mcpu=cortex-r4', '', d)}"
8
9require conf/machine/include/arm/arch-armv7r.inc
10
11AVAILTUNES += "cortexr4"
12ARMPKGARCH:tune-cortexr4 = "cortexr4"
13TUNE_FEATURES:tune-cortexr4 = "${TUNE_FEATURES:tune-armv7r} cortexr4"
14PACKAGE_EXTRA_ARCHS:tune-cortexr4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r} cortexr4"
diff --git a/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc b/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc
new file mode 100644
index 0000000000..0712b3ab1b
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc
@@ -0,0 +1,14 @@
1#
2# Tune Settings for Cortex-R4F
3#
4DEFAULTTUNE ?= "cortexr4f"
5
6TUNEVALID[cortexr4f] = "Enable Cortex-R4F specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr4f', ' -mcpu=cortex-r4f', '', d)}"
8
9require conf/machine/include/arm/arch-armv7r.inc
10
11AVAILTUNES += "cortexr4f"
12ARMPKGARCH:tune-cortexr4f = "cortexr4f"
13TUNE_FEATURES:tune-cortexr4f = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr4f"
14PACKAGE_EXTRA_ARCHS:tune-cortexr4f = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr4f-vfpv3d16"
diff --git a/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc b/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc
new file mode 100644
index 0000000000..4c8985292b
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc
@@ -0,0 +1,19 @@
1#
2# Tune Settings for Cortex-R5
3#
4DEFAULTTUNE ?= "cortexr5"
5
6TUNEVALID[cortexr5] = "Enable Cortex-R5 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr5', ' -mcpu=cortex-r5', '', d)}"
8
9require conf/machine/include/arm/arch-armv7r.inc
10
11AVAILTUNES += "cortexr5"
12ARMPKGARCH:tune-cortexr5 = "cortexr5"
13TUNE_FEATURES:tune-cortexr5 = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr5 idiv"
14PACKAGE_EXTRA_ARCHS:tune-cortexr5 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr5-vfpv3d16"
15
16AVAILTUNES += "cortexr5hf"
17ARMPKGARCH:tune-cortexr5hf = "cortexr5"
18TUNE_FEATURES:tune-cortexr5hf = "${TUNE_FEATURES:tune-cortexr5} callconvention-hard"
19PACKAGE_EXTRA_ARCHS:tune-cortexr5hf = "cortexr5hf-vfpv3d16"
diff --git a/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc b/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc
new file mode 100644
index 0000000000..bfae1f0075
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc
@@ -0,0 +1,14 @@
1#
2# Tune Settings for Cortex-R7
3#
4DEFAULTTUNE ?= "cortexr7"
5
6TUNEVALID[cortexr7] = "Enable Cortex-R7 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr7', ' -mcpu=cortex-r7', '', d)}"
8
9require conf/machine/include/arm/arch-armv7r.inc
10
11AVAILTUNES += "cortexr7"
12ARMPKGARCH:tune-cortexr7 = "cortexr7"
13TUNE_FEATURES:tune-cortexr7 = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr7 idiv"
14PACKAGE_EXTRA_ARCHS:tune-cortexr7 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr7-vfpv3d16"
diff --git a/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc b/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc
new file mode 100644
index 0000000000..7fb824f6e9
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc
@@ -0,0 +1,14 @@
1#
2# Tune Settings for Cortex-R8
3#
4DEFAULTTUNE ?= "cortexr8"
5
6TUNEVALID[cortexr8] = "Enable Cortex-R8 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr8', ' -mcpu=cortex-r8', '', d)}"
8
9require conf/machine/include/arm/arch-armv7r.inc
10
11AVAILTUNES += "cortexr8"
12ARMPKGARCH:tune-cortexr8 = "cortexr8"
13TUNE_FEATURES:tune-cortexr8 = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr8 idiv"
14PACKAGE_EXTRA_ARCHS:tune-cortexr8 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr8-vfpv3d16"
diff --git a/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc b/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc
new file mode 100644
index 0000000000..0a115be8a4
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for Cortex-M55
3#
4DEFAULTTUNE ?= "cortexm55"
5
6TUNEVALID[cortexm55] = "Enable Cortex-M55 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm55', ' -mcpu=cortex-m55', '', d)}"
8
9require conf/machine/include/arm/arch-armv8-1m-main.inc
10
11AVAILTUNES += "cortexm55"
12ARMPKGARCH:tune-cortexm55 = "cortexm55"
13# We do not want -march since -mcpu is added above to cover for it
14TUNE_FEATURES:tune-cortexm55 = "cortexm55"
15PACKAGE_EXTRA_ARCHS:tune-cortexm55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-1m-main} cortexm55"
diff --git a/meta/conf/machine/include/tune-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
index e9629738f3..5e63b45ae0 100644
--- a/meta/conf/machine/include/tune-cortexa55.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
@@ -7,7 +7,8 @@ require conf/machine/include/arm/arch-armv8-2a.inc
7 7
8# Little Endian base configs 8# Little Endian base configs
9AVAILTUNES += "cortexa55" 9AVAILTUNES += "cortexa55"
10ARMPKGARCH_tune-cortexa55 = "cortexa55" 10ARMPKGARCH:tune-cortexa55 = "cortexa55"
11TUNE_FEATURES_tune-cortexa55 = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa55" 11# We do not want -march since -mcpu is added above to cover for it
12PACKAGE_EXTRA_ARCHS_tune-cortexa55 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa55" 12TUNE_FEATURES:tune-cortexa55 = "aarch64 crypto cortexa55"
13BASE_LIB_tune-cortexa55 = "lib64" 13PACKAGE_EXTRA_ARCHS:tune-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa55"
14BASE_LIB:tune-cortexa55 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc
index 427e58947f..ba96d0452e 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc
@@ -10,7 +10,8 @@ require conf/machine/include/arm/arch-armv8-2a.inc
10 10
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "cortexa65" 12AVAILTUNES += "cortexa65"
13ARMPKGARCH_tune-cortexa65 = "cortexa65" 13ARMPKGARCH:tune-cortexa65 = "cortexa65"
14TUNE_FEATURES_tune-cortexa65 = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa65" 14# We do not want -march since -mcpu is added above to cover for it
15PACKAGE_EXTRA_ARCHS_tune-cortexa65 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa65" 15TUNE_FEATURES:tune-cortexa65 = "aarch64 crypto cortexa65"
16BASE_LIB_tune-cortexa65 = "lib64" 16PACKAGE_EXTRA_ARCHS:tune-cortexa65 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa65"
17BASE_LIB:tune-cortexa65 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc
index aea47d0778..cc92147441 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc
@@ -10,7 +10,8 @@ require conf/machine/include/arm/arch-armv8-2a.inc
10 10
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "cortexa65ae" 12AVAILTUNES += "cortexa65ae"
13ARMPKGARCH_tune-cortexa65ae = "cortexa65ae" 13ARMPKGARCH:tune-cortexa65ae = "cortexa65ae"
14TUNE_FEATURES_tune-cortexa65ae = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa65ae" 14# We do not want -march since -mcpu is added above to cover for it
15PACKAGE_EXTRA_ARCHS_tune-cortexa65ae = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa65ae" 15TUNE_FEATURES:tune-cortexa65ae = "aarch64 crypto cortexa65ae"
16BASE_LIB_tune-cortexa65ae = "lib64" 16PACKAGE_EXTRA_ARCHS:tune-cortexa65ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa65ae"
17BASE_LIB:tune-cortexa65ae = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc
index 9c45fe9c96..e18b2cb6e0 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc
@@ -10,11 +10,12 @@ TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", " -
10require conf/machine/include/arm/arch-armv8-2a.inc 10require conf/machine/include/arm/arch-armv8-2a.inc
11 11
12AVAILTUNES += "cortexa75-cortexa55 cortexa75-cortexa55-crypto" 12AVAILTUNES += "cortexa75-cortexa55 cortexa75-cortexa55-crypto"
13ARMPKGARCH_tune-cortexa75-cortexa55 = "cortexa75-cortexa55" 13ARMPKGARCH:tune-cortexa75-cortexa55 = "cortexa75-cortexa55"
14ARMPKGARCH_tune-cortexa75-cortexa55-crypto = "cortexa75-cortexa55-crypto" 14ARMPKGARCH:tune-cortexa75-cortexa55-crypto = "cortexa75-cortexa55-crypto"
15TUNE_FEATURES_tune-cortexa75-cortexa55 = "${TUNE_FEATURES_tune-armv8-2a} cortexa75-cortexa55" 15# We do not want -march since -mcpu is added above to cover for it
16TUNE_FEATURES_tune-cortexa75-cortexa55-crypto = "${TUNE_FEATURES_tune-cortexa75-cortexa55} crypto" 16TUNE_FEATURES:tune-cortexa75-cortexa55 = "aarch64 cortexa75-cortexa55"
17PACKAGE_EXTRA_ARCHS_tune-cortexa75-cortexa55 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a} cortexa75-cortexa55" 17TUNE_FEATURES:tune-cortexa75-cortexa55-crypto = "${TUNE_FEATURES:tune-cortexa75-cortexa55} crypto"
18PACKAGE_EXTRA_ARCHS_tune-cortexa75-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa75-cortexa55 cortexa75-cortexa55-crypto" 18PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa75-cortexa55"
19BASE_LIB_tune-cortexa75-cortexa55 = "lib64" 19PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75-cortexa55 cortexa75-cortexa55-crypto"
20BASE_LIB_tune-cortexa75-cortexa55-crypto = "lib64" 20BASE_LIB:tune-cortexa75-cortexa55 = "lib64"
21BASE_LIB:tune-cortexa75-cortexa55-crypto = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc
index d019450da7..453be2e6fd 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc
@@ -10,7 +10,8 @@ require conf/machine/include/arm/arch-armv8-2a.inc
10 10
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "cortexa75" 12AVAILTUNES += "cortexa75"
13ARMPKGARCH_tune-cortexa75 = "cortexa75" 13ARMPKGARCH:tune-cortexa75 = "cortexa75"
14TUNE_FEATURES_tune-cortexa75 = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa75" 14# We do not want -march since -mcpu is added above to cover for it
15PACKAGE_EXTRA_ARCHS_tune-cortexa75 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa75" 15TUNE_FEATURES:tune-cortexa75 = "aarch64 crypto cortexa75"
16BASE_LIB_tune-cortexa75 = "lib64" 16PACKAGE_EXTRA_ARCHS:tune-cortexa75 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75"
17BASE_LIB:tune-cortexa75 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc
index cae8ffed74..7daf9d91a8 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc
@@ -10,11 +10,12 @@ TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", " -
10require conf/machine/include/arm/arch-armv8-2a.inc 10require conf/machine/include/arm/arch-armv8-2a.inc
11 11
12AVAILTUNES += "cortexa76-cortexa55 cortexa76-cortexa55-crypto" 12AVAILTUNES += "cortexa76-cortexa55 cortexa76-cortexa55-crypto"
13ARMPKGARCH_tune-cortexa76-cortexa55 = "cortexa76-cortexa55" 13ARMPKGARCH:tune-cortexa76-cortexa55 = "cortexa76-cortexa55"
14ARMPKGARCH_tune-cortexa76-cortexa55-crypto = "cortexa76-cortexa55-crypto" 14ARMPKGARCH:tune-cortexa76-cortexa55-crypto = "cortexa76-cortexa55-crypto"
15TUNE_FEATURES_tune-cortexa76-cortexa55 = "${TUNE_FEATURES_tune-armv8-2a} cortexa76-cortexa55" 15# We do not want -march since -mcpu is added above to cover for it
16TUNE_FEATURES_tune-cortexa76-cortexa55-crypto = "${TUNE_FEATURES_tune-cortexa76-cortexa55} crypto" 16TUNE_FEATURES:tune-cortexa76-cortexa55 = "aarch64 cortexa76-cortexa55"
17PACKAGE_EXTRA_ARCHS_tune-cortexa76-cortexa55 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a} cortexa76-cortexa55" 17TUNE_FEATURES:tune-cortexa76-cortexa55-crypto = "${TUNE_FEATURES:tune-cortexa76-cortexa55} crypto"
18PACKAGE_EXTRA_ARCHS_tune-cortexa76-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa76-cortexa55 cortexa76-cortexa55-crypto" 18PACKAGE_EXTRA_ARCHS:tune-cortexa76-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa76-cortexa55"
19BASE_LIB_tune-cortexa76-cortexa55 = "lib64" 19PACKAGE_EXTRA_ARCHS:tune-cortexa76-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76-cortexa55 cortexa76-cortexa55-crypto"
20BASE_LIB_tune-cortexa76-cortexa55-crypto = "lib64" 20BASE_LIB:tune-cortexa76-cortexa55 = "lib64"
21BASE_LIB:tune-cortexa76-cortexa55-crypto = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc
index ae3661a0c4..14ed81214d 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc
@@ -10,7 +10,8 @@ require conf/machine/include/arm/arch-armv8-2a.inc
10 10
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "cortexa76" 12AVAILTUNES += "cortexa76"
13ARMPKGARCH_tune-cortexa76 = "cortexa76" 13ARMPKGARCH:tune-cortexa76 = "cortexa76"
14TUNE_FEATURES_tune-cortexa76 = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa76" 14# We do not want -march since -mcpu is added above to cover for it
15PACKAGE_EXTRA_ARCHS_tune-cortexa76 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa76" 15TUNE_FEATURES:tune-cortexa76 = "aarch64 crypto cortexa76"
16BASE_LIB_tune-cortexa76 = "lib64" 16PACKAGE_EXTRA_ARCHS:tune-cortexa76 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76"
17BASE_LIB:tune-cortexa76 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc
index 8d5a0ef5e2..191863bac8 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc
@@ -10,7 +10,8 @@ require conf/machine/include/arm/arch-armv8-2a.inc
10 10
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "cortexa76ae" 12AVAILTUNES += "cortexa76ae"
13ARMPKGARCH_tune-cortexa76ae = "cortexa76ae" 13ARMPKGARCH:tune-cortexa76ae = "cortexa76ae"
14TUNE_FEATURES_tune-cortexa76ae = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa76ae" 14# We do not want -march since -mcpu is added above to cover for it
15PACKAGE_EXTRA_ARCHS_tune-cortexa76ae = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa76ae" 15TUNE_FEATURES:tune-cortexa76ae = "aarch64 crypto cortexa76ae"
16BASE_LIB_tune-cortexa76ae = "lib64" 16PACKAGE_EXTRA_ARCHS:tune-cortexa76ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76ae"
17BASE_LIB:tune-cortexa76ae = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc
index 048fa319e2..1522fd6abd 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc
@@ -10,7 +10,8 @@ require conf/machine/include/arm/arch-armv8-2a.inc
10 10
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "cortexa77" 12AVAILTUNES += "cortexa77"
13ARMPKGARCH_tune-cortexa77 = "cortexa77" 13ARMPKGARCH:tune-cortexa77 = "cortexa77"
14TUNE_FEATURES_tune-cortexa77 = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa77" 14# We do not want -march since -mcpu is added above to cover for it
15PACKAGE_EXTRA_ARCHS_tune-cortexa77 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa77" 15TUNE_FEATURES:tune-cortexa77 = "aarch64 crypto cortexa77"
16BASE_LIB_tune-cortexa77 = "lib64" 16PACKAGE_EXTRA_ARCHS:tune-cortexa77 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa77"
17BASE_LIB:tune-cortexa77 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc
new file mode 100644
index 0000000000..198b94c679
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc
@@ -0,0 +1,17 @@
1#
2# Tune Settings for Cortex-A78
3#
4DEFAULTTUNE ?= "cortexa78"
5
6TUNEVALID[cortexa78] = "Enable Cortex-A78 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa78', ' -mcpu=cortex-a78', '', d)}"
8
9require conf/machine/include/arm/arch-armv8-2a.inc
10
11# Little Endian base configs
12AVAILTUNES += "cortexa78"
13ARMPKGARCH:tune-cortexa78 = "cortexa78"
14# We do not want -march since -mcpu is added above to cover for it
15TUNE_FEATURES:tune-cortexa78 = "aarch64 crypto cortexa78"
16PACKAGE_EXTRA_ARCHS:tune-cortexa78 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa78"
17BASE_LIB:tune-cortexa78 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78ae.inc
new file mode 100644
index 0000000000..fe68bda9a0
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78ae.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for cortex-a78ae
3#
4DEFAULTTUNE ?= "cortexa78ae"
5
6TUNEVALID[cortexa78ae] = "Enable cortex-a78ae specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa78ae', ' -mcpu=cortex-a78ae', '', d)}"
8
9require conf/machine/include/arm/arch-armv8-2a.inc
10
11AVAILTUNES += "cortexa78ae"
12ARMPKGARCH:tune-cortexa78ae = "cortexa78ae"
13TUNE_FEATURES:tune-cortexa78ae = "aarch64 crypto cortexa78ae"
14PACKAGE_EXTRA_ARCHS:tune-cortexa78ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa78ae"
15BASE_LIB:tune-cortexa78ae = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78c.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78c.inc
new file mode 100644
index 0000000000..cb1fe91dfc
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa78c.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for cortex-a78c
3#
4DEFAULTTUNE ?= "cortexa78c"
5
6TUNEVALID[cortexa78c] = "Enable cortex-a78c specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa78c', ' -mcpu=cortex-a78c', '', d)}"
8
9require conf/machine/include/arm/arch-armv8-2a.inc
10
11AVAILTUNES += "cortexa78c"
12ARMPKGARCH:tune-cortexa78c = "cortexa78c"
13TUNE_FEATURES:tune-cortexa78c = "aarch64 crypto cortexa78c"
14PACKAGE_EXTRA_ARCHS:tune-cortexa78c = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa78c"
15BASE_LIB:tune-cortexa78c = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1.inc
new file mode 100644
index 0000000000..0a99156e62
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for cortex-x1
3#
4DEFAULTTUNE ?= "cortexx1"
5
6TUNEVALID[cortexx1] = "Enable cortex-x1 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexx1', ' -mcpu=cortex-x1', '', d)}"
8
9require conf/machine/include/arm/arch-armv8-2a.inc
10
11AVAILTUNES += "cortexx1"
12ARMPKGARCH:tune-cortexx1 = "cortexx1"
13TUNE_FEATURES:tune-cortexx1 = "aarch64 crypto cortexx1"
14PACKAGE_EXTRA_ARCHS:tune-cortexx1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexx1"
15BASE_LIB:tune-cortexx1 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1c.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1c.inc
new file mode 100644
index 0000000000..2a16d1695d
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexx1c.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for cortex-x1c
3#
4DEFAULTTUNE ?= "cortexx1c"
5
6TUNEVALID[cortexx1c] = "Enable cortex-x1c specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexx1c', ' -mcpu=cortex-x1c', '', d)}"
8
9require conf/machine/include/arm/arch-armv8-2a.inc
10
11AVAILTUNES += "cortexx1c"
12ARMPKGARCH:tune-cortexx1c = "cortexx1c"
13TUNE_FEATURES:tune-cortexx1c = "aarch64 crypto cortexx1c"
14PACKAGE_EXTRA_ARCHS:tune-cortexx1c = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexx1c"
15BASE_LIB:tune-cortexx1c = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc
index b82c9acb6c..e906cf965c 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc
@@ -10,7 +10,8 @@ require conf/machine/include/arm/arch-armv8-2a.inc
10 10
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "neoversee1" 12AVAILTUNES += "neoversee1"
13ARMPKGARCH_tune-neoversee1 = "neoversee1" 13ARMPKGARCH:tune-neoversee1 = "neoversee1"
14TUNE_FEATURES_tune-neoversee1 = "${TUNE_FEATURES_tune-armv8-2a-crypto} neoversee1" 14# We do not want -march since -mcpu is added above to cover for it
15PACKAGE_EXTRA_ARCHS_tune-neoversee1 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} neoversee1" 15TUNE_FEATURES:tune-neoversee1 = "aarch64 crypto neoversee1"
16BASE_LIB_tune-neoversee1 = "lib64" 16PACKAGE_EXTRA_ARCHS:tune-neoversee1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} neoversee1"
17BASE_LIB:tune-neoversee1 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc
index 6c6e889c0f..55f054713f 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc
@@ -11,7 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
11 11
12# Little Endian base configs 12# Little Endian base configs
13AVAILTUNES += "neoversen1" 13AVAILTUNES += "neoversen1"
14ARMPKGARCH_tune-neoversen1 = "neoversen1" 14ARMPKGARCH:tune-neoversen1 = "neoversen1"
15TUNE_FEATURES_tune-neoversen1 = "${TUNE_FEATURES_tune-armv8-2a-crypto} neoversen1" 15TUNE_FEATURES:tune-neoversen1 = "aarch64 crypto neoversen1"
16PACKAGE_EXTRA_ARCHS_tune-neoversen1 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} neoversen1" 16PACKAGE_EXTRA_ARCHS:tune-neoversen1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} neoversen1"
17BASE_LIB_tune-neoversen1 = "lib64" 17BASE_LIB:tune-neoversen1 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc b/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc
index f873b9517e..e9d7a59c51 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc
@@ -7,7 +7,8 @@ require conf/machine/include/arm/arch-armv8-2a.inc
7 7
8# Little Endian base configs 8# Little Endian base configs
9AVAILTUNES += "octeontx2" 9AVAILTUNES += "octeontx2"
10ARMPKGARCH_tune-octeontx2 = "octeontx2" 10ARMPKGARCH:tune-octeontx2 = "octeontx2"
11TUNE_FEATURES_tune-octeontx2 = "${TUNE_FEATURES_tune-armv8-2a-crypto} octeontx2" 11# We do not want -march since -mcpu is added above to cover for it
12PACKAGE_EXTRA_ARCHS_tune-octeontx2 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} octeontx2" 12TUNE_FEATURES:tune-octeontx2 = "aarch64 crypto octeontx2"
13BASE_LIB_tune-octeontx2 = "lib64" 13PACKAGE_EXTRA_ARCHS:tune-octeontx2 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} octeontx2"
14BASE_LIB:tune-octeontx2 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-4a/tune-neoverse512tvb.inc b/meta/conf/machine/include/arm/armv8-4a/tune-neoverse512tvb.inc
new file mode 100644
index 0000000000..450bf74896
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8-4a/tune-neoverse512tvb.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for neoverse-512tvb
3#
4DEFAULTTUNE ?= "neoverse512tvb"
5
6TUNEVALID[neoverse512tvb] = "Enable neoverse-512tvb specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoverse512tvb', ' -mcpu=neoverse-512tvb', '', d)}"
8
9require conf/machine/include/arm/arch-armv8-4a.inc
10
11AVAILTUNES += "neoverse512tvb"
12ARMPKGARCH:tune-neoverse512tvb = "neoverse512tvb"
13TUNE_FEATURES:tune-neoverse512tvb = "aarch64 crypto neoverse512tvb"
14PACKAGE_EXTRA_ARCHS:tune-neoverse512tvb = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto} neoverse512tvb"
15BASE_LIB:tune-neoverse512tvb = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-4a/tune-neoversev1.inc b/meta/conf/machine/include/arm/armv8-4a/tune-neoversev1.inc
new file mode 100644
index 0000000000..2b4da7db3c
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8-4a/tune-neoversev1.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for neoverse-v1
3#
4DEFAULTTUNE ?= "neoversev1"
5
6TUNEVALID[neoversev1] = "Enable neoverse-v1 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversev1', ' -mcpu=neoverse-v1', '', d)}"
8
9require conf/machine/include/arm/arch-armv8-4a.inc
10
11AVAILTUNES += "neoversev1"
12ARMPKGARCH:tune-neoversev1 = "neoversev1"
13TUNE_FEATURES:tune-neoversev1 = "aarch64 crypto neoversev1"
14PACKAGE_EXTRA_ARCHS:tune-neoversev1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto} neoversev1"
15BASE_LIB:tune-neoversev1 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc b/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc
new file mode 100644
index 0000000000..e83e0ba68a
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for Cortex-M23
3#
4DEFAULTTUNE ?= "cortexm23"
5
6TUNEVALID[cortexm23] = "Enable Cortex-M23 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm23', ' -mcpu=cortex-m23', '', d)}"
8
9require conf/machine/include/arm/arch-armv8m-base.inc
10
11AVAILTUNES += "cortexm23"
12ARMPKGARCH:tune-cortexm23 = "cortexm23"
13# We do not want -march since -mcpu is added above to cover for it
14TUNE_FEATURES:tune-cortexm23 = "cortexm23"
15PACKAGE_EXTRA_ARCHS:tune-cortexm23 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-base} cortexm23"
diff --git a/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc b/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc
new file mode 100644
index 0000000000..606900d7a2
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc
@@ -0,0 +1,18 @@
1#
2# Tune Settings for Cortex-M33
3#
4DEFAULTTUNE ?= "cortexm33"
5
6TUNEVALID[cortexm33] = "Enable Cortex-M33 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm33', ' -mcpu=cortex-m33', '', d)}"
8
9require conf/machine/include/arm/arch-armv8m-main.inc
10
11# GCC thnks that DSP and VFP are required, but Arm docs say it is
12# optional. So forcing below so that compiling works, but this should
13# be fixed in GCC
14AVAILTUNES += "cortexm33"
15ARMPKGARCH:tune-cortexm33 = "cortexm33"
16# We do not want -march since -mcpu is added above to cover for it
17TUNE_FEATURES:tune-cortexm33 = "vfpv5spd16 dsp cortexm33"
18PACKAGE_EXTRA_ARCHS:tune-cortexm33 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16} cortexm33e-fpv5-spd16"
diff --git a/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc b/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc
new file mode 100644
index 0000000000..4394adab0b
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc
@@ -0,0 +1,18 @@
1#
2# Tune Settings for Cortex-M35P
3#
4DEFAULTTUNE ?= "cortexm35p"
5
6TUNEVALID[cortexm35p] = "Enable Cortex-M35p specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm35p', ' -mcpu=cortex-m35p', '', d)}"
8
9require conf/machine/include/arm/arch-armv8m-main.inc
10
11# GCC thnks that DSP and VFP are required, but Arm docs say it is
12# optional. So forcing below so that compiling works, but this should
13# be fixed in GCC
14AVAILTUNES += "cortexm35p"
15ARMPKGARCH:tune-cortexm35p = "cortexm35p"
16# We do not want -march since -mcpu is added above to cover for it
17TUNE_FEATURES:tune-cortexm35p = "vfpv5spd16 dsp cortexm35p"
18PACKAGE_EXTRA_ARCHS:tune-cortexm35p = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16} cortexm35pe-fpv5-spd16"
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc
new file mode 100644
index 0000000000..25bdf12b18
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc
@@ -0,0 +1,18 @@
1DEFAULTTUNE ?= "cortexa32"
2
3TUNEVALID[cortexa32] = "Enable Cortex-A32 specific processor optimizations"
4TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa32', ' -mcpu=cortex-a32', '', d)}"
5
6require conf/machine/include/arm/arch-armv8a.inc
7
8# Little Endian base configs
9AVAILTUNES += "cortexa32 cortexa32-crypto"
10ARMPKGARCH:tune-cortexa32 = "cortexa32"
11ARMPKGARCH:tune-cortexa32-crypto = "cortexa32"
12# We do not want -march since -mcpu is added above to cover for it
13TUNE_FEATURES:tune-cortexa32 = "aarch64 cortexa32 crc callconvention-hard neon"
14TUNE_FEATURES:tune-cortexa32-crypto = "${TUNE_FEATURES:tune-cortexa32} crypto"
15PACKAGE_EXTRA_ARCHS:tune-cortexa32 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa32 cortexa32hf-neon"
16PACKAGE_EXTRA_ARCHS:tune-cortexa32-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa32 cortexa32hf-neon cortexa32hf-neon-crypto"
17BASE_LIB:tune-cortexa32 = "lib"
18BASE_LIB:tune-cortexa32-crypto = "lib"
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc
index f7d4c87df8..c195d73378 100644
--- a/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa34.inc
@@ -10,11 +10,12 @@ require conf/machine/include/arm/arch-armv8a.inc
10 10
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "cortexa34 cortexa34-crypto" 12AVAILTUNES += "cortexa34 cortexa34-crypto"
13ARMPKGARCH_tune-cortexa34 = "cortexa34" 13ARMPKGARCH:tune-cortexa34 = "cortexa34"
14ARMPKGARCH_tune-cortexa34-crypto = "cortexa34" 14ARMPKGARCH:tune-cortexa34-crypto = "cortexa34"
15TUNE_FEATURES_tune-cortexa34 = "${TUNE_FEATURES_tune-armv8a-crc} cortexa34" 15# We do not want -march since -mcpu is added above to cover for it
16TUNE_FEATURES_tune-cortexa34-crypto = "${TUNE_FEATURES_tune-cortexa34} crypto" 16TUNE_FEATURES:tune-cortexa34 = "aarch64 crc cortexa34"
17PACKAGE_EXTRA_ARCHS_tune-cortexa34 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa34" 17TUNE_FEATURES:tune-cortexa34-crypto = "${TUNE_FEATURES:tune-cortexa34} crypto"
18PACKAGE_EXTRA_ARCHS_tune-cortexa34-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa34 cortexa34-crypto" 18PACKAGE_EXTRA_ARCHS:tune-cortexa34 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa34"
19BASE_LIB_tune-cortexa34 = "lib64" 19PACKAGE_EXTRA_ARCHS:tune-cortexa34-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa34 cortexa34-crypto"
20BASE_LIB_tune-cortexa34-crypto = "lib64" 20BASE_LIB:tune-cortexa34 = "lib64"
21BASE_LIB:tune-cortexa34-crypto = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc
new file mode 100644
index 0000000000..d811c84455
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc
@@ -0,0 +1,18 @@
1DEFAULTTUNE ?= "cortexa35"
2
3TUNEVALID[cortexa35] = "Enable Cortex-A35 specific processor optimizations"
4TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa35', ' -mcpu=cortex-a35', '', d)}"
5
6require conf/machine/include/arm/arch-armv8a.inc
7
8# Little Endian base configs
9AVAILTUNES += "cortexa35 cortexa35-crypto"
10ARMPKGARCH:tune-cortexa35 = "cortexa35"
11ARMPKGARCH:tune-cortexa35-crypto = "cortexa35"
12# We do not want -march since -mcpu is added above to cover for it
13TUNE_FEATURES:tune-cortexa35 = "aarch64 crc cortexa35"
14TUNE_FEATURES:tune-cortexa35-crypto = "${TUNE_FEATURES:tune-cortexa35} crypto"
15PACKAGE_EXTRA_ARCHS:tune-cortexa35 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa35"
16PACKAGE_EXTRA_ARCHS:tune-cortexa35-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa35 cortexa35-crypto"
17BASE_LIB:tune-cortexa35 = "lib64"
18BASE_LIB:tune-cortexa35-crypto = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc
new file mode 100644
index 0000000000..a88575eb15
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc
@@ -0,0 +1,18 @@
1DEFAULTTUNE ?= "cortexa53"
2
3TUNEVALID[cortexa53] = "Enable Cortex-A53 specific processor optimizations"
4TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa53', ' -mcpu=cortex-a53', '', d)}"
5
6require conf/machine/include/arm/arch-armv8a.inc
7
8# Little Endian base configs
9AVAILTUNES += "cortexa53 cortexa53-crypto"
10ARMPKGARCH:tune-cortexa53 = "cortexa53"
11ARMPKGARCH:tune-cortexa53-crypto = "cortexa53-crypto"
12# We do not want -march since -mcpu is added above to cover for it
13TUNE_FEATURES:tune-cortexa53 = "aarch64 crc cortexa53"
14TUNE_FEATURES:tune-cortexa53-crypto = "${TUNE_FEATURES:tune-cortexa53} crypto"
15PACKAGE_EXTRA_ARCHS:tune-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa53"
16PACKAGE_EXTRA_ARCHS:tune-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa53 cortexa53-crypto"
17BASE_LIB:tune-cortexa53 = "lib64"
18BASE_LIB:tune-cortexa53-crypto = "lib64"
diff --git a/meta/conf/machine/include/tune-cortexa57-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc
index d329d6199f..052d1173c9 100644
--- a/meta/conf/machine/include/tune-cortexa57-cortexa53.inc
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc
@@ -8,7 +8,8 @@ require conf/machine/include/arm/arch-armv8a.inc
8 8
9# Little Endian base configs 9# Little Endian base configs
10AVAILTUNES += "cortexa57-cortexa53" 10AVAILTUNES += "cortexa57-cortexa53"
11ARMPKGARCH_tune-cortexa57-cortexa53 = "cortexa57-cortexa53" 11ARMPKGARCH:tune-cortexa57-cortexa53 = "cortexa57-cortexa53"
12TUNE_FEATURES_tune-cortexa57-cortexa53 = "${TUNE_FEATURES_tune-armv8a-crc} cortexa57-cortexa53" 12# We do not want -march since -mcpu is added above to cover for it
13PACKAGE_EXTRA_ARCHS_tune-cortexa57-cortexa53 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa57-cortexa53" 13TUNE_FEATURES:tune-cortexa57-cortexa53 = "aarch64 crc cortexa57-cortexa53"
14BASE_LIB_tune-cortexa57-cortexa53 = "lib64" 14PACKAGE_EXTRA_ARCHS:tune-cortexa57-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa57-cortexa53"
15BASE_LIB:tune-cortexa57-cortexa53 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc
new file mode 100644
index 0000000000..b0de20f836
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc
@@ -0,0 +1,18 @@
1DEFAULTTUNE ?= "cortexa57"
2
3TUNEVALID[cortexa57] = "Enable Cortex-A57 specific processor optimizations"
4TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa57', ' -mcpu=cortex-a57', '', d)}"
5
6require conf/machine/include/arm/arch-armv8a.inc
7
8# Little Endian base configs
9AVAILTUNES += "cortexa57 cortexa57-crypto"
10ARMPKGARCH:tune-cortexa57 = "cortexa57"
11ARMPKGARCH:tune-cortexa57-crypto = "cortexa57-crypto"
12# We do not want -march since -mcpu is added above to cover for it
13TUNE_FEATURES:tune-cortexa57 = "aarch64 crc cortexa57"
14TUNE_FEATURES:tune-cortexa57-crypto = "${TUNE_FEATURES:tune-cortexa57} crypto"
15PACKAGE_EXTRA_ARCHS:tune-cortexa57 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa57"
16PACKAGE_EXTRA_ARCHS:tune-cortexa57-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa57 cortexa57-crypto"
17BASE_LIB:tune-cortexa57 = "lib64"
18BASE_LIB:tune-cortexa57-crypto = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc
new file mode 100644
index 0000000000..ff188aec5f
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc
@@ -0,0 +1,20 @@
1DEFAULTTUNE ?= "cortexa72-cortexa53"
2
3TUNEVALID[cortexa72-cortexa53] = "Enable big.LITTLE Cortex-A72.Cortex-A53 specific processor optimizations"
4TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", " -mcpu=cortex-a72.cortex-a53", "", d)}"
5MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", "cortexa72-cortexa53:", "", d)}"
6
7require conf/machine/include/arm/arch-armv8a.inc
8
9# cortexa72.cortexa53 implies crc support
10AVAILTUNES += "cortexa72-cortexa53 cortexa72-cortexa53-crypto"
11ARMPKGARCH:tune-cortexa72-cortexa53 = "cortexa72-cortexa53"
12ARMPKGARCH:tune-cortexa72-cortexa53-crypto = "cortexa72-cortexa53-crypto"
13# We do not want -march since -mcpu is added above to cover for it
14TUNE_FEATURES:tune-cortexa72-cortexa53 = "aarch64 crc cortexa72-cortexa53"
15TUNE_FEATURES:tune-cortexa72-cortexa53-crypto = "${TUNE_FEATURES:tune-cortexa72-cortexa53} crypto"
16PACKAGE_EXTRA_ARCHS:tune-cortexa72-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa72-cortexa53"
17PACKAGE_EXTRA_ARCHS:tune-cortexa72-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72-cortexa53 cortexa72-cortexa53-crypto"
18BASE_LIB:tune-cortexa72-cortexa53 = "lib64"
19BASE_LIB:tune-cortexa72-cortexa53-crypto = "lib64"
20
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
new file mode 100644
index 0000000000..cbb6418c06
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
@@ -0,0 +1,18 @@
1DEFAULTTUNE ?= "cortexa72"
2
3TUNEVALID[cortexa72] = "Enable Cortex-A72 specific processor optimizations"
4TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa72', ' -mcpu=cortex-a72', '', d)}"
5
6require conf/machine/include/arm/arch-armv8a.inc
7
8# Little Endian base configs
9AVAILTUNES += "cortexa72 cortexa72-crypto"
10ARMPKGARCH:tune-cortexa72 = "cortexa72"
11ARMPKGARCH:tune-cortexa72-crypto = "cortexa72"
12# We do not want -march since -mcpu is added above to cover for it
13TUNE_FEATURES:tune-cortexa72 = "aarch64 crc cortexa72"
14TUNE_FEATURES:tune-cortexa72-crypto = "${TUNE_FEATURES:tune-cortexa72} crypto"
15PACKAGE_EXTRA_ARCHS:tune-cortexa72 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa72"
16PACKAGE_EXTRA_ARCHS:tune-cortexa72-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72 cortexa72-crypto"
17BASE_LIB:tune-cortexa72 = "lib64"
18BASE_LIB:tune-cortexa72-crypto = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc
index 927296c222..4f4f25f511 100644
--- a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc
@@ -11,11 +11,12 @@ require conf/machine/include/arm/arch-armv8a.inc
11 11
12# cortexa73.cortexa35 implies crc support 12# cortexa73.cortexa35 implies crc support
13AVAILTUNES += "cortexa73-cortexa35 cortexa73-cortexa35-crypto" 13AVAILTUNES += "cortexa73-cortexa35 cortexa73-cortexa35-crypto"
14ARMPKGARCH_tune-cortexa73-cortexa35 = "cortexa73-cortexa35" 14ARMPKGARCH:tune-cortexa73-cortexa35 = "cortexa73-cortexa35"
15ARMPKGARCH_tune-cortexa73-cortexa35-crypto = "cortexa73-cortexa35-crypto" 15ARMPKGARCH:tune-cortexa73-cortexa35-crypto = "cortexa73-cortexa35-crypto"
16TUNE_FEATURES_tune-cortexa73-cortexa35 = "${TUNE_FEATURES_tune-armv8a-crc} cortexa73-cortexa35" 16# We do not want -march since -mcpu is added above to cover for it
17TUNE_FEATURES_tune-cortexa73-cortexa35-crypto = "${TUNE_FEATURES_tune-cortexa73-cortexa35} crypto" 17TUNE_FEATURES:tune-cortexa73-cortexa35 = "aarch64 crc cortexa73-cortexa35"
18PACKAGE_EXTRA_ARCHS_tune-cortexa73-cortexa35 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa73-cortexa35" 18TUNE_FEATURES:tune-cortexa73-cortexa35-crypto = "${TUNE_FEATURES:tune-cortexa73-cortexa35} crypto"
19PACKAGE_EXTRA_ARCHS_tune-cortexa73-cortexa35-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa73-cortexa35 cortexa73-cortexa35-crypto" 19PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa35 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa73-cortexa35"
20BASE_LIB_tune-cortexa73-cortexa35 = "lib64" 20PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa35-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa73-cortexa35 cortexa73-cortexa35-crypto"
21BASE_LIB_tune-cortexa73-cortexa35-crypto = "lib64" 21BASE_LIB:tune-cortexa73-cortexa35 = "lib64"
22BASE_LIB:tune-cortexa73-cortexa35-crypto = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc
new file mode 100644
index 0000000000..1d152ed83b
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc
@@ -0,0 +1,20 @@
1DEFAULTTUNE ?= "cortexa73-cortexa53"
2
3TUNEVALID[cortexa73-cortexa53] = "Enable big.LITTLE Cortex-A73.Cortex-A53 specific processor optimizations"
4MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", "cortexa73-cortexa53:", "", d)}"
5TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", " -mcpu=cortex-a73.cortex-a53", "", d)}"
6
7require conf/machine/include/arm/arch-armv8a.inc
8
9# cortexa73.cortexa53 implies crc support
10AVAILTUNES += "cortexa73-cortexa53 cortexa73-cortexa53-crypto"
11ARMPKGARCH:tune-cortexa73-cortexa53 = "cortexa73-cortexa53"
12ARMPKGARCH:tune-cortexa73-cortexa53-crypto = "cortexa73-cortexa53-crypto"
13# We do not want -march since -mcpu is added above to cover for it
14TUNE_FEATURES:tune-cortexa73-cortexa53 = "aarch64 crc cortexa73-cortexa53"
15TUNE_FEATURES:tune-cortexa73-cortexa53-crypto = "${TUNE_FEATURES:tune-cortexa73-cortexa53} crypto"
16PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa73-cortexa53"
17PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa73-cortexa53 cortexa73-cortexa53-crypto"
18BASE_LIB:tune-cortexa73-cortexa53 = "lib64"
19BASE_LIB:tune-cortexa73-cortexa53-crypto = "lib64"
20
diff --git a/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc b/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc
index ed2deb96b0..b3b06a4f09 100644
--- a/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc
+++ b/meta/conf/machine/include/arm/armv8a/tune-cortexa73.inc
@@ -9,8 +9,13 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa73', ' -mcpu=corte
9require conf/machine/include/arm/arch-armv8a.inc 9require conf/machine/include/arm/arch-armv8a.inc
10 10
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "cortexa73" 12AVAILTUNES += "cortexa73 cortexa73-crypto"
13ARMPKGARCH_tune-cortexa73 = "cortexa73" 13ARMPKGARCH:tune-cortexa73 = "cortexa73"
14TUNE_FEATURES_tune-cortexa73 = "${TUNE_FEATURES_tune-armv8a-crc-crypto} cortexa73" 14ARMPKGARCH:tune-cortexa73-crypto = "cortexa73"
15PACKAGE_EXTRA_ARCHS_tune-cortexa73 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa73" 15# We do not want -march since -mcpu is added above to cover for it
16BASE_LIB_tune-cortexa73 = "lib64" 16TUNE_FEATURES:tune-cortexa73 = "aarch64 crc cortexa73"
17TUNE_FEATURES:tune-cortexa73-crypto = "${TUNE_FEATURES:tune-cortexa73} crypto"
18PACKAGE_EXTRA_ARCHS:tune-cortexa73 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa73"
19PACKAGE_EXTRA_ARCHS:tune-cortexa73-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa73 cortexa73-crypto"
20BASE_LIB:tune-cortexa73 = "lib64"
21BASE_LIB:tune-cortexa73-crypto = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc b/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc
new file mode 100644
index 0000000000..7bc6282be8
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc
@@ -0,0 +1,19 @@
1DEFAULTTUNE ?= "thunderx"
2AVAILTUNES += "thunderx thunderx_be"
3
4TUNEVALID[thunderx] = "Enable instructions for Cavium ThunderX"
5
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thunderx', ' -mcpu=thunderx', '',d)}"
7
8require conf/machine/include/arm/arch-armv8a.inc
9
10ARMPKGARCH:tune-thunderx ?= "thunderx"
11ARMPKGARCH:tune-thunderx_be ?= "thunderx"
12
13TUNE_FEATURES:tune-thunderx = "${TUNE_FEATURES:tune-aarch64} thunderx"
14TUNE_FEATURES:tune-thunderx_be = "${TUNE_FEATURES:tune-thunderx} bigendian"
15BASE_LIB:tune-thunderx = "lib64"
16BASE_LIB:tune-thunderx_be = "lib64"
17
18PACKAGE_EXTRA_ARCHS:tune-thunderx = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} thunderx"
19PACKAGE_EXTRA_ARCHS:tune-thunderx_be = "aarch64_be thunderx_be"
diff --git a/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc b/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc
new file mode 100644
index 0000000000..89f0e09450
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc
@@ -0,0 +1,20 @@
1#
2# Tune Settings for Cortex-R52
3#
4DEFAULTTUNE ?= "cortexr52"
5
6TUNEVALID[cortexr52] = "Enable Cortex-R52 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr52', ' -mcpu=cortex-r52', '', d)}"
8
9require conf/machine/include/arm/arch-armv8r.inc
10
11AVAILTUNES += "cortexr52"
12ARMPKGARCH:tune-cortexr52 = "cortexr52"
13# We do not want -march since -mcpu is added above to cover for it
14TUNE_FEATURES:tune-cortexr52 = "aarch64 crc simd cortexr52"
15PACKAGE_EXTRA_ARCHS:tune-cortexr52 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr52"
16
17AVAILTUNES += "cortexr52hf"
18ARMPKGARCH:tune-cortexr52hf = "cortexr52"
19TUNE_FEATURES:tune-cortexr52hf = "${TUNE_FEATURES:tune-cortexr52} callconvention-hard"
20PACKAGE_EXTRA_ARCHS:tune-cortexr52hf = "cortexr52hf"
diff --git a/meta/conf/machine/include/arm/armv8r/tune-cortexr82.inc b/meta/conf/machine/include/arm/armv8r/tune-cortexr82.inc
new file mode 100644
index 0000000000..84b2471c6b
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv8r/tune-cortexr82.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for cortex-r82
3#
4DEFAULTTUNE ?= "cortexr82"
5
6TUNEVALID[cortexr82] = "Enable cortex-r82 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr82', ' -mcpu=cortex-r82', '', d)}"
8
9require conf/machine/include/arm/arch-armv8r.inc
10
11AVAILTUNES += "cortexr82"
12ARMPKGARCH:tune-cortexr82 = "cortexr82"
13TUNE_FEATURES:tune-cortexr82 = "${TUNE_FEATURES:tune-armv8r-crc-simd} cortexr82"
14PACKAGE_EXTRA_ARCHS:tune-cortexr82 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr82"
15BASE_LIB:tune-cortexr82 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexa510.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexa510.inc
new file mode 100644
index 0000000000..09219ec7f1
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv9a/tune-cortexa510.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for cortex-a510
3#
4DEFAULTTUNE ?= "cortexa510"
5
6TUNEVALID[cortexa510] = "Enable cortex-a510 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa510', ' -mcpu=cortex-a510', '', d)}"
8
9require conf/machine/include/arm/arch-armv9a.inc
10
11AVAILTUNES += "cortexa510"
12ARMPKGARCH:tune-cortexa510 = "cortexa510"
13TUNE_FEATURES:tune-cortexa510 = "aarch64 crypto cortexa510"
14PACKAGE_EXTRA_ARCHS:tune-cortexa510 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexa510"
15BASE_LIB:tune-cortexa510 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexa710.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexa710.inc
new file mode 100644
index 0000000000..19743d67db
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv9a/tune-cortexa710.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for cortex-a710
3#
4DEFAULTTUNE ?= "cortexa710"
5
6TUNEVALID[cortexa710] = "Enable cortex-a710 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa710', ' -mcpu=cortex-a710', '', d)}"
8
9require conf/machine/include/arm/arch-armv9a.inc
10
11AVAILTUNES += "cortexa710"
12ARMPKGARCH:tune-cortexa710 = "cortexa710"
13TUNE_FEATURES:tune-cortexa710 = "aarch64 crypto cortexa710"
14PACKAGE_EXTRA_ARCHS:tune-cortexa710 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexa710"
15BASE_LIB:tune-cortexa710 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexa715.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexa715.inc
new file mode 100644
index 0000000000..2f6d8c6f8f
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv9a/tune-cortexa715.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for cortex-a715
3#
4DEFAULTTUNE ?= "cortexa715"
5
6TUNEVALID[cortexa715] = "Enable cortex-a715 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa715', ' -mcpu=cortex-a715', '', d)}"
8
9require conf/machine/include/arm/arch-armv9a.inc
10
11AVAILTUNES += "cortexa715"
12ARMPKGARCH:tune-cortexa715 = "cortexa715"
13TUNE_FEATURES:tune-cortexa715 = "aarch64 crypto cortexa715"
14PACKAGE_EXTRA_ARCHS:tune-cortexa715 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexa715"
15BASE_LIB:tune-cortexa715 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexx2.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexx2.inc
new file mode 100644
index 0000000000..c116e30ff5
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv9a/tune-cortexx2.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for cortex-x2
3#
4DEFAULTTUNE ?= "cortexx2"
5
6TUNEVALID[cortexx2] = "Enable cortex-x2 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexx2', ' -mcpu=cortex-x2', '', d)}"
8
9require conf/machine/include/arm/arch-armv9a.inc
10
11AVAILTUNES += "cortexx2"
12ARMPKGARCH:tune-cortexx2 = "cortexx2"
13TUNE_FEATURES:tune-cortexx2 = "aarch64 crypto cortexx2"
14PACKAGE_EXTRA_ARCHS:tune-cortexx2 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexx2"
15BASE_LIB:tune-cortexx2 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv9a/tune-cortexx3.inc b/meta/conf/machine/include/arm/armv9a/tune-cortexx3.inc
new file mode 100644
index 0000000000..7982079ef8
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv9a/tune-cortexx3.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for cortex-x3
3#
4DEFAULTTUNE ?= "cortexx3"
5
6TUNEVALID[cortexx3] = "Enable cortex-x3 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexx3', ' -mcpu=cortex-x3', '', d)}"
8
9require conf/machine/include/arm/arch-armv9a.inc
10
11AVAILTUNES += "cortexx3"
12ARMPKGARCH:tune-cortexx3 = "cortexx3"
13TUNE_FEATURES:tune-cortexx3 = "aarch64 crypto cortexx3"
14PACKAGE_EXTRA_ARCHS:tune-cortexx3 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} cortexx3"
15BASE_LIB:tune-cortexx3 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc b/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc
new file mode 100644
index 0000000000..ad60a3c9f3
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv9a/tune-neoversen2.inc
@@ -0,0 +1,21 @@
1#
2# Tune Settings for Neoverse-N2
3#
4DEFAULTTUNE ?= "neoversen2"
5
6TUNEVALID[neoversen2] = "Enable Neoverse-N2 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversen2', ' -mcpu=neoverse-n2', '', d)}"
8
9require conf/machine/include/arm/arch-armv9a.inc
10
11# Little Endian base configs
12AVAILTUNES += "neoversen2 neoversen2-crypto"
13ARMPKGARCH:tune-neoversen2 = "neoversen2"
14ARMPKGARCH:tune-neoversen2-crypto = "neoversen2-crypto"
15# We do not want -march since -mcpu is added above to cover for it
16TUNE_FEATURES:tune-neoversen2 = "aarch64 neoversen2"
17TUNE_FEATURES:tune-neoversen2-crypto = "${TUNE_FEATURES:tune-neoversen2} crypto"
18PACKAGE_EXTRA_ARCHS:tune-neoversen2 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} neoversen2"
19PACKAGE_EXTRA_ARCHS:tune-neoversen2-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} neoversen2 neoversen2-crypto"
20BASE_LIB:tune-neoversen2 = "lib64"
21BASE_LIB:tune-neoversen2-crypto = "lib64"
diff --git a/meta/conf/machine/include/arm/armv9a/tune-neoversev2.inc b/meta/conf/machine/include/arm/armv9a/tune-neoversev2.inc
new file mode 100644
index 0000000000..5d1e108468
--- /dev/null
+++ b/meta/conf/machine/include/arm/armv9a/tune-neoversev2.inc
@@ -0,0 +1,15 @@
1#
2# Tune Settings for neoverse-v2
3#
4DEFAULTTUNE ?= "neoversev2"
5
6TUNEVALID[neoversev2] = "Enable neoverse-v2 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversev2', ' -mcpu=neoverse-v2', '', d)}"
8
9require conf/machine/include/arm/arch-armv9a.inc
10
11AVAILTUNES += "neoversev2"
12ARMPKGARCH:tune-neoversev2 = "neoversev2"
13TUNE_FEATURES:tune-neoversev2 = "aarch64 crypto neoversev2"
14PACKAGE_EXTRA_ARCHS:tune-neoversev2 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} neoversev2"
15BASE_LIB:tune-neoversev2 = "lib64"
diff --git a/meta/conf/machine/include/arm/feature-arm-crc.inc b/meta/conf/machine/include/arm/feature-arm-crc.inc
new file mode 100644
index 0000000000..8a69d2e2fa
--- /dev/null
+++ b/meta/conf/machine/include/arm/feature-arm-crc.inc
@@ -0,0 +1,4 @@
1# Cyclic Redundancy Check (CRC) instructions for armv8-a and armv8-r
2
3TUNEVALID[crc] = "Enable instructions for ARMv8 Cyclic Redundancy Check (CRC)"
4TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}"
diff --git a/meta/conf/machine/include/arm/feature-arm-crypto.inc b/meta/conf/machine/include/arm/feature-arm-crypto.inc
new file mode 100644
index 0000000000..aade6ce08d
--- /dev/null
+++ b/meta/conf/machine/include/arm/feature-arm-crypto.inc
@@ -0,0 +1,5 @@
1# Cryptographic instructions for:
2# armv8-a, armv8.1-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, and armv8-r
3
4TUNEVALID[crypto] = "Enable cryptographic instructions for ARMv8"
5TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}"
diff --git a/meta/conf/machine/include/arm/feature-arm-dsp.inc b/meta/conf/machine/include/arm/feature-arm-dsp.inc
new file mode 100644
index 0000000000..7f7ada7461
--- /dev/null
+++ b/meta/conf/machine/include/arm/feature-arm-dsp.inc
@@ -0,0 +1,3 @@
1ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}"
2TUNEVALID[dsp] = "ARM DSP functionality"
3TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], '+dsp', '', d)}"
diff --git a/meta/conf/machine/include/arm/feature-arm-idiv.inc b/meta/conf/machine/include/arm/feature-arm-idiv.inc
new file mode 100644
index 0000000000..0ea42b1b39
--- /dev/null
+++ b/meta/conf/machine/include/arm/feature-arm-idiv.inc
@@ -0,0 +1,2 @@
1TUNEVALID[idiv] = "ARM-state integer division instructions"
2TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'idiv', '+idiv', '', d)}"
diff --git a/meta/conf/machine/include/arm/feature-arm-neon.inc b/meta/conf/machine/include/arm/feature-arm-neon.inc
index eaddd054ce..174b9b9f2a 100644
--- a/meta/conf/machine/include/arm/feature-arm-neon.inc
+++ b/meta/conf/machine/include/arm/feature-arm-neon.inc
@@ -19,3 +19,8 @@ TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv4', 'neon' ],
19 19
20TUNEVALID[vfpv4d16] = "Enable Vector Floating Point Version 4 with 16 registers (vfpv4-d16) unit." 20TUNEVALID[vfpv4d16] = "Enable Vector Floating Point Version 4 with 16 registers (vfpv4-d16) unit."
21TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv4d16', ' vfpv4-d16', '', d)}" 21TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv4d16', ' vfpv4-d16', '', d)}"
22
23TUNEVALID[vfpv5spd16] = "Enable Vector Floating Point Version 5, Single Precision. with 16 registers (fpv5-sp-d16) unit."
24TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv5spd16', 'fpv5-sp-d16', '', d)}"
25
26TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv3d16', 'vfpv5spd16' ], '+fp', '', d)}"
diff --git a/meta/conf/machine/include/arm/feature-arm-simd.inc b/meta/conf/machine/include/arm/feature-arm-simd.inc
new file mode 100644
index 0000000000..1afaf8d901
--- /dev/null
+++ b/meta/conf/machine/include/arm/feature-arm-simd.inc
@@ -0,0 +1,5 @@
1# Advanced SIMD and floating-point instructions for armv7-a, armv7ve,
2# armv8-a, armv8.1-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, and armv8-r
3
4TUNEVALID[simd] = "Enable instructions for Advanced SIMD and floating-point units"
5TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'simd', '+simd', '', d)}"
diff --git a/meta/conf/machine/include/arm/feature-arm-sve.inc b/meta/conf/machine/include/arm/feature-arm-sve.inc
new file mode 100644
index 0000000000..bdae3d8fc3
--- /dev/null
+++ b/meta/conf/machine/include/arm/feature-arm-sve.inc
@@ -0,0 +1,8 @@
1# Scalable Vector Extension (SVE) for Armv8-A and R
2# Enabled by default for Armv9
3
4TUNEVALID[sve] = "Enable SVE instructions for ARMv8"
5TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'sve', '+sve', '', d)}"
6
7TUNEVALID[sve2] = "Enable SVE2 instructions for ARMv8"
8TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'sve2', '+sve2', '', d)}"
diff --git a/meta/conf/machine/include/arm/feature-arm-thumb.inc b/meta/conf/machine/include/arm/feature-arm-thumb.inc
index bae169da3a..1c9a118160 100644
--- a/meta/conf/machine/include/arm/feature-arm-thumb.inc
+++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc
@@ -22,9 +22,9 @@ python () {
22TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ' -m${ARM_M_OPT}', '', d)}" 22TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ' -m${ARM_M_OPT}', '', d)}"
23 23
24ARM_THUMB_SUFFIX = "t2" 24ARM_THUMB_SUFFIX = "t2"
25ARM_THUMB_SUFFIX_armv4 = "t" 25ARM_THUMB_SUFFIX:armv4 = "t"
26ARM_THUMB_SUFFIX_armv5 = "t" 26ARM_THUMB_SUFFIX:armv5 = "t"
27ARM_THUMB_SUFFIX_armv6 = "t" 27ARM_THUMB_SUFFIX:armv6 = "t"
28 28
29# Add suffix from ARM_THUMB_SUFFIX only if after all this we still set ARM_M_OPT to thumb 29# Add suffix from ARM_THUMB_SUFFIX only if after all this we still set ARM_M_OPT to thumb
30ARMPKGSFX_THUMB .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${ARM_THUMB_SUFFIX}', '', d) if d.getVar('ARM_M_OPT') == 'thumb' else ''}" 30ARMPKGSFX_THUMB .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${ARM_THUMB_SUFFIX}', '', d) if d.getVar('ARM_M_OPT') == 'thumb' else ''}"
diff --git a/meta/conf/machine/include/arm/feature-arm-vfp.inc b/meta/conf/machine/include/arm/feature-arm-vfp.inc
index 678888e638..d020100daa 100644
--- a/meta/conf/machine/include/arm/feature-arm-vfp.inc
+++ b/meta/conf/machine/include/arm/feature-arm-vfp.inc
@@ -5,11 +5,12 @@
5TUNEVALID[vfp] = "Enable Vector Floating Point (vfp) unit." 5TUNEVALID[vfp] = "Enable Vector Floating Point (vfp) unit."
6TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfp', ' vfp', '', d)}" 6TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfp', ' vfp', '', d)}"
7 7
8# simd is special, we don't pass this to the -mfpu, it's implied
8TUNE_CCARGS .= "${@ (' -mfpu=%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1]) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}" 9TUNE_CCARGS .= "${@ (' -mfpu=%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1]) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
9# The following deals with both vfpv3-d16 and vfpv4-d16 10# The following deals with both vfpv3-d16 and vfpv4-d16
10ARMPKGSFX_FPU = "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1].replace('-d16', 'd16')) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}" 11ARMPKGSFX_FPU = "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1].replace('-d16', 'd16')) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
11 12
12TUNEVALID[callconvention-hard] = "Enable EABI hard float call convention, requires VFP." 13TUNEVALID[callconvention-hard] = "Enable EABI hard float call convention, requires VFP."
13TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d) if (d.getVar('TUNE_CCARGS_MFPU') != '') else '' }" 14TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d) if (d.getVar('TUNE_CCARGS_MFPU') != '' or bb.utils.contains('TUNE_FEATURES', 'simd', True, False, d)) else '' }"
14TUNE_CCARGS .= "${@ ' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}" 15TUNE_CCARGS .= "${@ ' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}"
15ARMPKGSFX_EABI = "${@ 'hf' if (d.getVar('TUNE_CCARGS_MFLOAT') == 'hard') else ''}" 16ARMPKGSFX_EABI = "${@ 'hf' if (d.getVar('TUNE_CCARGS_MFLOAT') == 'hard') else ''}"
diff --git a/meta/conf/machine/include/loongarch/arch-loongarch.inc b/meta/conf/machine/include/loongarch/arch-loongarch.inc
new file mode 100644
index 0000000000..d0a51b34c7
--- /dev/null
+++ b/meta/conf/machine/include/loongarch/arch-loongarch.inc
@@ -0,0 +1,7 @@
1# LoongArch Architecture definition
2
3DEFAULTTUNE ?= "loongarch64"
4
5TUNE_ARCH = "${TUNE_ARCH:tune-${DEFAULTTUNE}}"
6TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
7TUNE_CCARGS:append = "${@bb.utils.contains('TUNE_FEATURES', 'loongarch64', ' -march=loongarch64 -mabi=lp64d', ' ', d)}"
diff --git a/meta/conf/machine/include/loongarch/qemuloongarch.inc b/meta/conf/machine/include/loongarch/qemuloongarch.inc
new file mode 100644
index 0000000000..e1bcfabc43
--- /dev/null
+++ b/meta/conf/machine/include/loongarch/qemuloongarch.inc
@@ -0,0 +1,35 @@
1PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
2
3require conf/machine/include/qemu.inc
4require conf/machine/include/loongarch/tune-loongarch.inc
5
6MACHINE_FEATURES = "screen keyboard ext2 ext3 serial"
7
8KERNEL_IMAGETYPE = "vmlinuz"
9KERNEL_IMAGETYPES += "vmlinuz"
10KEEPUIMAGE = "no"
11
12SERIAL_CONSOLES ?= "115200;ttyS0 115200;hvc0"
13
14IMAGE_FSTYPES += "ext4 wic.qcow2"
15
16WKS_FILE ?= "qemuloongarch.wks"
17
18MACHINE_EXTRA_RRECOMMENDS += " kernel-modules"
19
20#EXTRA_IMAGEDEPENDS += "opensbi"
21
22UBOOT_ENTRYPOINT_loongarch32 = "0x80400000"
23UBOOT_ENTRYPOINT_loongarch64 = "0x80200000"
24
25# qemuboot options
26QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi"
27QB_MACHINE = "-machine virt"
28QB_DEFAULT_BIOS = "fw_jump.elf"
29QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
30QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
31QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"
32QB_SERIAL_OPT = "-device virtio-serial-pci -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
33QB_TCPSERIAL_OPT = " -device virtio-serial-pci -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1,nodelay=on -device virtconsole,chardev=virtcon"
34# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
35QB_OPT_APPEND = " -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-device,rng=rng0"
diff --git a/meta/conf/machine/include/loongarch/tune-loongarch.inc b/meta/conf/machine/include/loongarch/tune-loongarch.inc
new file mode 100644
index 0000000000..f02ddda474
--- /dev/null
+++ b/meta/conf/machine/include/loongarch/tune-loongarch.inc
@@ -0,0 +1,13 @@
1require conf/machine/include/loongarch/arch-loongarch.inc
2
3TUNEVALID[loongarch64] = "Enable 64-bit LoongArch optimizations"
4
5TUNEVALID[littleendian] = "Little endian mode"
6
7AVAILTUNES += "loongarch64"
8
9# Default
10TUNE_FEATURES:tune-loongarch64 = "loongarch64"
11TUNE_ARCH:tune-loongarch64 = "loongarch64"
12TUNE_PKGARCH:tune-loongarch64 = "loongarch64"
13PACKAGE_EXTRA_ARCHS:tune-loongarch64 = "loongarch64"
diff --git a/meta/conf/machine/include/m68k/arch-m68k.inc b/meta/conf/machine/include/m68k/arch-m68k.inc
index 3ff8a3a5b5..3f0f2ff57e 100644
--- a/meta/conf/machine/include/m68k/arch-m68k.inc
+++ b/meta/conf/machine/include/m68k/arch-m68k.inc
@@ -5,4 +5,4 @@ DEFAULTTUNE ?= "m68k"
5# Architecture name 5# Architecture name
6TUNE_ARCH = "m68k" 6TUNE_ARCH = "m68k"
7 7
8TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" 8TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
diff --git a/meta/conf/machine/include/tune-mcf5441x.inc b/meta/conf/machine/include/m68k/tune-mcf5441x.inc
index 11a41a7c5d..7eefce03cb 100644
--- a/meta/conf/machine/include/tune-mcf5441x.inc
+++ b/meta/conf/machine/include/m68k/tune-mcf5441x.inc
@@ -6,8 +6,8 @@ TUNEVALID[mcf5441x] = "Enable coldfire specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mcf5441x', ' -mcpu=54418', '', d)}" 6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mcf5441x', ' -mcpu=54418', '', d)}"
7 7
8AVAILTUNES += "mcf5441x" 8AVAILTUNES += "mcf5441x"
9TUNE_FEATURES_tune-mcf5441x = "mcf5441x" 9TUNE_FEATURES:tune-mcf5441x = "mcf5441x"
10TUNE_ARCH_tune-mcf5441x = "mcf5441x" 10TUNE_ARCH:tune-mcf5441x = "mcf5441x"
11TUNE_PKGARCH_tune-mcf5441x = "mcf5441x" 11TUNE_PKGARCH:tune-mcf5441x = "mcf5441x"
12PACKAGE_EXTRA_ARCHS_tune-mcf5441x = "m68k mcf5441x" 12PACKAGE_EXTRA_ARCHS:tune-mcf5441x = "m68k mcf5441x"
13 13
diff --git a/meta/conf/machine/include/microblaze/feature-microblaze-versions.inc b/meta/conf/machine/include/microblaze/feature-microblaze-versions.inc
index 5c37f49abb..658e87b8cd 100644
--- a/meta/conf/machine/include/microblaze/feature-microblaze-versions.inc
+++ b/meta/conf/machine/include/microblaze/feature-microblaze-versions.inc
@@ -16,7 +16,7 @@ def microblaze_current_version(d, gcc = False):
16 # find the current version, and convert it to major/minor integers 16 # find the current version, and convert it to major/minor integers
17 version = None 17 version = None
18 for t in (d.getVar("TUNE_FEATURES") or "").split(): 18 for t in (d.getVar("TUNE_FEATURES") or "").split():
19 m = re.search("^v(\d+)\.(\d+)", t) 19 m = re.search(r"^v(\d+)\.(\d+)", t)
20 if m: 20 if m:
21 version = int(m.group(1)), int(m.group(2)) 21 version = int(m.group(1)), int(m.group(2))
22 break 22 break
diff --git a/meta/conf/machine/include/tune-microblaze.inc b/meta/conf/machine/include/microblaze/tune-microblaze.inc
index 41f0afe668..11f7233cf4 100644
--- a/meta/conf/machine/include/tune-microblaze.inc
+++ b/meta/conf/machine/include/microblaze/tune-microblaze.inc
@@ -3,6 +3,6 @@ DEFAULTTUNE ?= "microblaze"
3require conf/machine/include/microblaze/arch-microblaze.inc 3require conf/machine/include/microblaze/arch-microblaze.inc
4 4
5AVAILTUNES += "microblaze" 5AVAILTUNES += "microblaze"
6TUNE_FEATURES_tune-microblaze = "microblaze" 6TUNE_FEATURES:tune-microblaze = "microblaze"
7PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}" 7PACKAGE_EXTRA_ARCHS:tune-microblaze = "${TUNE_PKGARCH}"
8 8
diff --git a/meta/conf/machine/include/mips/README b/meta/conf/machine/include/mips/README
index f36e87b45a..77448c5190 100644
--- a/meta/conf/machine/include/mips/README
+++ b/meta/conf/machine/include/mips/README
@@ -23,7 +23,7 @@ scheme. The scheme is: <mips variant>[-nf][-n32]
23 23
24TUNE_PKGARCH is defined as: 24TUNE_PKGARCH is defined as:
25 25
26${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI} 26${MIPSPKGSFX_VARIANT:tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}
27 27
28The following is a list of MIPS specific variables: 28The following is a list of MIPS specific variables:
29 29
@@ -35,7 +35,7 @@ defined as "el".
35MIPSPKGSFX_ENDIAN2 - For bigendian hardware this is "eb", otherwise it's 35MIPSPKGSFX_ENDIAN2 - For bigendian hardware this is "eb", otherwise it's
36defined as "el". 36defined as "el".
37 37
38MIPSPKGSFX_VARIANT_tune-<tune> - In the default tunings it is set to the 38MIPSPKGSFX_VARIANT:tune-<tune> - In the default tunings it is set to the
39same value as TUNE_ARCH. In custom, optimized tunings, the value should 39same value as TUNE_ARCH. In custom, optimized tunings, the value should
40be modified to more precisely describe the tuning. 40be modified to more precisely describe the tuning.
41 41
diff --git a/meta/conf/machine/include/mips/arch-mips.inc b/meta/conf/machine/include/mips/arch-mips.inc
index cb1a4c443c..e39cdcab5d 100644
--- a/meta/conf/machine/include/mips/arch-mips.inc
+++ b/meta/conf/machine/include/mips/arch-mips.inc
@@ -21,11 +21,13 @@ ABIEXTENSION .= "${@bb.utils.filter('TUNE_FEATURES', 'n32', d)}"
21TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'n32', ' -mabi=n32', '', d)}" 21TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'n32', ' -mabi=n32', '', d)}"
22 22
23# user mode qemu doesn't support mips64 n32: "Invalid ELF image for this architecture" 23# user mode qemu doesn't support mips64 n32: "Invalid ELF image for this architecture"
24MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'n32', 'qemu-usermode', '', d)}" 24MACHINE_FEATURES_BACKFILL_CONSIDERED:append = " ${@bb.utils.contains('TUNE_FEATURES', 'n32', 'qemu-usermode', '', d)}"
25 25
26TUNEVALID[n64] = "MIPS64 n64 ABI" 26TUNEVALID[n64] = "MIPS64 n64 ABI"
27TUNECONFLICTS[n64] = "o32 n32" 27TUNECONFLICTS[n64] = "o32 n32"
28TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'n64', ' -mabi=64', '', d)}" 28TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'n64', ' -mabi=64', '', d)}"
29LD64ARG = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '-m elf64btsmip', '-m elf64ltsmip', d)}"
30TUNE_LDARGS += "${@bb.utils.contains('TUNE_FEATURES', 'n64', '${LD64ARG}', '', d)}"
29 31
30# Floating point 32# Floating point
31TUNEVALID[fpu-hard] = "Use hardware FPU" 33TUNEVALID[fpu-hard] = "Use hardware FPU"
@@ -49,7 +51,7 @@ MIPSPKGSFX_64R6 = "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', 'isa', '
49MIPSPKGSFX_32R6 = "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa32r6', 'isa32', '', d)}" 51MIPSPKGSFX_32R6 = "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa32r6', 'isa32', '', d)}"
50 52
51TUNE_ARCH = "mips${MIPSPKGSFX_32R6}${MIPSPKGSFX_64R6}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}" 53TUNE_ARCH = "mips${MIPSPKGSFX_32R6}${MIPSPKGSFX_64R6}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}"
52TUNE_PKGARCH = "${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}" 54TUNE_PKGARCH = "${MIPSPKGSFX_VARIANT:tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}"
53 55
54# Various Global Machine Overrides 56# Various Global Machine Overrides
55MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'n64', 'mipsarchn64${MIPSPKGSFX_ENDIAN2}:', '', d)}" 57MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'n64', 'mipsarchn64${MIPSPKGSFX_ENDIAN2}:', '', d)}"
@@ -64,88 +66,88 @@ MACHINEOVERRIDES =. "mipsarch:"
64 66
65# Base tunes 67# Base tunes
66AVAILTUNES += "mips mips64-n32 mips64 mipsel mips64el-n32 mips64el mips-nf mips64-nf-n32 mips64-nf mipsel-nf mips64el-nf-n32 mips64el-nf" 68AVAILTUNES += "mips mips64-n32 mips64 mipsel mips64el-n32 mips64el mips-nf mips64-nf-n32 mips64-nf mipsel-nf mips64el-nf-n32 mips64el-nf"
67TUNE_FEATURES_tune-mips = "o32 bigendian fpu-hard" 69TUNE_FEATURES:tune-mips = "o32 bigendian fpu-hard"
68BASE_LIB_tune-mips = "lib" 70BASE_LIB:tune-mips = "lib"
69MIPSPKGSFX_VARIANT_tune-mips = "${TUNE_ARCH}" 71MIPSPKGSFX_VARIANT:tune-mips = "${TUNE_ARCH}"
70PACKAGE_EXTRA_ARCHS_tune-mips = "mips" 72PACKAGE_EXTRA_ARCHS:tune-mips = "mips"
71 73
72TUNE_FEATURES_tune-mips64-n32 = "n32 bigendian fpu-hard" 74TUNE_FEATURES:tune-mips64-n32 = "n32 bigendian fpu-hard"
73BASE_LIB_tune-mips64-n32 = "lib32" 75BASE_LIB:tune-mips64-n32 = "lib32"
74MIPSPKGSFX_VARIANT_tune-mips64-n32 = "${TUNE_ARCH}" 76MIPSPKGSFX_VARIANT:tune-mips64-n32 = "${TUNE_ARCH}"
75PACKAGE_EXTRA_ARCHS_tune-mips64-n32 = "mips64-n32" 77PACKAGE_EXTRA_ARCHS:tune-mips64-n32 = "mips64-n32"
76 78
77TUNE_FEATURES_tune-mips64 = "n64 bigendian fpu-hard" 79TUNE_FEATURES:tune-mips64 = "n64 bigendian fpu-hard"
78BASE_LIB_tune-mips64 = "lib64" 80BASE_LIB:tune-mips64 = "lib64"
79MIPSPKGSFX_VARIANT_tune-mips64 = "${TUNE_ARCH}" 81MIPSPKGSFX_VARIANT:tune-mips64 = "${TUNE_ARCH}"
80PACKAGE_EXTRA_ARCHS_tune-mips64 = "mips64" 82PACKAGE_EXTRA_ARCHS:tune-mips64 = "mips64"
81 83
82TUNE_FEATURES_tune-mipsel = "o32 fpu-hard" 84TUNE_FEATURES:tune-mipsel = "o32 fpu-hard"
83BASE_LIB_tune-mipsel = "lib" 85BASE_LIB:tune-mipsel = "lib"
84MIPSPKGSFX_VARIANT_tune-mipsel = "${TUNE_ARCH}" 86MIPSPKGSFX_VARIANT:tune-mipsel = "${TUNE_ARCH}"
85PACKAGE_EXTRA_ARCHS_tune-mipsel = "mipsel" 87PACKAGE_EXTRA_ARCHS:tune-mipsel = "mipsel"
86 88
87TUNE_FEATURES_tune-mips64el-n32 = "n32 fpu-hard" 89TUNE_FEATURES:tune-mips64el-n32 = "n32 fpu-hard"
88BASE_LIB_tune-mips64el-n32 = "lib32" 90BASE_LIB:tune-mips64el-n32 = "lib32"
89MIPSPKGSFX_VARIANT_tune-mips64el-n32 = "${TUNE_ARCH}" 91MIPSPKGSFX_VARIANT:tune-mips64el-n32 = "${TUNE_ARCH}"
90PACKAGE_EXTRA_ARCHS_tune-mips64el-n32 = "mips64el-n32" 92PACKAGE_EXTRA_ARCHS:tune-mips64el-n32 = "mips64el-n32"
91 93
92TUNE_FEATURES_tune-mips64el = "n64 fpu-hard" 94TUNE_FEATURES:tune-mips64el = "n64 fpu-hard"
93BASE_LIB_tune-mips64el = "lib64" 95BASE_LIB:tune-mips64el = "lib64"
94MIPSPKGSFX_VARIANT_tune-mips64el = "${TUNE_ARCH}" 96MIPSPKGSFX_VARIANT:tune-mips64el = "${TUNE_ARCH}"
95PACKAGE_EXTRA_ARCHS_tune-mips64el = "mips64el" 97PACKAGE_EXTRA_ARCHS:tune-mips64el = "mips64el"
96 98
97TUNE_FEATURES_tune-mips-nf = "o32 bigendian" 99TUNE_FEATURES:tune-mips-nf = "o32 bigendian"
98BASE_LIB_tune-mips-nf = "lib" 100BASE_LIB:tune-mips-nf = "lib"
99MIPSPKGSFX_VARIANT_tune-mips-nf = "${TUNE_ARCH}" 101MIPSPKGSFX_VARIANT:tune-mips-nf = "${TUNE_ARCH}"
100PACKAGE_EXTRA_ARCHS_tune-mips-nf = "mips-nf" 102PACKAGE_EXTRA_ARCHS:tune-mips-nf = "mips-nf"
101 103
102TUNE_FEATURES_tune-mips64-nf-n32 = "n32 bigendian" 104TUNE_FEATURES:tune-mips64-nf-n32 = "n32 bigendian"
103BASE_LIB_tune-mips64-nf-n32 = "lib32" 105BASE_LIB:tune-mips64-nf-n32 = "lib32"
104MIPSPKGSFX_VARIANT_tune-mips64-nf-n32 = "${TUNE_ARCH}" 106MIPSPKGSFX_VARIANT:tune-mips64-nf-n32 = "${TUNE_ARCH}"
105PACKAGE_EXTRA_ARCHS_tune-mips64-nf-n32 = "mips64-nf-n32" 107PACKAGE_EXTRA_ARCHS:tune-mips64-nf-n32 = "mips64-nf-n32"
106 108
107TUNE_FEATURES_tune-mips64-nf = "n64 bigendian" 109TUNE_FEATURES:tune-mips64-nf = "n64 bigendian"
108BASE_LIB_tune-mips64-nf = "lib64" 110BASE_LIB:tune-mips64-nf = "lib64"
109MIPSPKGSFX_VARIANT_tune-mips64-nf = "${TUNE_ARCH}" 111MIPSPKGSFX_VARIANT:tune-mips64-nf = "${TUNE_ARCH}"
110PACKAGE_EXTRA_ARCHS_tune-mips64-nf = "mips64-nf" 112PACKAGE_EXTRA_ARCHS:tune-mips64-nf = "mips64-nf"
111 113
112TUNE_FEATURES_tune-mipsel-nf = "o32" 114TUNE_FEATURES:tune-mipsel-nf = "o32"
113BASE_LIB_tune-mipsel-nf = "lib" 115BASE_LIB:tune-mipsel-nf = "lib"
114MIPSPKGSFX_VARIANT_tune-mipsel-nf = "${TUNE_ARCH}" 116MIPSPKGSFX_VARIANT:tune-mipsel-nf = "${TUNE_ARCH}"
115PACKAGE_EXTRA_ARCHS_tune-mipsel-nf = "mipsel-nf" 117PACKAGE_EXTRA_ARCHS:tune-mipsel-nf = "mipsel-nf"
116 118
117TUNE_FEATURES_tune-mips64el-nf-n32 = "n32" 119TUNE_FEATURES:tune-mips64el-nf-n32 = "n32"
118BASE_LIB_tune-mips64el-nf-n32 = "lib32" 120BASE_LIB:tune-mips64el-nf-n32 = "lib32"
119MIPSPKGSFX_VARIANT_tune-mips64el-nf-n32 = "${TUNE_ARCH}" 121MIPSPKGSFX_VARIANT:tune-mips64el-nf-n32 = "${TUNE_ARCH}"
120PACKAGE_EXTRA_ARCHS_tune-mips64el-nf-n32 = "mips64el-nf-n32" 122PACKAGE_EXTRA_ARCHS:tune-mips64el-nf-n32 = "mips64el-nf-n32"
121 123
122TUNE_FEATURES_tune-mips64el-nf = "n64" 124TUNE_FEATURES:tune-mips64el-nf = "n64"
123BASE_LIB_tune-mips64el-nf = "lib64" 125BASE_LIB:tune-mips64el-nf = "lib64"
124MIPSPKGSFX_VARIANT_tune-mips64el-nf = "${TUNE_ARCH}" 126MIPSPKGSFX_VARIANT:tune-mips64el-nf = "${TUNE_ARCH}"
125PACKAGE_EXTRA_ARCHS_tune-mips64el-nf = "mips64el-nf" 127PACKAGE_EXTRA_ARCHS:tune-mips64el-nf = "mips64el-nf"
126 128
127# MIPS 64 + o32 129# MIPS 64 + o32
128AVAILTUNES += "mips64-o32 mips64el-o32" 130AVAILTUNES += "mips64-o32 mips64el-o32"
129 131
130TUNE_FEATURES_tune-mips64-o32 = "o32 bigendian fpu-hard" 132TUNE_FEATURES:tune-mips64-o32 = "o32 bigendian fpu-hard"
131BASE_LIB_tune-mips64-o32 = "lib" 133BASE_LIB:tune-mips64-o32 = "lib"
132MIPSPKGSFX_VARIANT_tune-mips64-o32 = "${TUNE_ARCH}" 134MIPSPKGSFX_VARIANT:tune-mips64-o32 = "${TUNE_ARCH}"
133PACKAGE_EXTRA_ARCHS_tune-mips64-o32 = "mips mips64-o32" 135PACKAGE_EXTRA_ARCHS:tune-mips64-o32 = "mips mips64-o32"
134 136
135TUNE_FEATURES_tune-mips64el-o32 = "o32 fpu-hard" 137TUNE_FEATURES:tune-mips64el-o32 = "o32 fpu-hard"
136BASE_LIB_tune-mips64el-o32 = "lib" 138BASE_LIB:tune-mips64el-o32 = "lib"
137MIPSPKGSFX_VARIANT_tune-mips64el-o32 = "${TUNE_ARCH}" 139MIPSPKGSFX_VARIANT:tune-mips64el-o32 = "${TUNE_ARCH}"
138PACKAGE_EXTRA_ARCHS_tune-mips64el-o32 = "mipsel mips64el-o32" 140PACKAGE_EXTRA_ARCHS:tune-mips64el-o32 = "mipsel mips64el-o32"
139 141
140# MIPS 64 o32 and Soft Float 142# MIPS 64 o32 and Soft Float
141AVAILTUNES += "mips64-nf-o32 mips64el-nf-o32" 143AVAILTUNES += "mips64-nf-o32 mips64el-nf-o32"
142 144
143TUNE_FEATURES_tune-mips64-nf-o32 = "o32 bigendian" 145TUNE_FEATURES:tune-mips64-nf-o32 = "o32 bigendian"
144BASE_LIB_tune-mips64-nf-o32 = "lib" 146BASE_LIB:tune-mips64-nf-o32 = "lib"
145MIPSPKGSFX_VARIANT_tune-mips64-nf-o32 = "${TUNE_ARCH}" 147MIPSPKGSFX_VARIANT:tune-mips64-nf-o32 = "${TUNE_ARCH}"
146PACKAGE_EXTRA_ARCHS_tune-mips64-nf-o32 = "mips-nf mips64-nf-o32" 148PACKAGE_EXTRA_ARCHS:tune-mips64-nf-o32 = "mips-nf mips64-nf-o32"
147 149
148TUNE_FEATURES_tune-mips64el-nf-o32 = "o32" 150TUNE_FEATURES:tune-mips64el-nf-o32 = "o32"
149BASE_LIB_tune-mips64el-nf-o32 = "lib" 151BASE_LIB:tune-mips64el-nf-o32 = "lib"
150MIPSPKGSFX_VARIANT_tune-mips64el-nf-o32 = "${TUNE_ARCH}" 152MIPSPKGSFX_VARIANT:tune-mips64el-nf-o32 = "${TUNE_ARCH}"
151PACKAGE_EXTRA_ARCHS_tune-mips64el-nf-o32 = "mipsel-nf mips64el-nf-o32" 153PACKAGE_EXTRA_ARCHS:tune-mips64el-nf-o32 = "mipsel-nf mips64el-nf-o32"
diff --git a/meta/conf/machine/include/mips/feature-mips-mips16e.inc b/meta/conf/machine/include/mips/feature-mips-mips16e.inc
index 101d5331bc..6fd12fb842 100644
--- a/meta/conf/machine/include/mips/feature-mips-mips16e.inc
+++ b/meta/conf/machine/include/mips/feature-mips-mips16e.inc
@@ -11,7 +11,7 @@ MIPSPKGSFX_MIPS16E .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', '-m16',
11TUNEVALID[no-interlink-compressed] = "Disable mixing of standard and MIPS16e code" 11TUNEVALID[no-interlink-compressed] = "Disable mixing of standard and MIPS16e code"
12MIPS16_TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'no-interlink-compressed', ' -mno-interlink-compressed', ' -minterlink-compressed', d)}" 12MIPS16_TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'no-interlink-compressed', ' -mno-interlink-compressed', ' -minterlink-compressed', d)}"
13TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ' ${MIPS16_TUNE_CCARGS}', '', d)}" 13TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ' ${MIPS16_TUNE_CCARGS}', '', d)}"
14OVERRIDES .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ':mips16e', '', d)}" 14MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', 'mips16e:', '', d)}"
15 15
16# show status (if compiling in MIPS16e mode) 16# show status (if compiling in MIPS16e mode)
17BUILDCFG_VARS += "${@['', 'MIPS_INSTRUCTION_SET'][d.getVar('MIPS_INSTRUCTION_SET') == 'mips16e']}" 17BUILDCFG_VARS += "${@['', 'MIPS_INSTRUCTION_SET'][d.getVar('MIPS_INSTRUCTION_SET') == 'mips16e']}"
diff --git a/meta/conf/machine/include/qemuboot-mips.inc b/meta/conf/machine/include/mips/qemuboot-mips.inc
index 230f032c53..4954f3068c 100644
--- a/meta/conf/machine/include/qemuboot-mips.inc
+++ b/meta/conf/machine/include/mips/qemuboot-mips.inc
@@ -5,4 +5,4 @@ QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 console=tty"
5QB_OPT_APPEND = "-usb -device usb-tablet" 5QB_OPT_APPEND = "-usb -device usb-tablet"
6 6
7# For graphics to work we need to define the VGA device as well as the necessary USB devices 7# For graphics to work we need to define the VGA device as well as the necessary USB devices
8QB_OPT_APPEND += "-vga std" 8QB_GRAPHICS = "-vga std"
diff --git a/meta/conf/machine/include/mips/tune-mips-24k.inc b/meta/conf/machine/include/mips/tune-mips-24k.inc
index 828acd42e3..106ff62fbb 100644
--- a/meta/conf/machine/include/mips/tune-mips-24k.inc
+++ b/meta/conf/machine/include/mips/tune-mips-24k.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "mips32r2-24kc"
2 2
3MIPSPKGSFX_MIPS16E ??= "" 3MIPSPKGSFX_MIPS16E ??= ""
4 4
5require conf/machine/include/tune-mips32r2.inc 5require conf/machine/include/mips/tune-mips32r2.inc
6require conf/machine/include/mips/feature-mips-mips16e.inc 6require conf/machine/include/mips/feature-mips-mips16e.inc
7 7
8 8
@@ -16,36 +16,36 @@ AVAILTUNES += "mips32r2-24kc mips32r2-24kec mips32r2-24kec-m16"
16AVAILTUNES += "mips32r2el-24kc mips32r2el-24kec mips32r2el-24kec-m16" 16AVAILTUNES += "mips32r2el-24kc mips32r2el-24kec mips32r2el-24kec-m16"
17 17
18# big endian: kc, kc+dsp=kec, kc+dsp+mips16e=kec-m16 18# big endian: kc, kc+dsp=kec, kc+dsp+mips16e=kec-m16
19TUNE_FEATURES_tune-mips32r2-24kc = "${TUNE_FEATURES_tune-mips32r2-nf} 24kc" 19TUNE_FEATURES:tune-mips32r2-24kc = "${TUNE_FEATURES:tune-mips32r2-nf} 24kc"
20TUNE_FEATURES_tune-mips32r2-24kec = "${TUNE_FEATURES_tune-mips32r2-nf} 24kec" 20TUNE_FEATURES:tune-mips32r2-24kec = "${TUNE_FEATURES:tune-mips32r2-nf} 24kec"
21TUNE_FEATURES_tune-mips32r2-24kec-m16 = "${TUNE_FEATURES_tune-mips32r2-24kec} mips16e" 21TUNE_FEATURES:tune-mips32r2-24kec-m16 = "${TUNE_FEATURES:tune-mips32r2-24kec} mips16e"
22 22
23MIPSPKGSFX_VARIANT_tune-mips32r2-24kc = "mips32r2-24kc" 23MIPSPKGSFX_VARIANT:tune-mips32r2-24kc = "mips32r2-24kc"
24PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kc = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2-nf} mips32r2-24kc-nf" 24PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kc = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-nf} mips32r2-24kc-nf"
25QEMU_EXTRAOPTIONS_mips32r2-24kc-nf = " -cpu 24Kc" 25QEMU_EXTRAOPTIONS_mips32r2-24kc-nf = " -cpu 24Kc"
26 26
27MIPSPKGSFX_VARIANT_tune-mips32r2-24kec = "mips32r2-24kec" 27MIPSPKGSFX_VARIANT:tune-mips32r2-24kec = "mips32r2-24kec"
28PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kec = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kc} mips32r2-24kec-nf" 28PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kec = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kc} mips32r2-24kec-nf"
29QEMU_EXTRAOPTIONS_mips32r2-24kec-nf = " -cpu 24KEc" 29QEMU_EXTRAOPTIONS_mips32r2-24kec-nf = " -cpu 24KEc"
30 30
31MIPSPKGSFX_VARIANT_tune-mips32r2-24kec-m16 = "mips32r2-24kec${MIPSPKGSFX_MIPS16E}" 31MIPSPKGSFX_VARIANT:tune-mips32r2-24kec-m16 = "mips32r2-24kec${MIPSPKGSFX_MIPS16E}"
32PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kec-m16 = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kec} mips32r2-24kec-m16-nf" 32PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kec-m16 = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kec} mips32r2-24kec-m16-nf"
33QEMU_EXTRAOPTIONS_mips32r2-24kec-m16-nf = " -cpu 24KEc" 33QEMU_EXTRAOPTIONS_mips32r2-24kec-m16-nf = " -cpu 24KEc"
34 34
35 35
36# little endian: kc, kc+dsp=kec, kc+dsp+mips16e=kec-m16 36# little endian: kc, kc+dsp=kec, kc+dsp+mips16e=kec-m16
37TUNE_FEATURES_tune-mips32r2el-24kc = "${TUNE_FEATURES_tune-mips32r2el-nf} 24kc" 37TUNE_FEATURES:tune-mips32r2el-24kc = "${TUNE_FEATURES:tune-mips32r2el-nf} 24kc"
38TUNE_FEATURES_tune-mips32r2el-24kec = "${TUNE_FEATURES_tune-mips32r2el-nf} 24kec" 38TUNE_FEATURES:tune-mips32r2el-24kec = "${TUNE_FEATURES:tune-mips32r2el-nf} 24kec"
39TUNE_FEATURES_tune-mips32r2el-24kec-m16 = "${TUNE_FEATURES_tune-mips32r2el-24kec} mips16e" 39TUNE_FEATURES:tune-mips32r2el-24kec-m16 = "${TUNE_FEATURES:tune-mips32r2el-24kec} mips16e"
40 40
41MIPSPKGSFX_VARIANT_tune-mips32r2el-24kc = "mips32r2el-24kc" 41MIPSPKGSFX_VARIANT:tune-mips32r2el-24kc = "mips32r2el-24kc"
42PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kc = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2el-nf} mips32r2el-24kc-nf" 42PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kc = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-nf} mips32r2el-24kc-nf"
43QEMU_EXTRAOPTIONS_mips32r2el-24kc-nf = " -cpu 24Kc" 43QEMU_EXTRAOPTIONS_mips32r2el-24kc-nf = " -cpu 24Kc"
44 44
45MIPSPKGSFX_VARIANT_tune-mips32r2el-24kec = "mips32r2el-24kec" 45MIPSPKGSFX_VARIANT:tune-mips32r2el-24kec = "mips32r2el-24kec"
46PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kec = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kc} mips32r2el-24kec-nf" 46PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kec = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kc} mips32r2el-24kec-nf"
47QEMU_EXTRAOPTIONS_mips32r2el-24kec-nf = " -cpu 24KEc" 47QEMU_EXTRAOPTIONS_mips32r2el-24kec-nf = " -cpu 24KEc"
48 48
49MIPSPKGSFX_VARIANT_tune-mips32r2el-24kec-m16 = "mips32r2el-24kec${MIPSPKGSFX_MIPS16E}" 49MIPSPKGSFX_VARIANT:tune-mips32r2el-24kec-m16 = "mips32r2el-24kec${MIPSPKGSFX_MIPS16E}"
50PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kec-m16 = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kec} mips32r2el-24kec-m16-nf" 50PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kec-m16 = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kec} mips32r2el-24kec-m16-nf"
51QEMU_EXTRAOPTIONS_mips32r2el-24kec-m16-nf = " -cpu 24KEc" 51QEMU_EXTRAOPTIONS_mips32r2el-24kec-m16-nf = " -cpu 24KEc"
diff --git a/meta/conf/machine/include/mips/tune-mips-74k.inc b/meta/conf/machine/include/mips/tune-mips-74k.inc
index 94afee34bd..e4927a1ce0 100644
--- a/meta/conf/machine/include/mips/tune-mips-74k.inc
+++ b/meta/conf/machine/include/mips/tune-mips-74k.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "mips32r2-74kc"
2 2
3MIPSPKGSFX_MIPS16E ??= "" 3MIPSPKGSFX_MIPS16E ??= ""
4 4
5require conf/machine/include/tune-mips32r2.inc 5require conf/machine/include/mips/tune-mips32r2.inc
6require conf/machine/include/mips/feature-mips-mips16e.inc 6require conf/machine/include/mips/feature-mips-mips16e.inc
7 7
8 8
@@ -13,25 +13,25 @@ AVAILTUNES += "mips32r2-74kc mips32r2-74kc-m16"
13AVAILTUNES += "mips32r2el-74kc mips32r2el-74kc-m16" 13AVAILTUNES += "mips32r2el-74kc mips32r2el-74kc-m16"
14 14
15# big endian: kc+dsp2=kc, kc+dsp2+mips16e=kc-m16 15# big endian: kc+dsp2=kc, kc+dsp2+mips16e=kc-m16
16TUNE_FEATURES_tune-mips32r2-74kc = "${TUNE_FEATURES_tune-mips32r2-nf} 74kc" 16TUNE_FEATURES:tune-mips32r2-74kc = "${TUNE_FEATURES:tune-mips32r2-nf} 74kc"
17TUNE_FEATURES_tune-mips32r2-74kc-m16 = "${TUNE_FEATURES_tune-mips32r2-74kc} mips16e" 17TUNE_FEATURES:tune-mips32r2-74kc-m16 = "${TUNE_FEATURES:tune-mips32r2-74kc} mips16e"
18 18
19MIPSPKGSFX_VARIANT_tune-mips32r2-74kc = "mips32r2-74kc" 19MIPSPKGSFX_VARIANT:tune-mips32r2-74kc = "mips32r2-74kc"
20PACKAGE_EXTRA_ARCHS_tune-mips32r2-74kc = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2-nf} mips32r2-74kc-nf" 20PACKAGE_EXTRA_ARCHS:tune-mips32r2-74kc = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-nf} mips32r2-74kc-nf"
21QEMU_EXTRAOPTIONS_mips32r2-74kc-nf = " -cpu 24Kc" 21QEMU_EXTRAOPTIONS_mips32r2-74kc-nf = " -cpu 24Kc"
22 22
23MIPSPKGSFX_VARIANT_tune-mips32r2-74kc-m16 = "mips32r2-74kc${MIPSPKGSFX_MIPS16E}" 23MIPSPKGSFX_VARIANT:tune-mips32r2-74kc-m16 = "mips32r2-74kc${MIPSPKGSFX_MIPS16E}"
24PACKAGE_EXTRA_ARCHS_tune-mips32r2-74kc-m16 = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2-74kc} mips32r2-74kc-m16-nf" 24PACKAGE_EXTRA_ARCHS:tune-mips32r2-74kc-m16 = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-74kc} mips32r2-74kc-m16-nf"
25QEMU_EXTRAOPTIONS_mips32r2-74kc-m16-nf = " -cpu 24KEc" 25QEMU_EXTRAOPTIONS_mips32r2-74kc-m16-nf = " -cpu 24KEc"
26 26
27# little endian: kc+dsp2=kc, kc+dsp2+mips16e=kc-m16 27# little endian: kc+dsp2=kc, kc+dsp2+mips16e=kc-m16
28TUNE_FEATURES_tune-mips32r2el-74kc = "${TUNE_FEATURES_tune-mips32r2el-nf} 74kc" 28TUNE_FEATURES:tune-mips32r2el-74kc = "${TUNE_FEATURES:tune-mips32r2el-nf} 74kc"
29TUNE_FEATURES_tune-mips32r2el-74kc-m16 = "${TUNE_FEATURES_tune-mips32r2el-74kc} mips16e" 29TUNE_FEATURES:tune-mips32r2el-74kc-m16 = "${TUNE_FEATURES:tune-mips32r2el-74kc} mips16e"
30 30
31MIPSPKGSFX_VARIANT_tune-mips32r2el-74kc = "mips32r2el-74kc" 31MIPSPKGSFX_VARIANT:tune-mips32r2el-74kc = "mips32r2el-74kc"
32PACKAGE_EXTRA_ARCHS_tune-mips32r2el-74kc = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2el-nf} mips32r2el-74kc-nf" 32PACKAGE_EXTRA_ARCHS:tune-mips32r2el-74kc = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-nf} mips32r2el-74kc-nf"
33QEMU_EXTRAOPTIONS_mips32r2el-74kc-nf = " -cpu 24Kc" 33QEMU_EXTRAOPTIONS_mips32r2el-74kc-nf = " -cpu 24Kc"
34 34
35MIPSPKGSFX_VARIANT_tune-mips32r2el-74kc-m16 = "mips32r2el-74kc${MIPSPKGSFX_MIPS16E}" 35MIPSPKGSFX_VARIANT:tune-mips32r2el-74kc-m16 = "mips32r2el-74kc${MIPSPKGSFX_MIPS16E}"
36PACKAGE_EXTRA_ARCHS_tune-mips32r2el-74kc-m16 = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2el-74kc} mips32r2el-74kc-m16-nf" 36PACKAGE_EXTRA_ARCHS:tune-mips32r2el-74kc-m16 = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-74kc} mips32r2el-74kc-m16-nf"
37QEMU_EXTRAOPTIONS_mips32r2el-74kc-m16-nf = " -cpu 24KEc" 37QEMU_EXTRAOPTIONS_mips32r2el-74kc-m16-nf = " -cpu 24KEc"
diff --git a/meta/conf/machine/include/mips/tune-mips32.inc b/meta/conf/machine/include/mips/tune-mips32.inc
new file mode 100644
index 0000000000..820087f59d
--- /dev/null
+++ b/meta/conf/machine/include/mips/tune-mips32.inc
@@ -0,0 +1,29 @@
1DEFAULTTUNE ?= "mips32"
2
3require conf/machine/include/mips/arch-mips.inc
4
5TUNEVALID[mips32] = "Enable mips32 specific processor optimizations"
6TUNECONFLICTS[mips32] = "n64 n32"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips32', ' -march=mips32', '', d)}"
8
9# Base Tunes (Hard Float)
10AVAILTUNES += "mips32 mips32el"
11
12TUNE_FEATURES:tune-mips32 = "${TUNE_FEATURES:tune-mips} mips32"
13MIPSPKGSFX_VARIANT:tune-mips32 = "mips32"
14PACKAGE_EXTRA_ARCHS:tune-mips32 = "mips mips32"
15
16TUNE_FEATURES:tune-mips32el = "${TUNE_FEATURES:tune-mipsel} mips32"
17MIPSPKGSFX_VARIANT:tune-mips32el = "mips32el"
18PACKAGE_EXTRA_ARCHS:tune-mips32el = "mipsel mips32el"
19
20# Soft Float
21AVAILTUNES += "mips32-nf mips32el-nf"
22
23TUNE_FEATURES:tune-mips32-nf = "${TUNE_FEATURES:tune-mips-nf} mips32"
24MIPSPKGSFX_VARIANT:tune-mips32-nf = "mips32"
25PACKAGE_EXTRA_ARCHS:tune-mips32-nf = "mips-nf mips32-nf"
26
27TUNE_FEATURES:tune-mips32el-nf = "${TUNE_FEATURES:tune-mipsel-nf} mips32"
28MIPSPKGSFX_VARIANT:tune-mips32el-nf = "mips32el"
29PACKAGE_EXTRA_ARCHS:tune-mips32el-nf = "mipsel-nf mips32el-nf"
diff --git a/meta/conf/machine/include/mips/tune-mips32r2.inc b/meta/conf/machine/include/mips/tune-mips32r2.inc
new file mode 100644
index 0000000000..c868e925e9
--- /dev/null
+++ b/meta/conf/machine/include/mips/tune-mips32r2.inc
@@ -0,0 +1,29 @@
1DEFAULTTUNE ?= "mips32r2"
2
3require conf/machine/include/mips/tune-mips32.inc
4
5TUNEVALID[mips32r2] = "Enable mips32r2 specific processor optimizations"
6TUNECONFLICTS[mips32r2] = "n64 n32"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips32r2', ' -march=mips32r2', '', d)}"
8
9# Base Tunes (Hard Float)
10AVAILTUNES += "mips32r2 mips32r2el"
11
12TUNE_FEATURES:tune-mips32r2 = "${TUNE_FEATURES:tune-mips} mips32r2"
13MIPSPKGSFX_VARIANT:tune-mips32r2 = "mips32r2"
14PACKAGE_EXTRA_ARCHS:tune-mips32r2 = "mips mips32 mips32r2"
15
16TUNE_FEATURES:tune-mips32r2el = "${TUNE_FEATURES:tune-mipsel} mips32r2"
17MIPSPKGSFX_VARIANT:tune-mips32r2el = "mips32r2el"
18PACKAGE_EXTRA_ARCHS:tune-mips32r2el = "mipsel mips32el mips32r2el"
19
20# Soft Float
21AVAILTUNES += "mips32r2-nf mips32r2el-nf"
22
23TUNE_FEATURES:tune-mips32r2-nf = "${TUNE_FEATURES:tune-mips-nf} mips32r2"
24MIPSPKGSFX_VARIANT:tune-mips32r2-nf = "mips32r2"
25PACKAGE_EXTRA_ARCHS:tune-mips32r2-nf = "mips-nf mips32-nf mips32r2-nf"
26
27TUNE_FEATURES:tune-mips32r2el-nf = "${TUNE_FEATURES:tune-mipsel-nf} mips32r2"
28MIPSPKGSFX_VARIANT:tune-mips32r2el-nf = "mips32r2el"
29PACKAGE_EXTRA_ARCHS:tune-mips32r2el-nf = "mipsel-nf mips32el-nf mips32r2el-nf"
diff --git a/meta/conf/machine/include/mips/tune-mips32r6.inc b/meta/conf/machine/include/mips/tune-mips32r6.inc
new file mode 100644
index 0000000000..9904cc0b11
--- /dev/null
+++ b/meta/conf/machine/include/mips/tune-mips32r6.inc
@@ -0,0 +1,29 @@
1DEFAULTTUNE ?= "mipsisa32r6el"
2
3require conf/machine/include/mips/arch-mips.inc
4
5TUNEVALID[mipsisa32r6] = "Enable mipsisa32r6 specific processor optimizations"
6TUNECONFLICTS[mipsisa32r6] = "n64 n32"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa32r6', ' -march=mips32r6', '', d)}"
8
9# Base Tunes (Hard Float)
10AVAILTUNES += "mipsisa32r6 mipsisa32r6el"
11
12TUNE_FEATURES:tune-mipsisa32r6 = "o32 bigendian mipsisa32r6 fpu-hard r6"
13MIPSPKGSFX_VARIANT:tune-mipsisa32r6 = "${TUNE_ARCH}"
14PACKAGE_EXTRA_ARCHS:tune-mipsisa32r6 = "mipsisa32r6"
15
16TUNE_FEATURES:tune-mipsisa32r6el = "o32 fpu-hard mipsisa32r6 r6"
17MIPSPKGSFX_VARIANT:tune-mipsisa32r6el = "${TUNE_ARCH}"
18PACKAGE_EXTRA_ARCHS:tune-mipsisa32r6el = "mipsisa32r6el"
19
20# Soft Float
21AVAILTUNES += "mipsisa32r6-nf mipsisa32r6el-nf"
22
23TUNE_FEATURES:tune-mipsisa32r6-nf = "o32 bigendian mipsisa32r6 r6"
24MIPSPKGSFX_VARIANT:tune-mipsisa32r6-nf = "${TUNE_ARCH}"
25PACKAGE_EXTRA_ARCHS:tune-mipsisa32r6-nf = "mipsisa32r6-nf"
26
27TUNE_FEATURES:tune-mipsisa32r6el-nf = "o32 mipsisa32r6 r6"
28MIPSPKGSFX_VARIANT:tune-mipsisa32r6el-nf = "${TUNE_ARCH}"
29PACKAGE_EXTRA_ARCHS:tune-mipsisa32r6el-nf = "mipsisa32r6el-nf"
diff --git a/meta/conf/machine/include/mips/tune-mips64.inc b/meta/conf/machine/include/mips/tune-mips64.inc
new file mode 100644
index 0000000000..a9080159fc
--- /dev/null
+++ b/meta/conf/machine/include/mips/tune-mips64.inc
@@ -0,0 +1,3 @@
1DEFAULTTUNE ?= "mips64"
2
3require conf/machine/include/mips/tune-mips32r2.inc
diff --git a/meta/conf/machine/include/mips/tune-mips64r2.inc b/meta/conf/machine/include/mips/tune-mips64r2.inc
new file mode 100644
index 0000000000..e9ca4201ff
--- /dev/null
+++ b/meta/conf/machine/include/mips/tune-mips64r2.inc
@@ -0,0 +1,96 @@
1DEFAULTTUNE ?= "mips64r2"
2
3require conf/machine/include/mips/tune-mips64.inc
4
5TUNEVALID[mips64r2] = "Enable mips64r2 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips64r2', ' -march=mips64r2', '', d)}"
7
8# Base tunes
9AVAILTUNES += "mips64r2 mips64r2el"
10
11TUNE_FEATURES:tune-mips64r2 = "${TUNE_FEATURES:tune-mips64} mips64r2"
12BASE_LIB:tune-mips64r2 = "lib64"
13MIPSPKGSFX_VARIANT:tune-mips64r2 = "mips64r2"
14PACKAGE_EXTRA_ARCHS:tune-mips64r2 = "mips64 mips64r2"
15QEMU_EXTRAOPTIONS_mips64r2 = " -cpu MIPS64R2-generic"
16
17TUNE_FEATURES:tune-mips64r2el = "${TUNE_FEATURES:tune-mips64el} mips64r2"
18BASE_LIB:tune-mips64r2el = "lib64"
19MIPSPKGSFX_VARIANT:tune-mips64r2el = "mips64r2el"
20PACKAGE_EXTRA_ARCHS:tune-mips64r2el = "mips64el mips64r2el"
21QEMU_EXTRAOPTIONS_mips64r2el = " -cpu MIPS64R2-generic"
22
23# MIPS 64r2 Soft Float
24AVAILTUNES += "mips64r2-nf mips64r2el-nf"
25
26TUNE_FEATURES:tune-mips64r2-nf = "${TUNE_FEATURES:tune-mips64-nf} mips64r2"
27BASE_LIB:tune-mips64r2-nf = "lib64"
28MIPSPKGSFX_VARIANT:tune-mips64r2-nf = "${TUNE_ARCH}"
29PACKAGE_EXTRA_ARCHS:tune-mips64r2-nf = "mips64-nf mips64r2-nf"
30QEMU_EXTRAOPTIONS_mips64r2-nf = " -cpu MIPS64R2-generic"
31
32TUNE_FEATURES:tune-mips64r2el-nf = "${TUNE_FEATURES:tune-mips64el-nf} mips64r2"
33BASE_LIB:tune-mips64r2el-nf = "lib64"
34MIPSPKGSFX_VARIANT:tune-mips64r2el-nf = "${TUNE_ARCH}"
35PACKAGE_EXTRA_ARCHS:tune-mips64r2el-nf = "mips64el-nf mips64r2el-nf"
36QEMU_EXTRAOPTIONS_mips64r2el-nf = " -cpu MIPS64R2-generic"
37
38# MIPS 64r2 n32
39AVAILTUNES += "mips64r2-n32 mips64r2el-n32"
40
41TUNE_FEATURES:tune-mips64r2-n32 = "${TUNE_FEATURES:tune-mips64-n32} mips64r2"
42BASE_LIB:tune-mips64r2-n32 = "lib32"
43MIPSPKGSFX_VARIANT:tune-mips64r2-n32 = "${TUNE_ARCH}"
44PACKAGE_EXTRA_ARCHS:tune-mips64r2-n32 = "mips64-n32 mips64r2-n32"
45QEMU_EXTRAOPTIONS_mips64r2-n32 = " -cpu MIPS64R2-generic"
46
47TUNE_FEATURES:tune-mips64r2el-n32 = "${TUNE_FEATURES:tune-mips64el-n32} mips64r2"
48BASE_LIB:tune-mips64r2el-n32 = "lib32"
49MIPSPKGSFX_VARIANT:tune-mips64r2el-n32 = "${TUNE_ARCH}"
50PACKAGE_EXTRA_ARCHS:tune-mips64r2el-n32 = "mips64el-n32 mips64r2el-n32"
51QEMU_EXTRAOPTIONS_mips64r2el-n32 = " -cpu MIPS64R2-generic"
52
53# MIPS 64r2 n32 and Soft Float
54AVAILTUNES += "mips64r2-nf-n32 mips64r2el-nf-n32"
55
56TUNE_FEATURES:tune-mips64r2-nf-n32 = "${TUNE_FEATURES:tune-mips64-nf-n32} mips64r2"
57BASE_LIB:tune-mips64r2-nf-n32 = "lib32"
58MIPSPKGSFX_VARIANT:tune-mips64r2-nf-n32 = "${TUNE_ARCH}"
59PACKAGE_EXTRA_ARCHS:tune-mips64r2-nf-n32 = "mips64-nf-n32 mips64r2-nf-n32"
60QEMU_EXTRAOPTIONS_mips64r2-nf-n32 = " -cpu MIPS64R2-generic"
61
62TUNE_FEATURES:tune-mips64r2el-nf-n32 = "${TUNE_FEATURES:tune-mips64el-nf-n32} mips64r2"
63BASE_LIB:tune-mips64r2el-nf-n32 = "lib32"
64MIPSPKGSFX_VARIANT:tune-mips64r2el-nf-n32 = "${TUNE_ARCH}"
65PACKAGE_EXTRA_ARCHS:tune-mips64r2el-nf-n32 = "mips64el-nf-n32 mips64r2el-nf-n32"
66QEMU_EXTRAOPTIONS_mips64r2el-nf-32 = " -cpu MIPS64R2-generic"
67
68# MIPS 64r2 o32
69AVAILTUNES += "mips64r2-o32 mips64r2el-o32"
70
71TUNE_FEATURES:tune-mips64r2-o32 = "${TUNE_FEATURES:tune-mips64-o32} mips64r2"
72BASE_LIB:tune-mips64r2-o32 = "lib"
73MIPSPKGSFX_VARIANT:tune-mips64r2-o32 = "${TUNE_ARCH}"
74PACKAGE_EXTRA_ARCHS:tune-mips64r2-o32 = "mips mips64-o32 mips64r2-o32"
75QEMU_EXTRAOPTIONS_mips64r2-o32 = " -cpu MIPS64R2-generic"
76
77TUNE_FEATURES:tune-mips64r2el-o32 = "${TUNE_FEATURES:tune-mips64el-o32} mips64r2"
78BASE_LIB:tune-mips64r2el-o32 = "lib"
79MIPSPKGSFX_VARIANT:tune-mips64r2el-o32 = "${TUNE_ARCH}"
80PACKAGE_EXTRA_ARCHS:tune-mips64r2el-o32 = "mipsel mips64el-o32 mips64r2el-o32"
81QEMU_EXTRAOPTIONS_mips64r2el-o32 = " -cpu MIPS64R2-generic"
82
83# MIPS 64r2 o32 and Soft Float
84AVAILTUNES += "mips64r2-nf-o32 mips64r2el-nf-o32"
85
86TUNE_FEATURES:tune-mips64r2-nf-o32 = "${TUNE_FEATURES:tune-mips64-nf-o32} mips64r2"
87BASE_LIB:tune-mips64r2-nf-o32 = "lib"
88MIPSPKGSFX_VARIANT:tune-mips64r2-nf-o32 = "${TUNE_ARCH}"
89PACKAGE_EXTRA_ARCHS:tune-mips64r2-nf-o32 = "mips-nf mips64r2-nf-o32"
90QEMU_EXTRAOPTIONS_mips64r2-nf-o32 = " -cpu MIPS64R2-generic"
91
92TUNE_FEATURES:tune-mips64r2el-nf-o32 = "${TUNE_FEATURES:tune-mips64el-nf-o32} mips64r2"
93BASE_LIB:tune-mips64r2el-nf-o32 = "lib"
94MIPSPKGSFX_VARIANT:tune-mips64r2el-nf-o32 = "${TUNE_ARCH}"
95PACKAGE_EXTRA_ARCHS:tune-mips64r2el-nf-o32 = "mipsel-nf mips64r2el-nf-o32"
96QEMU_EXTRAOPTIONS_mips64r2el-nf-o32 = " -cpu MIPS64R2-generic"
diff --git a/meta/conf/machine/include/mips/tune-mips64r6.inc b/meta/conf/machine/include/mips/tune-mips64r6.inc
new file mode 100644
index 0000000000..b4a7e9ef1b
--- /dev/null
+++ b/meta/conf/machine/include/mips/tune-mips64r6.inc
@@ -0,0 +1,58 @@
1DEFAULTTUNE ?= "mipsisa64r6el"
2
3require conf/machine/include/mips/arch-mips.inc
4
5TUNEVALID[mipsisa64r6] = "Enable mipsisa64r6 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', ' -march=mips64r6', '', d)}"
7
8# Base Tunes
9AVAILTUNES += "mipsisa64r6 mipsisa64r6el"
10
11TUNE_FEATURES:tune-mipsisa64r6 = "bigendian fpu-hard n64 mipsisa64r6 r6"
12MIPSPKGSFX_VARIANT:tune-mipsisa64r6 = "${TUNE_ARCH}"
13BASE_LIB:tune-mipsisa64r6 = "lib64"
14PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6 = "mipsisa64r6"
15
16TUNE_FEATURES:tune-mipsisa64r6el = "fpu-hard r6 n64 mipsisa64r6"
17MIPSPKGSFX_VARIANT:tune-mipsisa64r6el = "${TUNE_ARCH}"
18BASE_LIB:tune-mipsisa64r6el = "lib64"
19PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6el = "mipsisa64r6el"
20
21# Soft Float
22AVAILTUNES += "mipsisa64r6-nf mipsisa64r6el-nf"
23
24TUNE_FEATURES:tune-mipsisa64r6-nf = "bigendian r6 n64 mipsisa64r6"
25MIPSPKGSFX_VARIANT:tune-mipsisa64r6-nf = "${TUNE_ARCH}"
26BASE_LIB:tune-mipsisa64r6-nf = "lib64"
27PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6-nf = "mipsisa64r6-nf"
28
29TUNE_FEATURES:tune-mipsisa64r6el-nf = "r6 n64 mipsisa64r6"
30MIPSPKGSFX_VARIANT:tune-mipsisa64r6el-nf = "${TUNE_ARCH}"
31BASE_LIB:tune-mipsisa64r6el-nf = "lib64"
32PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6el-nf = "mipsisa64r6el-nf"
33
34# MIPS 64r6 n32
35AVAILTUNES += "mipsisa64r6-n32 mipsisa64r6el-n32"
36
37TUNE_FEATURES:tune-mipsisa64r6-n32 = "bigendian fpu-hard r6 n32 mipsisa64r6"
38BASE_LIB:tune-mipsisa64r6-n32 = "lib32"
39MIPSPKGSFX_VARIANT:tune-mipsisa64r6-n32 = "${TUNE_ARCH}"
40PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6-n32 = "mipsisa64r6-n32"
41
42TUNE_FEATURES:tune-mipsisa64r6el-n32 = "fpu-hard r6 n32 mipsisa64r6"
43BASE_LIB:tune-mipsisa64r6el-n32 = "lib32"
44MIPSPKGSFX_VARIANT:tune-mipsisa64r6el-n32 = "${TUNE_ARCH}"
45PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6el-n32 = "mipsisa64r6el-n32"
46
47# MIPS 64r6 n32 and Soft Float
48AVAILTUNES += "mipsisa64r6-nf-n32 mipsisa64r6el-nf-n32"
49
50TUNE_FEATURES:tune-mipsisa64r6-nf-n32 = "bigendian r6 n32 mipsisa64r6"
51BASE_LIB:tune-mipsisa64r6-nf-n32 = "lib32"
52MIPSPKGSFX_VARIANT:tune-mipsisa64r6-nf-n32 = "${TUNE_ARCH}"
53PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6-nf-n32 = "mipsisa64r6-nf-n32"
54
55TUNE_FEATURES:tune-mipsisa64r6el-nf-n32 = "r6 n32 mipsisa64r6"
56BASE_LIB:tune-mipsisa64r6el-nf-n32 = "lib32"
57MIPSPKGSFX_VARIANT:tune-mipsisa64r6el-nf-n32 = "${TUNE_ARCH}"
58PACKAGE_EXTRA_ARCHS:tune-mipsisa64r6el-nf-n32 = "mipsisa64r6el-nf-n32"
diff --git a/meta/conf/machine/include/mips/tune-octeon.inc b/meta/conf/machine/include/mips/tune-octeon.inc
new file mode 100644
index 0000000000..d4670e3259
--- /dev/null
+++ b/meta/conf/machine/include/mips/tune-octeon.inc
@@ -0,0 +1,32 @@
1DEFAULTTUNE ?="octeon2"
2
3require conf/machine/include/mips/tune-mips64.inc
4
5AVAILTUNES += "octeon2 octeon2_64 octeon3 octeon3_64"
6
7TUNEVALID[octeon2] = "Enable optimization related to octeon2 support"
8TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'octeon2', ' -march=octeon2 ', '',d)}"
9
10TUNE_FEATURES:tune-octeon2 = "${TUNE_FEATURES:tune-mips64-n32} octeon2"
11BASE_LIB:tune-octeon2 = "lib32"
12MIPSPKGSFX_VARIANT:tune-octeon2 = "octeon2"
13PACKAGE_EXTRA_ARCHS:tune-octeon2 = "mips64-n32 octeon2-n32"
14
15TUNE_FEATURES:tune-octeon2_64 = "${TUNE_FEATURES:tune-mips64} octeon2"
16BASE_LIB:tune-octeon2_64 = "lib64"
17MIPSPKGSFX_VARIANT:tune-octeon2_64 = "octeon2_64"
18PACKAGE_EXTRA_ARCHS:tune-octeon2_64 = "mips64 octeon2_64"
19
20
21TUNEVALID[octeon3] = "Enable optimization related to octeon3 support"
22TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'octeon3', ' -march=octeon3 ', '',d)}"
23
24TUNE_FEATURES:tune-octeon3 = "${TUNE_FEATURES:tune-mips64-n32} octeon3"
25BASE_LIB:tune-octeon3 = "lib32"
26MIPSPKGSFX_VARIANT:tune-octeon3 = "octeon3"
27PACKAGE_EXTRA_ARCHS:tune-octeon3 = "mips64-n32 octeon3-n32"
28
29TUNE_FEATURES:tune-octeon3_64 = "${TUNE_FEATURES:tune-mips64} octeon3"
30BASE_LIB:tune-octeon3_64 = "lib64"
31MIPSPKGSFX_VARIANT:tune-octeon3_64 = "octeon3_64"
32PACKAGE_EXTRA_ARCHS:tune-octeon3_64 = "mips64 octeon3_64"
diff --git a/meta/conf/machine/include/powerpc/README b/meta/conf/machine/include/powerpc/README
index e87fb5082c..e813d21818 100644
--- a/meta/conf/machine/include/powerpc/README
+++ b/meta/conf/machine/include/powerpc/README
@@ -12,6 +12,6 @@ May of the PowerPC package archictures are based on legacy Linux names.
12However, a general naming scheme should be similar to: ppc[64][<family>][-nf]. 12However, a general naming scheme should be similar to: ppc[64][<family>][-nf].
13(Note: the default package architectures are "powerpc" and "powerpc64".) 13(Note: the default package architectures are "powerpc" and "powerpc64".)
14 14
15TUNE_PKGARCH is defined as TUNE_PKGARCH_tune-${DEFAULTTUNE}. All 15TUNE_PKGARCH is defined as TUNE_PKGARCH:tune-${DEFAULTTUNE}. All
16PowerPC tunings are required to define TUNE_PKGARCH_tune-<tune>. 16PowerPC tunings are required to define TUNE_PKGARCH:tune-<tune>.
17 17
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc.inc b/meta/conf/machine/include/powerpc/arch-powerpc.inc
index ef18e9ac8b..be687e2df7 100644
--- a/meta/conf/machine/include/powerpc/arch-powerpc.inc
+++ b/meta/conf/machine/include/powerpc/arch-powerpc.inc
@@ -5,7 +5,7 @@
5 5
6DEFAULTTUNE ?= "powerpc" 6DEFAULTTUNE ?= "powerpc"
7 7
8TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" 8TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
9ABIEXTENSION ?= "" 9ABIEXTENSION ?= ""
10 10
11# Endian 11# Endian
@@ -30,22 +30,22 @@ TUNEVALID[altivec] = "Altivec"
30# Basic tune definitions 30# Basic tune definitions
31AVAILTUNES += "powerpc powerpc-nf powerpcle powerpcle-nf" 31AVAILTUNES += "powerpc powerpc-nf powerpcle powerpcle-nf"
32 32
33TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft bigendian" 33TUNE_FEATURES:tune-powerpc-nf = "m32 fpu-soft bigendian"
34BASE_LIB_tune-powerpc-nf = "lib" 34BASE_LIB:tune-powerpc-nf = "lib"
35TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf" 35TUNE_PKGARCH:tune-powerpc-nf = "powerpc-nf"
36PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf" 36PACKAGE_EXTRA_ARCHS:tune-powerpc-nf = "powerpc-nf"
37 37
38TUNE_FEATURES_tune-powerpc = "m32 fpu-hard bigendian" 38TUNE_FEATURES:tune-powerpc = "m32 fpu-hard bigendian"
39BASE_LIB_tune-powerpc = "lib" 39BASE_LIB:tune-powerpc = "lib"
40TUNE_PKGARCH_tune-powerpc = "powerpc" 40TUNE_PKGARCH:tune-powerpc = "powerpc"
41PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc" 41PACKAGE_EXTRA_ARCHS:tune-powerpc = "powerpc"
42 42
43TUNE_FEATURES_tune-powerpcle-nf = "m32 fpu-soft" 43TUNE_FEATURES:tune-powerpcle-nf = "m32 fpu-soft"
44BASE_LIB_tune-powerpcle-nf = "lib" 44BASE_LIB:tune-powerpcle-nf = "lib"
45TUNE_PKGARCH_tune-powerpcle-nf = "powerpcle-nf" 45TUNE_PKGARCH:tune-powerpcle-nf = "powerpcle-nf"
46PACKAGE_EXTRA_ARCHS_tune-powerpcle-nf = "powerpcle-nf" 46PACKAGE_EXTRA_ARCHS:tune-powerpcle-nf = "powerpcle-nf"
47 47
48TUNE_FEATURES_tune-powerpcle = "m32 fpu-hard" 48TUNE_FEATURES:tune-powerpcle = "m32 fpu-hard"
49BASE_LIB_tune-powerpcle = "lib" 49BASE_LIB:tune-powerpcle = "lib"
50TUNE_PKGARCH_tune-powerpcle = "powerpcle" 50TUNE_PKGARCH:tune-powerpcle = "powerpcle"
51PACKAGE_EXTRA_ARCHS_tune-powerpcle = "powerpcle" 51PACKAGE_EXTRA_ARCHS:tune-powerpcle = "powerpcle"
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/meta/conf/machine/include/powerpc/arch-powerpc64.inc
index cf5c3ef8e6..2533151869 100644
--- a/meta/conf/machine/include/powerpc/arch-powerpc64.inc
+++ b/meta/conf/machine/include/powerpc/arch-powerpc64.inc
@@ -10,17 +10,14 @@ TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', [ 'm64' ], 'powerpc64${ENDIA
10# musl only supports elfv2 ABI for ppc64 10# musl only supports elfv2 ABI for ppc64
11TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').split(':')]}" 11TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').split(':')]}"
12 12
13# user mode qemu doesn't support ppc64
14MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}"
15
16AVAILTUNES += "powerpc64 powerpc64le" 13AVAILTUNES += "powerpc64 powerpc64le"
17 14
18TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard bigendian" 15TUNE_FEATURES:tune-powerpc64 = "m64 fpu-hard bigendian"
19BASE_LIB_tune-powerpc64 = "lib64" 16BASE_LIB:tune-powerpc64 = "lib64"
20TUNE_PKGARCH_tune-powerpc64 = "powerpc64" 17TUNE_PKGARCH:tune-powerpc64 = "powerpc64"
21PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64" 18PACKAGE_EXTRA_ARCHS:tune-powerpc64 = "powerpc64"
22 19
23TUNE_FEATURES_tune-powerpc64le = "m64 fpu-hard" 20TUNE_FEATURES:tune-powerpc64le = "m64 fpu-hard"
24BASE_LIB_tune-powerpc64le = "lib64" 21BASE_LIB:tune-powerpc64le = "lib64"
25TUNE_PKGARCH_tune-powerpc64le = "powerpc64le" 22TUNE_PKGARCH:tune-powerpc64le = "powerpc64le"
26PACKAGE_EXTRA_ARCHS_tune-powerpc64le = "powerpc64le" 23PACKAGE_EXTRA_ARCHS:tune-powerpc64le = "powerpc64le"
diff --git a/meta/conf/machine/include/powerpc/tune-power5.inc b/meta/conf/machine/include/powerpc/tune-power5.inc
new file mode 100644
index 0000000000..e70e401217
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/tune-power5.inc
@@ -0,0 +1,24 @@
1DEFAULTTUNE ?= "ppcp5"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[power5] = "Enable IBM Power5 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power5', ' -mcpu=power5', '', d)}"
7
8AVAILTUNES += "ppcp5 ppc64p5"
9TUNE_FEATURES:tune-ppcp5 = "m32 fpu-hard power5 altivec bigendian"
10BASE_LIB:tune-ppcp5 = "lib"
11TUNE_PKGARCH:tune-ppcp5 = "ppcp5"
12PACKAGE_EXTRA_ARCHS:tune-ppcp5 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp5"
13
14TUNE_FEATURES:tune-ppc64p5 = "m64 fpu-hard power5 altivec bigendian"
15BASE_LIB:tune-ppc64p5 = "lib64"
16TUNE_PKGARCH:tune-ppc64p5 = "ppc64p5"
17PACKAGE_EXTRA_ARCHS:tune-ppc64p5 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p5"
18
19# glibc configure options to get power5 specific library
20GLIBC_EXTRA_OECONF:powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power5', '--with-cpu=power5', '', d)}"
21GLIBC_EXTRA_OECONF:powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power5', '--with-cpu=power5', '', d)}"
22
23# QEMU usermode fails with invalid instruction error
24MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'power5', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/powerpc/tune-power6.inc b/meta/conf/machine/include/powerpc/tune-power6.inc
new file mode 100644
index 0000000000..eaf89515ca
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/tune-power6.inc
@@ -0,0 +1,24 @@
1DEFAULTTUNE ?= "ppcp6"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[power6] = "Enable IBM Power6 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power6', ' -mcpu=power6', '', d)}"
7
8AVAILTUNES += "ppcp6 ppc64p6"
9TUNE_FEATURES:tune-ppcp6 = "m32 fpu-hard power6 altivec bigendian"
10BASE_LIB:tune-ppcp6 = "lib"
11TUNE_PKGARCH:tune-ppcp6 = "ppcp6"
12PACKAGE_EXTRA_ARCHS:tune-ppcp6 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp6"
13
14TUNE_FEATURES:tune-ppc64p6 = "m64 fpu-hard power6 altivec bigendian"
15BASE_LIB:tune-ppc64p6 = "lib64"
16TUNE_PKGARCH:tune-ppc64p6 = "ppc64p6"
17PACKAGE_EXTRA_ARCHS:tune-ppc64p6 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p6"
18
19# glibc configure options to get power6 specific library
20GLIBC_EXTRA_OECONF:powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power6', '--with-cpu=power6', '', d)}"
21GLIBC_EXTRA_OECONF:powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power6', '--with-cpu=power6', '', d)}"
22
23# QEMU usermode fails with invalid instruction error
24MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'power6', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/powerpc/tune-power7.inc b/meta/conf/machine/include/powerpc/tune-power7.inc
new file mode 100644
index 0000000000..4531ddd85f
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/tune-power7.inc
@@ -0,0 +1,24 @@
1DEFAULTTUNE ?= "ppcp7"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[power7] = "Enable IBM Power7 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power7', ' -mcpu=power7', '', d)}"
7
8AVAILTUNES += "ppcp7 ppc64p7"
9TUNE_FEATURES:tune-ppcp7 = "m32 fpu-hard power7 altivec bigendian"
10BASE_LIB:tune-ppcp7 = "lib"
11TUNE_PKGARCH:tune-ppcp7 = "ppcp7"
12PACKAGE_EXTRA_ARCHS:tune-ppcp7 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp7"
13
14TUNE_FEATURES:tune-ppc64p7 = "m64 fpu-hard power7 altivec bigendian"
15BASE_LIB:tune-ppc64p7 = "lib64"
16TUNE_PKGARCH:tune-ppc64p7 = "ppc64p7"
17PACKAGE_EXTRA_ARCHS:tune-ppc64p7 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p7"
18
19# glibc configure options to get power7 specific library
20GLIBC_EXTRA_OECONF:powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power7', '--with-cpu=power7', '', d)}"
21GLIBC_EXTRA_OECONF:powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power7', '--with-cpu=power7', '', d)}"
22
23# QEMU usermode fails with invalid instruction error
24MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'power7', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/powerpc/tune-power8.inc b/meta/conf/machine/include/powerpc/tune-power8.inc
new file mode 100644
index 0000000000..ee10f2428f
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/tune-power8.inc
@@ -0,0 +1,31 @@
1DEFAULTTUNE ?= "ppc64p8le"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[power8] = "Enable IBM Power8 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power8', ' -mcpu=power8', '', d)}"
7
8AVAILTUNES += "ppcp8 ppc64p8 ppcp8le ppc64p8le"
9
10TUNE_FEATURES:tune-ppcp8 = "m32 fpu-hard power8 altivec bigendian"
11BASE_LIB:tune-ppcp8 = "lib"
12TUNE_PKGARCH:tune-ppcp8 = "ppcp8"
13PACKAGE_EXTRA_ARCHS:tune-ppcp8 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp8"
14
15TUNE_FEATURES:tune-ppc64p8 = "m64 fpu-hard power8 altivec bigendian"
16BASE_LIB:tune-ppc64p8 = "lib64"
17TUNE_PKGARCH:tune-ppc64p8 = "ppc64p8"
18PACKAGE_EXTRA_ARCHS:tune-ppc64p8 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p8"
19
20TUNE_FEATURES:tune-ppcp8le = "m32 fpu-hard power8 altivec"
21BASE_LIB:tune-ppcp8le = "lib"
22TUNE_PKGARCH:tune-ppcp8le = "ppcp8le"
23PACKAGE_EXTRA_ARCHS:tune-ppcp8le = "${PACKAGE_EXTRA_ARCHS:tune-powerpcle} ppcp8le"
24
25TUNE_FEATURES:tune-ppc64p8le = "m64 fpu-hard power8 altivec"
26BASE_LIB:tune-ppc64p8le = "lib64"
27TUNE_PKGARCH:tune-ppc64p8le = "ppc64p8le"
28PACKAGE_EXTRA_ARCHS:tune-ppc64p8le = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64le} ppc64p8le"
29
30# glibc configure options to get power8 specific library
31GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'power8', '--with-cpu=power8', '', d)}"
diff --git a/meta/conf/machine/include/powerpc/tune-power9.inc b/meta/conf/machine/include/powerpc/tune-power9.inc
new file mode 100644
index 0000000000..6744731f8e
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/tune-power9.inc
@@ -0,0 +1,31 @@
1DEFAULTTUNE ?= "ppc64p9le"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[power9] = "Enable IBM Power9 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power9', ' -mcpu=power9', '', d)}"
7
8AVAILTUNES += "ppcp9 ppc64p9 ppcp9le ppc64p9le"
9
10TUNE_FEATURES:tune-ppcp9 = "m32 fpu-hard power9 altivec bigendian"
11BASE_LIB:tune-ppcp9 = "lib"
12TUNE_PKGARCH:tune-ppcp9 = "ppcp9"
13PACKAGE_EXTRA_ARCHS:tune-ppcp9 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppcp9"
14
15TUNE_FEATURES:tune-ppc64p9 = "m64 fpu-hard power9 altivec bigendian"
16BASE_LIB:tune-ppc64p9 = "lib64"
17TUNE_PKGARCH:tune-ppc64p9 = "ppc64p9"
18PACKAGE_EXTRA_ARCHS:tune-ppc64p9 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64p9"
19
20TUNE_FEATURES:tune-ppcp9le = "m32 fpu-hard power9 altivec"
21BASE_LIB:tune-ppcp9le = "lib"
22TUNE_PKGARCH:tune-ppcp9le = "ppcp9le"
23PACKAGE_EXTRA_ARCHS:tune-ppcp9le = "${PACKAGE_EXTRA_ARCHS:tune-powerpcle} ppcp9le"
24
25TUNE_FEATURES:tune-ppc64p9le = "m64 fpu-hard power9 altivec"
26BASE_LIB:tune-ppc64p9le = "lib64"
27TUNE_PKGARCH:tune-ppc64p9le = "ppc64p9le"
28PACKAGE_EXTRA_ARCHS:tune-ppc64p9le = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64le} ppc64p9le"
29
30# glibc configure options to get power9 specific library
31GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'power9', '--with-cpu=power9', '', d)}"
diff --git a/meta/conf/machine/include/tune-ppc476.inc b/meta/conf/machine/include/powerpc/tune-ppc476.inc
index 31eecc435c..54152cb941 100644
--- a/meta/conf/machine/include/tune-ppc476.inc
+++ b/meta/conf/machine/include/powerpc/tune-ppc476.inc
@@ -6,9 +6,9 @@ TUNEVALID[ppc476] = "Enable ppc476 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc476', ' -mcpu=476', '', d)}" 6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc476', ' -mcpu=476', '', d)}"
7 7
8AVAILTUNES += "ppc476" 8AVAILTUNES += "ppc476"
9TUNE_FEATURES_tune-ppc476 = "m32 fpu-hard ppc476 bigendian" 9TUNE_FEATURES:tune-ppc476 = "m32 fpu-hard ppc476 bigendian"
10TUNE_PKGARCH_tune-ppc476 = "ppc476" 10TUNE_PKGARCH:tune-ppc476 = "ppc476"
11PACKAGE_EXTRA_ARCHS_tune-ppc476 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc476" 11PACKAGE_EXTRA_ARCHS:tune-ppc476 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppc476"
12 12
13# glibc configure options to get 476 specific library (for sqrt) 13# glibc configure options to get 476 specific library (for sqrt)
14GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'ppc476', '-with-cpu=476', '', d)}" 14GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'ppc476', '-with-cpu=476', '', d)}"
diff --git a/meta/conf/machine/include/powerpc/tune-ppc603e.inc b/meta/conf/machine/include/powerpc/tune-ppc603e.inc
new file mode 100644
index 0000000000..28680bdb3c
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/tune-ppc603e.inc
@@ -0,0 +1,11 @@
1DEFAULTTUNE ?= "ppc603e"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc603e', ' -mcpu=603e', '', d)}"
7
8AVAILTUNES += "ppc603e"
9TUNE_FEATURES:tune-ppc603e = "m32 fpu-hard ppc603e bigendian"
10TUNE_PKGARCH:tune-ppc603e = "ppc603e"
11PACKAGE_EXTRA_ARCHS:tune-ppc603e = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppc603e"
diff --git a/meta/conf/machine/include/powerpc/tune-ppc7400.inc b/meta/conf/machine/include/powerpc/tune-ppc7400.inc
new file mode 100644
index 0000000000..49b94f5ee1
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/tune-ppc7400.inc
@@ -0,0 +1,11 @@
1DEFAULTTUNE ?= "ppc7400"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppc7400] = "Enable ppc7400 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc7400', ' -mcpu=7400 -mno-spe', '', d)}"
7
8AVAILTUNES += "ppc7400"
9TUNE_FEATURES:tune-ppc7400 = "m32 fpu-hard ppc7400 altivec bigendian"
10TUNE_PKGARCH:tune-ppc7400 = "ppc7400"
11PACKAGE_EXTRA_ARCHS:tune-ppc7400 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppc7400"
diff --git a/meta/conf/machine/include/tune-ppce300c2.inc b/meta/conf/machine/include/powerpc/tune-ppce300c2.inc
index 6adeb4bdec..90171c76d5 100644
--- a/meta/conf/machine/include/tune-ppce300c2.inc
+++ b/meta/conf/machine/include/powerpc/tune-ppce300c2.inc
@@ -6,6 +6,6 @@ TUNEVALID[ppce300c2] = "Enable ppce300c2 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c2', ' -mcpu=e300c2', '', d)}" 6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c2', ' -mcpu=e300c2', '', d)}"
7 7
8AVAILTUNES += "ppce300c2" 8AVAILTUNES += "ppce300c2"
9TUNE_FEATURES_tune-ppce300c2 = "m32 fpu-soft ppce300c2 bigendian" 9TUNE_FEATURES:tune-ppce300c2 = "m32 fpu-soft ppce300c2 bigendian"
10TUNE_PKGARCH_tune-ppce300c2 = "ppce300c2" 10TUNE_PKGARCH:tune-ppce300c2 = "ppce300c2"
11PACKAGE_EXTRA_ARCHS_tune-ppce300c2 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppce300c2" 11PACKAGE_EXTRA_ARCHS:tune-ppce300c2 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc-nf} ppce300c2"
diff --git a/meta/conf/machine/include/tune-ppce300c3.inc b/meta/conf/machine/include/powerpc/tune-ppce300c3.inc
index a3d836c50c..31aff51af3 100644
--- a/meta/conf/machine/include/tune-ppce300c3.inc
+++ b/meta/conf/machine/include/powerpc/tune-ppce300c3.inc
@@ -6,18 +6,15 @@ AVAILTUNES += "ppce300c3 ppce300c3-nf"
6 6
7# hard-float 7# hard-float
8TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations" 8TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations"
9TUNE_FEATURES_tune-ppce300c3 = "${TUNE_FEATURES_tune-powerpc} ppce300c3" 9TUNE_FEATURES:tune-ppce300c3 = "${TUNE_FEATURES:tune-powerpc} ppce300c3"
10TUNE_PKGARCH_tune-ppce300c3 = "ppce300c3" 10TUNE_PKGARCH:tune-ppce300c3 = "ppce300c3"
11PACKAGE_EXTRA_ARCHS_tune-ppce300c3 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce300c3" 11PACKAGE_EXTRA_ARCHS:tune-ppce300c3 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce300c3"
12TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c3', ' -mcpu=e300c3', '', d)}" 12TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c3', ' -mcpu=e300c3', '', d)}"
13 13
14# glibc config options to make use of e300c3 (603e) specific sqrt/sqrtf routines
15GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c3', '--with-cpu=e300c3', '', d)}"
16
17# soft-float 14# soft-float
18TUNEVALID[ppce300c3-nf] = "Enable ppce300c3 specific processor optimizations (no fpu)" 15TUNEVALID[ppce300c3-nf] = "Enable ppce300c3 specific processor optimizations (no fpu)"
19TUNE_FEATURES_tune-ppce300c3-nf = "${TUNE_FEATURES_tune-powerpc-nf} ppce300c3-nf" 16TUNE_FEATURES:tune-ppce300c3-nf = "${TUNE_FEATURES:tune-powerpc-nf} ppce300c3-nf"
20TUNE_PKGARCH_tune-ppce300c3-nf = "ppce300c3-nf" 17TUNE_PKGARCH:tune-ppce300c3-nf = "ppce300c3-nf"
21PACKAGE_EXTRA_ARCHS_tune-ppce300c3-nf = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppce300c3-nf" 18PACKAGE_EXTRA_ARCHS:tune-ppce300c3-nf = "${PACKAGE_EXTRA_ARCHS:tune-powerpc-nf} ppce300c3-nf"
22TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c3-nf', ' -mcpu=e300c3', '', d)}" 19TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c3-nf', ' -mcpu=e300c3', '', d)}"
23 20
diff --git a/meta/conf/machine/include/tune-ppce500.inc b/meta/conf/machine/include/powerpc/tune-ppce500.inc
index abf81b90c4..aceab321b7 100644
--- a/meta/conf/machine/include/tune-ppce500.inc
+++ b/meta/conf/machine/include/powerpc/tune-ppce500.inc
@@ -15,6 +15,6 @@ SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}"
15ABIEXTENSION .= "${SPEABIEXTENSION}" 15ABIEXTENSION .= "${SPEABIEXTENSION}"
16 16
17AVAILTUNES += "ppce500" 17AVAILTUNES += "ppce500"
18TUNE_FEATURES_tune-ppce500 = "m32 spe ppce500 bigendian" 18TUNE_FEATURES:tune-ppce500 = "m32 spe ppce500 bigendian"
19TUNE_PKGARCH_tune-ppce500 = "ppce500" 19TUNE_PKGARCH:tune-ppce500 = "ppce500"
20PACKAGE_EXTRA_ARCHS_tune-ppce500 = "ppce500" 20PACKAGE_EXTRA_ARCHS:tune-ppce500 = "ppce500"
diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/powerpc/tune-ppce500mc.inc
index 9f8a172804..036f8b2631 100644
--- a/meta/conf/machine/include/tune-ppce500mc.inc
+++ b/meta/conf/machine/include/powerpc/tune-ppce500mc.inc
@@ -6,12 +6,9 @@ TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce500mc', ' -mcpu=e500mc', '', d)}" 6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce500mc', ' -mcpu=e500mc', '', d)}"
7 7
8AVAILTUNES += "ppce500mc" 8AVAILTUNES += "ppce500mc"
9TUNE_FEATURES_tune-ppce500mc = "m32 fpu-hard ppce500mc bigendian" 9TUNE_FEATURES:tune-ppce500mc = "m32 fpu-hard ppce500mc bigendian"
10TUNE_PKGARCH_tune-ppce500mc = "ppce500mc" 10TUNE_PKGARCH:tune-ppce500mc = "ppce500mc"
11PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce500mc" 11PACKAGE_EXTRA_ARCHS:tune-ppce500mc = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce500mc"
12
13# glibc configure options to get e500mc specific library (for sqrt)
14GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'ppce500mc', '-with-cpu=e500mc', '', d)}"
15 12
16# pass -mcpu=e500mc for ppce500mc kernel cross compile 13# pass -mcpu=e500mc for ppce500mc kernel cross compile
17TARGET_CC_KERNEL_ARCH = "-mcpu=e500mc" 14TARGET_CC_KERNEL_ARCH = "-mcpu=e500mc"
diff --git a/meta/conf/machine/include/tune-ppce500v2.inc b/meta/conf/machine/include/powerpc/tune-ppce500v2.inc
index f6c7c17623..461164d818 100644
--- a/meta/conf/machine/include/tune-ppce500v2.inc
+++ b/meta/conf/machine/include/powerpc/tune-ppce500v2.inc
@@ -15,6 +15,6 @@ SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}"
15ABIEXTENSION .= "${SPEABIEXTENSION}" 15ABIEXTENSION .= "${SPEABIEXTENSION}"
16 16
17AVAILTUNES += "ppce500v2" 17AVAILTUNES += "ppce500v2"
18TUNE_FEATURES_tune-ppce500v2 = "m32 ppce500v2 bigendian" 18TUNE_FEATURES:tune-ppce500v2 = "m32 ppce500v2 bigendian"
19TUNE_PKGARCH_tune-ppce500v2 = "ppce500v2" 19TUNE_PKGARCH:tune-ppce500v2 = "ppce500v2"
20PACKAGE_EXTRA_ARCHS_tune-ppce500v2 = "ppce500v2" 20PACKAGE_EXTRA_ARCHS:tune-ppce500v2 = "ppce500v2"
diff --git a/meta/conf/machine/include/powerpc/tune-ppce5500.inc b/meta/conf/machine/include/powerpc/tune-ppce5500.inc
new file mode 100644
index 0000000000..4915b81ee4
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/tune-ppce5500.inc
@@ -0,0 +1,20 @@
1DEFAULTTUNE ?= "ppce5500"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[e5500] = "Enable Freescale e5500 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' -mcpu=e5500', '', d)}"
7
8AVAILTUNES += "ppce5500 ppc64e5500"
9TUNE_FEATURES:tune-ppce5500 = "m32 fpu-hard e5500 bigendian"
10BASE_LIB:tune-ppce5500 = "lib"
11TUNE_PKGARCH:tune-ppce5500 = "ppce5500"
12PACKAGE_EXTRA_ARCHS:tune-ppce5500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce5500"
13
14TUNE_FEATURES:tune-ppc64e5500 = "m64 fpu-hard e5500 bigendian"
15BASE_LIB:tune-ppc64e5500 = "lib64"
16TUNE_PKGARCH:tune-ppc64e5500 = "ppc64e5500"
17PACKAGE_EXTRA_ARCHS:tune-ppc64e5500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64e5500"
18
19# QEMU usermode fails with invalid instruction error (YOCTO: #10304)
20MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/powerpc/tune-ppce6500.inc b/meta/conf/machine/include/powerpc/tune-ppce6500.inc
new file mode 100644
index 0000000000..f6310ab4c4
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/tune-ppce6500.inc
@@ -0,0 +1,20 @@
1DEFAULTTUNE ?= "ppce6500"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[e6500] = "Enable Freescale e6500 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' -mcpu=e6500', '', d)}"
7
8AVAILTUNES += "ppce6500 ppc64e6500"
9TUNE_FEATURES:tune-ppce6500 = "m32 fpu-hard e6500 altivec bigendian"
10BASE_LIB:tune-ppce6500 = "lib"
11TUNE_PKGARCH:tune-ppce6500 = "ppce6500"
12PACKAGE_EXTRA_ARCHS:tune-ppce6500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce6500"
13
14TUNE_FEATURES:tune-ppc64e6500 = "m64 fpu-hard e6500 altivec bigendian"
15BASE_LIB:tune-ppc64e6500 = "lib64"
16TUNE_PKGARCH:tune-ppc64e6500 = "ppc64e6500"
17PACKAGE_EXTRA_ARCHS:tune-ppc64e6500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64e6500"
18
19# QEMU usermode fails with invalid instruction error (YOCTO: #10304)
20MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
index 7d0a6fe458..bb7aec7675 100644
--- a/meta/conf/machine/include/qemu.inc
+++ b/meta/conf/machine/include/qemu.inc
@@ -3,10 +3,12 @@ PREFERRED_PROVIDER_virtual/egl ?= "mesa"
3PREFERRED_PROVIDER_virtual/libgl ?= "mesa" 3PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
4PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" 4PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
5PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" 5PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
6PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa"
6 7
7XSERVER ?= "xserver-xorg \ 8XSERVER ?= "xserver-xorg \
8 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \ 9 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \
9 xf86-video-fbdev \ 10 xf86-video-fbdev \
11 xf86-video-modesetting \
10 " 12 "
11 13
12MACHINE_FEATURES = "alsa bluetooth usbgadget screen vfat" 14MACHINE_FEATURES = "alsa bluetooth usbgadget screen vfat"
@@ -16,15 +18,13 @@ MACHINEOVERRIDES =. "qemuall:"
16IMAGE_FSTYPES += "tar.bz2 ext4" 18IMAGE_FSTYPES += "tar.bz2 ext4"
17 19
18# Don't include kernels in standard images 20# Don't include kernels in standard images
19RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" 21RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
20 22
21# Use a common kernel recipe for all QEMU machines 23# Use a common kernel recipe for all QEMU machines
22PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto" 24PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
23 25
24EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native"
25
26# Provide the nfs server kernel module for all qemu images 26# Provide the nfs server kernel module for all qemu images
27KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc" 27KERNEL_FEATURES:append:pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
28KERNEL_FEATURES_append_pn-linux-yocto-rt = " features/nfsd/nfsd-enable.scc" 28KERNEL_FEATURES:append:pn-linux-yocto-rt = " features/nfsd/nfsd-enable.scc"
29 29
30IMAGE_CLASSES += "qemuboot" 30IMAGE_CLASSES += "qemuboot"
diff --git a/meta/conf/machine/include/qemuboot-x86.inc b/meta/conf/machine/include/qemuboot-x86.inc
deleted file mode 100644
index 2a4760c717..0000000000
--- a/meta/conf/machine/include/qemuboot-x86.inc
+++ /dev/null
@@ -1,13 +0,0 @@
1# For runqemu
2IMAGE_CLASSES += "qemuboot"
3QB_CPU_x86 = "-cpu core2duo"
4QB_CPU_KVM_x86 = "-cpu core2duo"
5
6QB_CPU_x86-64 = "-cpu core2duo"
7QB_CPU_KVM_x86-64 = "-cpu core2duo"
8
9QB_AUDIO_DRV = "alsa"
10QB_AUDIO_OPT = "-soundhw ac97,es1370"
11QB_KERNEL_CMDLINE_APPEND = "oprofile.timer=1"
12QB_OPT_APPEND = "-usb -device usb-tablet"
13
diff --git a/meta/conf/machine/include/riscv/arch-riscv.inc b/meta/conf/machine/include/riscv/arch-riscv.inc
index eae2b88778..230a266563 100644
--- a/meta/conf/machine/include/riscv/arch-riscv.inc
+++ b/meta/conf/machine/include/riscv/arch-riscv.inc
@@ -2,12 +2,14 @@
2 2
3DEFAULTTUNE ?= "riscv64" 3DEFAULTTUNE ?= "riscv64"
4 4
5TUNE_ARCH = "${TUNE_ARCH_tune-${DEFAULTTUNE}}" 5TUNE_ARCH = "${TUNE_ARCH:tune-${DEFAULTTUNE}}"
6TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" 6TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
7TUNE_CCARGS_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv64nf', ' -mabi=lp64', ' ', d)}" 7TUNE_CCARGS:append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv64nf', ' -mabi=lp64', ' ', d)}"
8TUNE_CCARGS_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32nf', ' -mabi=ilp32', ' ', d)}" 8TUNE_CCARGS:append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32nf', ' -mabi=ilp32', ' ', d)}"
9
10TUNE_CCARGS:append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv64nc', ' -march=rv64imafd', ' ', d)}"
9 11
10# Fix: ld: unrecognized option '--hash-style=sysv' 12# Fix: ld: unrecognized option '--hash-style=sysv'
11LINKER_HASH_STYLE_libc-newlib = "" 13LINKER_HASH_STYLE:libc-newlib = ""
12# Fix: ld: unrecognized option '--hash-style=gnu' 14# Fix: ld: unrecognized option '--hash-style=gnu'
13LINKER_HASH_STYLE_libc-baremetal = "" 15LINKER_HASH_STYLE:libc-baremetal = ""
diff --git a/meta/conf/machine/include/riscv/qemuriscv.inc b/meta/conf/machine/include/riscv/qemuriscv.inc
index 47d7e9b174..d01d988eee 100644
--- a/meta/conf/machine/include/riscv/qemuriscv.inc
+++ b/meta/conf/machine/include/riscv/qemuriscv.inc
@@ -3,14 +3,13 @@ PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
3require conf/machine/include/qemu.inc 3require conf/machine/include/qemu.inc
4require conf/machine/include/riscv/tune-riscv.inc 4require conf/machine/include/riscv/tune-riscv.inc
5 5
6MACHINE_FEATURES = "screen keyboard ext2 ext3 serial" 6MACHINE_FEATURES += "keyboard ext2 ext3 serial"
7 7
8KERNEL_IMAGETYPE = "Image" 8KERNEL_IMAGETYPE = "Image"
9KERNEL_IMAGETYPES += "uImage" 9KERNEL_IMAGETYPES += "uImage"
10KEEPUIMAGE = "no" 10KEEPUIMAGE = "no"
11 11
12SERIAL_CONSOLES ?= "115200;ttyS0 115200;hvc0" 12SERIAL_CONSOLES ?= "115200;ttyS0 115200;hvc0"
13SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
14 13
15IMAGE_FSTYPES += "ext4 wic.qcow2" 14IMAGE_FSTYPES += "ext4 wic.qcow2"
16 15
@@ -22,10 +21,11 @@ EXTRA_IMAGEDEPENDS += "opensbi"
22RISCV_SBI_PLAT ?= "generic" 21RISCV_SBI_PLAT ?= "generic"
23RISCV_SBI_PAYLOAD ?= "${KERNEL_IMAGETYPE}-${MACHINE}.bin" 22RISCV_SBI_PAYLOAD ?= "${KERNEL_IMAGETYPE}-${MACHINE}.bin"
24 23
25UBOOT_ENTRYPOINT_riscv32 = "0x80400000" 24UBOOT_ENTRYPOINT:riscv32 = "0x80400000"
26UBOOT_ENTRYPOINT_riscv64 = "0x80200000" 25UBOOT_ENTRYPOINT:riscv64 = "0x80200000"
27 26
28# qemuboot options 27# qemuboot options
28QB_SMP ?= "-smp 4"
29QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi" 29QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi"
30QB_MACHINE = "-machine virt" 30QB_MACHINE = "-machine virt"
31QB_DEFAULT_BIOS = "fw_jump.elf" 31QB_DEFAULT_BIOS = "fw_jump.elf"
@@ -33,4 +33,7 @@ QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
33QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" 33QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
34QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" 34QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"
35QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon" 35QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
36QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" 36QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1,nodelay=on -device virtconsole,chardev=virtcon"
37QB_GRAPHICS = "-device bochs-display"
38QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
39QB_OPT_APPEND:riscv32 = "-device virtio-tablet-pci -device virtio-keyboard-pci"
diff --git a/meta/conf/machine/include/riscv/tune-riscv.inc b/meta/conf/machine/include/riscv/tune-riscv.inc
index 028548bf56..804712077e 100644
--- a/meta/conf/machine/include/riscv/tune-riscv.inc
+++ b/meta/conf/machine/include/riscv/tune-riscv.inc
@@ -6,28 +6,36 @@ TUNEVALID[riscv32] = "Enable 32-bit RISC-V optimizations"
6TUNEVALID[riscv64nf] = "Enable 64-bit RISC-V optimizations no floating point" 6TUNEVALID[riscv64nf] = "Enable 64-bit RISC-V optimizations no floating point"
7TUNEVALID[riscv32nf] = "Enable 32-bit RISC-V optimizations no floating point" 7TUNEVALID[riscv32nf] = "Enable 32-bit RISC-V optimizations no floating point"
8 8
9TUNEVALID[riscv64nc] = "Enable 64-bit RISC-V optimizations without compressed instructions"
10
9TUNEVALID[bigendian] = "Big endian mode" 11TUNEVALID[bigendian] = "Big endian mode"
10 12
11AVAILTUNES += "riscv64 riscv32 riscv64nf riscv32nf" 13AVAILTUNES += "riscv64 riscv32 riscv64nc riscv64nf riscv32nf"
12 14
13# Default 15# Default
14TUNE_FEATURES_tune-riscv64 = "riscv64" 16TUNE_FEATURES:tune-riscv64 = "riscv64"
15TUNE_ARCH_tune-riscv64 = "riscv64" 17TUNE_ARCH:tune-riscv64 = "riscv64"
16TUNE_PKGARCH_tune-riscv64 = "riscv64" 18TUNE_PKGARCH:tune-riscv64 = "riscv64"
17PACKAGE_EXTRA_ARCHS_tune-riscv64 = "riscv64" 19PACKAGE_EXTRA_ARCHS:tune-riscv64 = "riscv64"
18 20
19TUNE_FEATURES_tune-riscv32 = "riscv32" 21TUNE_FEATURES:tune-riscv32 = "riscv32"
20TUNE_ARCH_tune-riscv32 = "riscv32" 22TUNE_ARCH:tune-riscv32 = "riscv32"
21TUNE_PKGARCH_tune-riscv32 = "riscv32" 23TUNE_PKGARCH:tune-riscv32 = "riscv32"
22PACKAGE_EXTRA_ARCHS_tune-riscv32 = "riscv32" 24PACKAGE_EXTRA_ARCHS:tune-riscv32 = "riscv32"
23 25
24# No float 26# No float
25TUNE_FEATURES_tune-riscv64nf = "${TUNE_FEATURES_tune-riscv64} riscv64nf" 27TUNE_FEATURES:tune-riscv64nf = "${TUNE_FEATURES:tune-riscv64} riscv64nf"
26TUNE_ARCH_tune-riscv64nf = "riscv64" 28TUNE_ARCH:tune-riscv64nf = "riscv64"
27TUNE_PKGARCH_tune-riscv64nf = "riscv64nf" 29TUNE_PKGARCH:tune-riscv64nf = "riscv64nf"
28PACKAGE_EXTRA_ARCHS_tune-riscv64nf = "riscv64nf" 30PACKAGE_EXTRA_ARCHS:tune-riscv64nf = "riscv64nf"
29 31
30TUNE_FEATURES_tune-riscv32nf = "${TUNE_FEATURES_tune-riscv32} riscv32nf" 32TUNE_FEATURES:tune-riscv32nf = "${TUNE_FEATURES:tune-riscv32} riscv32nf"
31TUNE_ARCH_tune-riscv32nf = "riscv32" 33TUNE_ARCH:tune-riscv32nf = "riscv32"
32TUNE_PKGARCH_tune-riscv32nf = "riscv32nf" 34TUNE_PKGARCH:tune-riscv32nf = "riscv32nf"
33PACKAGE_EXTRA_ARCHS_tune-riscv32nf = "riscv32nf" 35PACKAGE_EXTRA_ARCHS:tune-riscv32nf = "riscv32nf"
36
37# no compressed
38TUNE_FEATURES:tune-riscv64nc = "${TUNE_FEATURES:tune-riscv64} riscv64nc"
39TUNE_ARCH:tune-riscv64nc = "riscv64"
40TUNE_PKGARCH:tune-riscv64nc = "riscv64nc"
41PACKAGE_EXTRA_ARCHS:tune-riscv64nc = "riscv64nc"
diff --git a/meta/conf/machine/include/sh/README b/meta/conf/machine/include/sh/README
index b351acdd28..87d48b927b 100644
--- a/meta/conf/machine/include/sh/README
+++ b/meta/conf/machine/include/sh/README
@@ -5,7 +5,7 @@ Both big endian and little endian are defined for SH.
5 5
6Experimental -- SH tunings have not been validated. 6Experimental -- SH tunings have not been validated.
7 7
8The TUNE_ARCH is defined as ${TUNE_ARCH_tune-${DEFAULTTUNE}}. 8The TUNE_ARCH is defined as ${TUNE_ARCH:tune-${DEFAULTTUNE}}.
9 9
10The TUNE_PKGARCH is defind as ${TUNE_PKGARCH_tune-${DEFAULTTUNE}}. 10The TUNE_PKGARCH is defind as ${TUNE_PKGARCH:tune-${DEFAULTTUNE}}.
11 11
diff --git a/meta/conf/machine/include/sh/arch-sh.inc b/meta/conf/machine/include/sh/arch-sh.inc
index bdfbf52ca1..9d70e8511d 100644
--- a/meta/conf/machine/include/sh/arch-sh.inc
+++ b/meta/conf/machine/include/sh/arch-sh.inc
@@ -2,8 +2,8 @@
2 2
3DEFAULTTUNE ?= "sh" 3DEFAULTTUNE ?= "sh"
4 4
5TUNE_ARCH = "${TUNE_ARCH_tune-${DEFAULTTUNE}}" 5TUNE_ARCH = "${TUNE_ARCH:tune-${DEFAULTTUNE}}"
6TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" 6TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
7 7
8TUNEVALID[bigendian] = "Enabled big-endian mode." 8TUNEVALID[bigendian] = "Enabled big-endian mode."
9TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', ' -mb', ' -ml', d)}" 9TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', ' -mb', ' -ml', d)}"
diff --git a/meta/conf/machine/include/sh/tune-sh3.inc b/meta/conf/machine/include/sh/tune-sh3.inc
new file mode 100644
index 0000000000..77d0b71fc4
--- /dev/null
+++ b/meta/conf/machine/include/sh/tune-sh3.inc
@@ -0,0 +1,17 @@
1DEFAULTTUNE ?= "sh3"
2
3require conf/machine/include/sh/arch-sh.inc
4
5TUNEVALID[sh3] = "Enable SH3 optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'sh3', ' -m3', '', d)}"
7
8AVAILTUNES += "sh3 sh3eb"
9TUNE_FEATURES:tune-sh3 = "sh3"
10TUNE_ARCH:tune-sh3 = "sh3"
11TUNE_PKGARCH:tune-sh3 = "sh3"
12PACKAGE_EXTRA_ARCHS:tune-sh3 = "sh sh3"
13
14TUNE_FEATURES:tune-sh3eb = "sh3 bigendian"
15TUNE_ARCH:tune-sh3eb = "sh3eb"
16TUNE_PKGARCH:tune-sh3eb = "sh3eb"
17PACKAGE_EXTRA_ARCHS:tune-sh3eb = "sheb sh3eb"
diff --git a/meta/conf/machine/include/sh/tune-sh4.inc b/meta/conf/machine/include/sh/tune-sh4.inc
new file mode 100644
index 0000000000..b4893a4748
--- /dev/null
+++ b/meta/conf/machine/include/sh/tune-sh4.inc
@@ -0,0 +1,34 @@
1DEFAULTTUNE ?= "sh4"
2
3# Pull in sh4 for compatibility...
4require conf/machine/include/sh/arch-sh.inc
5
6TUNEVALID[sh4] = "Enable SH4 optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'sh4', ' -m4', '', d)}"
8
9# NOTE: If you want to optimize to sh4a, conf/machine/include/sh/tune-sh4a.inc.
10# But it is not compatible for sh4.
11# The binary optimized by m4a doesn't operate on sh4. It works on sh4a only.
12TUNEVALID[sh4a] = "Enable SH4a optimizations"
13TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'sh4a', ' -m4a', '', d)}"
14
15AVAILTUNES += "sh4 sh4eb sh4a sh4aeb"
16TUNE_FEATURES:tune-sh4 = "sh4"
17TUNE_ARCH:tune-sh4 = "sh4"
18TUNE_PKGARCH:tune-sh4 = "sh4"
19PACKAGE_EXTRA_ARCHS:tune-sh4 = "sh sh4"
20
21TUNE_FEATURES:tune-sh4eb = "sh4 bigendian"
22TUNE_ARCH:tune-sh4eb = "sh4eb"
23TUNE_PKGARCH:tune-sh4eb = "sh4eb"
24PACKAGE_EXTRA_ARCHS:tune-sh4eb = "sheb sh4eb"
25
26TUNE_FEATURES:tune-sh4a = "sh4a"
27TUNE_ARCH:tune-sh4a = "sh4"
28TUNE_PKGARCH:tune-sh4a = "sh4a"
29PACKAGE_EXTRA_ARCHS:tune-sh4a = "sh sh4 sh4a"
30
31TUNE_FEATURES:tune-sh4aeb = "sh4a bigendian"
32TUNE_ARCH:tune-sh4aeb = "sh4eb"
33TUNE_PKGARCH:tune-sh4aeb = "sh4aeb"
34PACKAGE_EXTRA_ARCHS:tune-sh4aeb = "sheb sh4eb sh4aeb"
diff --git a/meta/conf/machine/include/tune-core2.inc b/meta/conf/machine/include/tune-core2.inc
deleted file mode 100644
index ddde719bde..0000000000
--- a/meta/conf/machine/include/tune-core2.inc
+++ /dev/null
@@ -1,38 +0,0 @@
1# Settings for the GCC(1) cpu-type "core2":
2#
3# Intel Core2 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3
4# instruction set support.
5#
6# This tune is recommended for the Intel Core 2 CPU family, including Conroe,
7# Merom and beyond, as well as the first Atom CPUs, Diamondville, and beyond.
8#
9DEFAULTTUNE ?= "core2-32"
10
11# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
12require conf/machine/include/tune-i686.inc
13
14# Extra tune features
15TUNEVALID[core2] = "Enable core2 specific processor optimizations"
16TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'core2', ' -march=core2 -mtune=core2 -msse3 -mfpmath=sse', '', d)}"
17
18# Extra tune selections
19AVAILTUNES += "core2-32"
20TUNE_FEATURES_tune-core2-32 = "${TUNE_FEATURES_tune-x86} core2"
21BASE_LIB_tune-core2-32 = "lib"
22TUNE_PKGARCH_tune-core2-32 = "core2-32"
23PACKAGE_EXTRA_ARCHS_tune-core2-32 = "${PACKAGE_EXTRA_ARCHS_tune-i686} core2-32"
24QEMU_EXTRAOPTIONS_core2-32 = " -cpu n270"
25
26AVAILTUNES += "core2-64"
27TUNE_FEATURES_tune-core2-64 = "${TUNE_FEATURES_tune-x86-64} core2"
28BASE_LIB_tune-core2-64 = "lib64"
29TUNE_PKGARCH_tune-core2-64 = "core2-64"
30PACKAGE_EXTRA_ARCHS_tune-core2-64 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64} core2-64"
31QEMU_EXTRAOPTIONS_core2-64 = " -cpu core2duo"
32
33AVAILTUNES += "core2-64-x32"
34TUNE_FEATURES_tune-core2-64-x32 = "${TUNE_FEATURES_tune-x86-64-x32} core2"
35BASE_LIB_tune-core2-64-x32 = "libx32"
36TUNE_PKGARCH_tune-core2-64-x32 = "core2-64-x32"
37PACKAGE_EXTRA_ARCHS_tune-core2-64-x32 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64-x32} core2-64-x32"
38QEMU_EXTRAOPTIONS_core2-64-x32 = " -cpu core2duo"
diff --git a/meta/conf/machine/include/tune-cortexa15.inc b/meta/conf/machine/include/tune-cortexa15.inc
deleted file mode 100644
index 0457c2d9fa..0000000000
--- a/meta/conf/machine/include/tune-cortexa15.inc
+++ /dev/null
@@ -1,51 +0,0 @@
1DEFAULTTUNE ?= "armv7vethf-neon"
2
3require conf/machine/include/arm/arch-armv7ve.inc
4
5TUNEVALID[cortexa15] = "Enable Cortex-A15 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa15', ' -mcpu=cortex-a15', '', d)}"
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa15', 'armv7ve:', '', d)}"
8
9# Little Endian base configs
10AVAILTUNES += "cortexa15 cortexa15t cortexa15-neon cortexa15t-neon cortexa15-neon-vfpv4 cortexa15t-neon-vfpv4"
11ARMPKGARCH_tune-cortexa15 = "cortexa15"
12ARMPKGARCH_tune-cortexa15t = "cortexa15"
13ARMPKGARCH_tune-cortexa15-neon = "cortexa15"
14ARMPKGARCH_tune-cortexa15t-neon = "cortexa15"
15ARMPKGARCH_tune-cortexa15-neon-vfpv4 = "cortexa15"
16ARMPKGARCH_tune-cortexa15t-neon-vfpv4 = "cortexa15"
17# mcpu is used so don't use armv7ve as we don't want march
18TUNE_FEATURES_tune-cortexa15 = "arm vfp cortexa15"
19TUNE_FEATURES_tune-cortexa15t = "${TUNE_FEATURES_tune-cortexa15} thumb"
20TUNE_FEATURES_tune-cortexa15-neon = "${TUNE_FEATURES_tune-cortexa15} neon"
21TUNE_FEATURES_tune-cortexa15t-neon = "${TUNE_FEATURES_tune-cortexa15-neon} thumb"
22TUNE_FEATURES_tune-cortexa15-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa15-neon} vfpv4"
23TUNE_FEATURES_tune-cortexa15t-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa15-neon-vfpv4} thumb"
24PACKAGE_EXTRA_ARCHS_tune-cortexa15 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} cortexa15-vfp"
25PACKAGE_EXTRA_ARCHS_tune-cortexa15t = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} cortexa15-vfp cortexa15t2-vfp"
26PACKAGE_EXTRA_ARCHS_tune-cortexa15-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} cortexa15-vfp cortexa15-neon"
27PACKAGE_EXTRA_ARCHS_tune-cortexa15t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon} cortexa15-vfp cortexa15-neon cortexa15t2-vfp cortexa15t2-neon"
28PACKAGE_EXTRA_ARCHS_tune-cortexa15-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon-vfpv4} cortexa15-vfp cortexa15-neon cortexa15-neon-vfpv4"
29PACKAGE_EXTRA_ARCHS_tune-cortexa15t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon-vfpv4} cortexa15-vfp cortexa15-neon cortexa15-neon-vfpv4 cortexa15t2-vfp cortexa15t2-neon cortexa15t2-neon-vfpv4"
30
31# HF Tunes
32AVAILTUNES += "cortexa15hf cortexa15thf cortexa15hf-neon cortexa15thf-neon cortexa15hf-neon-vfpv4 cortexa15thf-neon-vfpv4"
33ARMPKGARCH_tune-cortexa15hf = "cortexa15"
34ARMPKGARCH_tune-cortexa15thf = "cortexa15"
35ARMPKGARCH_tune-cortexa15hf-neon = "cortexa15"
36ARMPKGARCH_tune-cortexa15thf-neon = "cortexa15"
37ARMPKGARCH_tune-cortexa15hf-neon-vfpv4 = "cortexa15"
38ARMPKGARCH_tune-cortexa15thf-neon-vfpv4 = "cortexa15"
39# mcpu is used so don't use armv7ve as we don't want march
40TUNE_FEATURES_tune-cortexa15hf = "${TUNE_FEATURES_tune-cortexa15} callconvention-hard"
41TUNE_FEATURES_tune-cortexa15thf = "${TUNE_FEATURES_tune-cortexa15t} callconvention-hard"
42TUNE_FEATURES_tune-cortexa15hf-neon = "${TUNE_FEATURES_tune-cortexa15-neon} callconvention-hard"
43TUNE_FEATURES_tune-cortexa15thf-neon = "${TUNE_FEATURES_tune-cortexa15t-neon} callconvention-hard"
44TUNE_FEATURES_tune-cortexa15hf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa15-neon-vfpv4} callconvention-hard"
45TUNE_FEATURES_tune-cortexa15thf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa15t-neon-vfpv4} callconvention-hard"
46PACKAGE_EXTRA_ARCHS_tune-cortexa15hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} cortexa15hf-vfp"
47PACKAGE_EXTRA_ARCHS_tune-cortexa15thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} cortexa15hf-vfp cortexa15t2hf-vfp"
48PACKAGE_EXTRA_ARCHS_tune-cortexa15hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} cortexa15hf-vfp cortexa15hf-neon"
49PACKAGE_EXTRA_ARCHS_tune-cortexa15thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon} cortexa15hf-vfp cortexa15hf-neon cortexa15t2hf-vfp cortexa15t2hf-neon"
50PACKAGE_EXTRA_ARCHS_tune-cortexa15hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon-vfpv4} cortexa15hf-vfp cortexa15hf-neon cortexa15hf-neon-vfpv4"
51PACKAGE_EXTRA_ARCHS_tune-cortexa15thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon-vfpv4} cortexa15hf-vfp cortexa15hf-neon cortexa15hf-neon-vfpv4 cortexa15t2hf-vfp cortexa15t2hf-neon cortexa15t2hf-neon-vfpv4"
diff --git a/meta/conf/machine/include/tune-cortexa17.inc b/meta/conf/machine/include/tune-cortexa17.inc
deleted file mode 100644
index 6a2107f653..0000000000
--- a/meta/conf/machine/include/tune-cortexa17.inc
+++ /dev/null
@@ -1,51 +0,0 @@
1DEFAULTTUNE ?= "armv7vethf-neon"
2
3require conf/machine/include/arm/arch-armv7ve.inc
4
5TUNEVALID[cortexa17] = "Enable Cortex-A17 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa17', ' -mcpu=cortex-a17', '', d)}"
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa17', 'armv7ve:', '', d)}"
8
9# Little Endian base configs
10AVAILTUNES += "cortexa17 cortexa17t cortexa17-neon cortexa17t-neon cortexa17-neon-vfpv4 cortexa17t-neon-vfpv4"
11ARMPKGARCH_tune-cortexa17 = "cortexa17"
12ARMPKGARCH_tune-cortexa17t = "cortexa17"
13ARMPKGARCH_tune-cortexa17-neon = "cortexa17"
14ARMPKGARCH_tune-cortexa17t-neon = "cortexa17"
15ARMPKGARCH_tune-cortexa17-neon-vfpv4 = "cortexa17"
16ARMPKGARCH_tune-cortexa17t-neon-vfpv4 = "cortexa17"
17# mcpu is used so don't use armv7ve as we don't want march
18TUNE_FEATURES_tune-cortexa17 = "arm vfp cortexa17"
19TUNE_FEATURES_tune-cortexa17t = "${TUNE_FEATURES_tune-cortexa17} thumb"
20TUNE_FEATURES_tune-cortexa17-neon = "${TUNE_FEATURES_tune-cortexa17} neon"
21TUNE_FEATURES_tune-cortexa17t-neon = "${TUNE_FEATURES_tune-cortexa17-neon} thumb"
22TUNE_FEATURES_tune-cortexa17-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa17-neon} vfpv4"
23TUNE_FEATURES_tune-cortexa17t-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa17-neon-vfpv4} thumb"
24PACKAGE_EXTRA_ARCHS_tune-cortexa17 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} cortexa17-vfp"
25PACKAGE_EXTRA_ARCHS_tune-cortexa17t = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} cortexa17-vfp cortexa17t2-vfp"
26PACKAGE_EXTRA_ARCHS_tune-cortexa17-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} cortexa17-vfp cortexa17-neon"
27PACKAGE_EXTRA_ARCHS_tune-cortexa17t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon} cortexa17-vfp cortexa17-neon cortexa17t2-vfp cortexa17t2-neon"
28PACKAGE_EXTRA_ARCHS_tune-cortexa17-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon-vfpv4} cortexa17-vfp cortexa17-neon cortexa17-neon-vfpv4"
29PACKAGE_EXTRA_ARCHS_tune-cortexa17t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon-vfpv4} cortexa17-vfp cortexa17-neon cortexa17-neon-vfpv4 cortexa17t2-vfp cortexa17t2-neon cortexa17t2-neon-vfpv4"
30
31# HF Tunes
32AVAILTUNES += "cortexa17hf cortexa17thf cortexa17hf-neon cortexa17thf-neon cortexa17hf-neon-vfpv4 cortexa17thf-neon-vfpv4"
33ARMPKGARCH_tune-cortexa17hf = "cortexa17"
34ARMPKGARCH_tune-cortexa17thf = "cortexa17"
35ARMPKGARCH_tune-cortexa17hf-neon = "cortexa17"
36ARMPKGARCH_tune-cortexa17thf-neon = "cortexa17"
37ARMPKGARCH_tune-cortexa17hf-neon-vfpv4 = "cortexa17"
38ARMPKGARCH_tune-cortexa17thf-neon-vfpv4 = "cortexa17"
39# mcpu is used so don't use armv7ve as we don't want march
40TUNE_FEATURES_tune-cortexa17hf = "${TUNE_FEATURES_tune-cortexa17} callconvention-hard"
41TUNE_FEATURES_tune-cortexa17thf = "${TUNE_FEATURES_tune-cortexa17t} callconvention-hard"
42TUNE_FEATURES_tune-cortexa17hf-neon = "${TUNE_FEATURES_tune-cortexa17-neon} callconvention-hard"
43TUNE_FEATURES_tune-cortexa17thf-neon = "${TUNE_FEATURES_tune-cortexa17t-neon} callconvention-hard"
44TUNE_FEATURES_tune-cortexa17hf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa17-neon-vfpv4} callconvention-hard"
45TUNE_FEATURES_tune-cortexa17thf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa17t-neon-vfpv4} callconvention-hard"
46PACKAGE_EXTRA_ARCHS_tune-cortexa17hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} cortexa17hf-vfp"
47PACKAGE_EXTRA_ARCHS_tune-cortexa17thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} cortexa17hf-vfp cortexa17t2hf-vfp"
48PACKAGE_EXTRA_ARCHS_tune-cortexa17hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} cortexa17hf-vfp cortexa17hf-neon"
49PACKAGE_EXTRA_ARCHS_tune-cortexa17thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon} cortexa17hf-vfp cortexa17hf-neon cortexa17t2hf-vfp cortexa17t2hf-neon"
50PACKAGE_EXTRA_ARCHS_tune-cortexa17hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon-vfpv4} cortexa17hf-vfp cortexa17hf-neon cortexa17hf-neon-vfpv4"
51PACKAGE_EXTRA_ARCHS_tune-cortexa17thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon-vfpv4} cortexa17hf-vfp cortexa17hf-neon cortexa17hf-neon-vfpv4 cortexa17t2hf-vfp cortexa17t2hf-neon cortexa17t2hf-neon-vfpv4"
diff --git a/meta/conf/machine/include/tune-cortexa32.inc b/meta/conf/machine/include/tune-cortexa32.inc
deleted file mode 100644
index e86de6ccb7..0000000000
--- a/meta/conf/machine/include/tune-cortexa32.inc
+++ /dev/null
@@ -1,17 +0,0 @@
1DEFAULTTUNE ?= "cortexa32"
2
3TUNEVALID[cortexa32] = "Enable Cortex-A32 specific processor optimizations"
4TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa32', ' -mcpu=cortex-a32', '', d)}"
5
6require conf/machine/include/arm/arch-armv8a.inc
7
8# Little Endian base configs
9AVAILTUNES += "cortexa32 cortexa32-crypto"
10ARMPKGARCH_tune-cortexa32 = "cortexa32"
11ARMPKGARCH_tune-cortexa32-crypto = "cortexa32"
12TUNE_FEATURES_tune-cortexa32 = "armv8a cortexa32 crc"
13TUNE_FEATURES_tune-cortexa32-crypto = "${TUNE_FEATURES_tune-cortexa32} crypto"
14PACKAGE_EXTRA_ARCHS_tune-cortexa32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa32"
15PACKAGE_EXTRA_ARCHS_tune-cortexa32-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa32 cortexa32-crypto"
16BASE_LIB_tune-cortexa32 = "lib"
17BASE_LIB_tune-cortexa32-crypto = "lib"
diff --git a/meta/conf/machine/include/tune-cortexa35.inc b/meta/conf/machine/include/tune-cortexa35.inc
deleted file mode 100644
index cb3ad4c11e..0000000000
--- a/meta/conf/machine/include/tune-cortexa35.inc
+++ /dev/null
@@ -1,17 +0,0 @@
1DEFAULTTUNE ?= "cortexa35"
2
3TUNEVALID[cortexa35] = "Enable Cortex-A35 specific processor optimizations"
4TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa35', ' -mcpu=cortex-a35', '', d)}"
5
6require conf/machine/include/arm/arch-armv8a.inc
7
8# Little Endian base configs
9AVAILTUNES += "cortexa35 cortexa35-crypto"
10ARMPKGARCH_tune-cortexa35 = "cortexa35"
11ARMPKGARCH_tune-cortexa35-crypto = "cortexa35"
12TUNE_FEATURES_tune-cortexa35 = "${TUNE_FEATURES_tune-armv8a-crc} cortexa35"
13TUNE_FEATURES_tune-cortexa35-crypto = "${TUNE_FEATURES_tune-cortexa35} crypto"
14PACKAGE_EXTRA_ARCHS_tune-cortexa35 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa35"
15PACKAGE_EXTRA_ARCHS_tune-cortexa35-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa35 cortexa35-crypto"
16BASE_LIB_tune-cortexa35 = "lib64"
17BASE_LIB_tune-cortexa35-crypto = "lib64"
diff --git a/meta/conf/machine/include/tune-cortexa5.inc b/meta/conf/machine/include/tune-cortexa5.inc
deleted file mode 100644
index 923b758c41..0000000000
--- a/meta/conf/machine/include/tune-cortexa5.inc
+++ /dev/null
@@ -1,51 +0,0 @@
1DEFAULTTUNE ?= "armv7athf-neon"
2
3require conf/machine/include/arm/arch-armv7a.inc
4
5TUNEVALID[cortexa5] = "Enable Cortex-A5 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa5', ' -mcpu=cortex-a5', '', d)}"
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa5', 'armv7a:', '', d)}"
8
9# Little Endian base configs
10AVAILTUNES += "cortexa5 cortexa5t cortexa5-neon cortexa5t-neon cortexa5-neon-vfpv4 cortexa5t-neon-vfpv4"
11ARMPKGARCH_tune-cortexa5 = "cortexa5"
12ARMPKGARCH_tune-cortexa5t = "cortexa5"
13ARMPKGARCH_tune-cortexa5-neon = "cortexa5"
14ARMPKGARCH_tune-cortexa5t-neon = "cortexa5"
15ARMPKGARCH_tune-cortexa5-neon-vfpv4 = "cortexa5"
16ARMPKGARCH_tune-cortexa5t-neon-vfpv4 = "cortexa5"
17# mcpu is used so don't use armv7a as we don't want march
18TUNE_FEATURES_tune-cortexa5 = "arm vfp cortexa5"
19TUNE_FEATURES_tune-cortexa5t = "${TUNE_FEATURES_tune-cortexa5} thumb"
20TUNE_FEATURES_tune-cortexa5-neon = "${TUNE_FEATURES_tune-cortexa5} neon"
21TUNE_FEATURES_tune-cortexa5t-neon = "${TUNE_FEATURES_tune-cortexa5-neon} thumb"
22TUNE_FEATURES_tune-cortexa5-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa5-neon} vfpv4"
23TUNE_FEATURES_tune-cortexa5t-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa5-neon-vfpv4} thumb"
24PACKAGE_EXTRA_ARCHS_tune-cortexa5 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa5-vfp"
25PACKAGE_EXTRA_ARCHS_tune-cortexa5t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa5-vfp cortexa5t2-vfp"
26PACKAGE_EXTRA_ARCHS_tune-cortexa5-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa5-vfp cortexa5-neon"
27PACKAGE_EXTRA_ARCHS_tune-cortexa5t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa5-vfp cortexa5-neon cortexa5t2-vfp cortexa5t2-neon"
28PACKAGE_EXTRA_ARCHS_tune-cortexa5-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon-vfpv4} cortexa5-vfp cortexa5-neon cortexa5-neon-vfpv4"
29PACKAGE_EXTRA_ARCHS_tune-cortexa5t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon-vfpv4} cortexa5-vfp cortexa5-neon cortexa5-neon-vfpv4 cortexa5t2-vfp cortexa5t2-neon cortexa5t2-neon-vfpv4"
30
31# HF Tunes
32AVAILTUNES += "cortexa5hf cortexa5thf cortexa5hf-neon cortexa5thf-neon cortexa5hf-neon-vfpv4 cortexa5thf-neon-vfpv4"
33ARMPKGARCH_tune-cortexa5hf = "cortexa5"
34ARMPKGARCH_tune-cortexa5thf = "cortexa5"
35ARMPKGARCH_tune-cortexa5hf-neon = "cortexa5"
36ARMPKGARCH_tune-cortexa5thf-neon = "cortexa5"
37ARMPKGARCH_tune-cortexa5hf-neon-vfpv4 = "cortexa5"
38ARMPKGARCH_tune-cortexa5thf-neon-vfpv4 = "cortexa5"
39# mcpu is used so don't use armv7a as we don't want march
40TUNE_FEATURES_tune-cortexa5hf = "${TUNE_FEATURES_tune-cortexa5} callconvention-hard"
41TUNE_FEATURES_tune-cortexa5thf = "${TUNE_FEATURES_tune-cortexa5t} callconvention-hard"
42TUNE_FEATURES_tune-cortexa5hf-neon = "${TUNE_FEATURES_tune-cortexa5-neon} callconvention-hard"
43TUNE_FEATURES_tune-cortexa5thf-neon = "${TUNE_FEATURES_tune-cortexa5t-neon} callconvention-hard"
44TUNE_FEATURES_tune-cortexa5hf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa5-neon-vfpv4} callconvention-hard"
45TUNE_FEATURES_tune-cortexa5thf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa5t-neon-vfpv4} callconvention-hard"
46PACKAGE_EXTRA_ARCHS_tune-cortexa5hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa5hf-vfp"
47PACKAGE_EXTRA_ARCHS_tune-cortexa5thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa5hf-vfp cortexa5t2hf-vfp"
48PACKAGE_EXTRA_ARCHS_tune-cortexa5hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa5hf-vfp cortexa5hf-neon"
49PACKAGE_EXTRA_ARCHS_tune-cortexa5thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa5hf-vfp cortexa5hf-neon cortexa5t2hf-vfp cortexa5t2hf-neon"
50PACKAGE_EXTRA_ARCHS_tune-cortexa5hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4} cortexa5hf-vfp cortexa5hf-neon cortexa5hf-neon-vfpv4"
51PACKAGE_EXTRA_ARCHS_tune-cortexa5thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4} cortexa5hf-vfp cortexa5hf-neon cortexa5hf-neon-vfpv4 cortexa5t2hf-vfp cortexa5t2hf-neon cortexa5t2hf-neon-vfpv4"
diff --git a/meta/conf/machine/include/tune-cortexa53.inc b/meta/conf/machine/include/tune-cortexa53.inc
deleted file mode 100644
index 7f8863a2fa..0000000000
--- a/meta/conf/machine/include/tune-cortexa53.inc
+++ /dev/null
@@ -1,17 +0,0 @@
1DEFAULTTUNE ?= "cortexa53"
2
3TUNEVALID[cortexa53] = "Enable Cortex-A53 specific processor optimizations"
4TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa53', ' -mcpu=cortex-a53', '', d)}"
5
6require conf/machine/include/arm/arch-armv8a.inc
7
8# Little Endian base configs
9AVAILTUNES += "cortexa53 cortexa53-crypto"
10ARMPKGARCH_tune-cortexa53 = "cortexa53"
11ARMPKGARCH_tune-cortexa53-crypto = "cortexa53-crypto"
12TUNE_FEATURES_tune-cortexa53 = "${TUNE_FEATURES_tune-armv8a-crc} cortexa53"
13TUNE_FEATURES_tune-cortexa53-crypto = "${TUNE_FEATURES_tune-cortexa53} crypto"
14PACKAGE_EXTRA_ARCHS_tune-cortexa53 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa53"
15PACKAGE_EXTRA_ARCHS_tune-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa53 cortexa53-crypto"
16BASE_LIB_tune-cortexa53 = "lib64"
17BASE_LIB_tune-cortexa53-crypto = "lib64"
diff --git a/meta/conf/machine/include/tune-cortexa57.inc b/meta/conf/machine/include/tune-cortexa57.inc
deleted file mode 100644
index 91fa6685f5..0000000000
--- a/meta/conf/machine/include/tune-cortexa57.inc
+++ /dev/null
@@ -1,17 +0,0 @@
1DEFAULTTUNE ?= "cortexa57"
2
3TUNEVALID[cortexa57] = "Enable Cortex-A57 specific processor optimizations"
4TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa57', ' -mcpu=cortex-a57', '', d)}"
5
6require conf/machine/include/arm/arch-armv8a.inc
7
8# Little Endian base configs
9AVAILTUNES += "cortexa57 cortexa57-crypto"
10ARMPKGARCH_tune-cortexa57 = "cortexa57"
11ARMPKGARCH_tune-cortexa57-crypto = "cortexa57-crypto"
12TUNE_FEATURES_tune-cortexa57 = "${TUNE_FEATURES_tune-armv8a-crc} cortexa57"
13TUNE_FEATURES_tune-cortexa57-crypto = "${TUNE_FEATURES_tune-cortexa57} crypto"
14PACKAGE_EXTRA_ARCHS_tune-cortexa57 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa57"
15PACKAGE_EXTRA_ARCHS_tune-cortexa57-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa57 cortexa57-crypto"
16BASE_LIB_tune-cortexa57 = "lib64"
17BASE_LIB_tune-cortexa57-crypto = "lib64"
diff --git a/meta/conf/machine/include/tune-cortexa7.inc b/meta/conf/machine/include/tune-cortexa7.inc
deleted file mode 100644
index 05081dcbd8..0000000000
--- a/meta/conf/machine/include/tune-cortexa7.inc
+++ /dev/null
@@ -1,51 +0,0 @@
1DEFAULTTUNE ?= "armv7vethf-neon"
2
3require conf/machine/include/arm/arch-armv7ve.inc
4
5TUNEVALID[cortexa7] = "Enable Cortex-A7 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', ' -mcpu=cortex-a7', '', d)}"
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', 'armv7ve:', '', d)}"
8
9# Little Endian base configs
10AVAILTUNES += "cortexa7 cortexa7t cortexa7-neon cortexa7t-neon cortexa7-neon-vfpv4 cortexa7t-neon-vfpv4"
11ARMPKGARCH_tune-cortexa7 = "cortexa7"
12ARMPKGARCH_tune-cortexa7t = "cortexa7"
13ARMPKGARCH_tune-cortexa7-neon = "cortexa7"
14ARMPKGARCH_tune-cortexa7t-neon = "cortexa7"
15ARMPKGARCH_tune-cortexa7-neon-vfpv4 = "cortexa7"
16ARMPKGARCH_tune-cortexa7t-neon-vfpv4 = "cortexa7"
17# mcpu is used so don't use armv7ve as we don't want march
18TUNE_FEATURES_tune-cortexa7 = "arm vfp cortexa7"
19TUNE_FEATURES_tune-cortexa7t = "${TUNE_FEATURES_tune-cortexa7} thumb"
20TUNE_FEATURES_tune-cortexa7-neon = "${TUNE_FEATURES_tune-cortexa7} neon"
21TUNE_FEATURES_tune-cortexa7t-neon = "${TUNE_FEATURES_tune-cortexa7-neon} thumb"
22TUNE_FEATURES_tune-cortexa7-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa7-neon} vfpv4"
23TUNE_FEATURES_tune-cortexa7t-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa7-neon-vfpv4} thumb"
24PACKAGE_EXTRA_ARCHS_tune-cortexa7 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} cortexa7-vfp"
25PACKAGE_EXTRA_ARCHS_tune-cortexa7t = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} cortexa7-vfp cortexa7t2-vfp"
26PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} cortexa7-vfp cortexa7-neon"
27PACKAGE_EXTRA_ARCHS_tune-cortexa7t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon} cortexa7-vfp cortexa7-neon cortexa7t2-vfp cortexa7t2-neon"
28PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4"
29PACKAGE_EXTRA_ARCHS_tune-cortexa7t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4 cortexa7t2-vfp cortexa7t2-neon cortexa7t2-neon-vfpv4"
30
31# HF Tunes
32AVAILTUNES += "cortexa7hf cortexa7thf cortexa7hf-neon cortexa7thf-neon cortexa7hf-neon-vfpv4 cortexa7thf-neon-vfpv4"
33ARMPKGARCH_tune-cortexa7hf = "cortexa7"
34ARMPKGARCH_tune-cortexa7thf = "cortexa7"
35ARMPKGARCH_tune-cortexa7hf-neon = "cortexa7"
36ARMPKGARCH_tune-cortexa7thf-neon = "cortexa7"
37ARMPKGARCH_tune-cortexa7hf-neon-vfpv4 = "cortexa7"
38ARMPKGARCH_tune-cortexa7thf-neon-vfpv4 = "cortexa7"
39# mcpu is used so don't use armv7ve as we don't want march
40TUNE_FEATURES_tune-cortexa7hf = "${TUNE_FEATURES_tune-cortexa7} callconvention-hard"
41TUNE_FEATURES_tune-cortexa7thf = "${TUNE_FEATURES_tune-cortexa7t} callconvention-hard"
42TUNE_FEATURES_tune-cortexa7hf-neon = "${TUNE_FEATURES_tune-cortexa7-neon} callconvention-hard"
43TUNE_FEATURES_tune-cortexa7thf-neon = "${TUNE_FEATURES_tune-cortexa7t-neon} callconvention-hard"
44TUNE_FEATURES_tune-cortexa7hf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa7-neon-vfpv4} callconvention-hard"
45TUNE_FEATURES_tune-cortexa7thf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa7t-neon-vfpv4} callconvention-hard"
46PACKAGE_EXTRA_ARCHS_tune-cortexa7hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} cortexa7hf-vfp"
47PACKAGE_EXTRA_ARCHS_tune-cortexa7thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} cortexa7hf-vfp cortexa7t2hf-vfp"
48PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} cortexa7hf-vfp cortexa7hf-neon"
49PACKAGE_EXTRA_ARCHS_tune-cortexa7thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon} cortexa7hf-vfp cortexa7hf-neon cortexa7t2hf-vfp cortexa7t2hf-neon"
50PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4"
51PACKAGE_EXTRA_ARCHS_tune-cortexa7thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4 cortexa7t2hf-vfp cortexa7t2hf-neon cortexa7t2hf-neon-vfpv4"
diff --git a/meta/conf/machine/include/tune-cortexa72-cortexa53.inc b/meta/conf/machine/include/tune-cortexa72-cortexa53.inc
deleted file mode 100644
index 98e8ebacff..0000000000
--- a/meta/conf/machine/include/tune-cortexa72-cortexa53.inc
+++ /dev/null
@@ -1,19 +0,0 @@
1DEFAULTTUNE ?= "cortexa72-cortexa53"
2
3TUNEVALID[cortexa72-cortexa53] = "Enable big.LITTLE Cortex-A72.Cortex-A53 specific processor optimizations"
4TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", " -mcpu=cortex-a72.cortex-a53", "", d)}"
5MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", "cortexa72-cortexa53:", "", d)}"
6
7require conf/machine/include/arm/arch-armv8a.inc
8
9# cortexa72.cortexa53 implies crc support
10AVAILTUNES += "cortexa72-cortexa53 cortexa72-cortexa53-crypto"
11ARMPKGARCH_tune-cortexa72-cortexa53 = "cortexa72-cortexa53"
12ARMPKGARCH_tune-cortexa72-cortexa53-crypto = "cortexa72-cortexa53-crypto"
13TUNE_FEATURES_tune-cortexa72-cortexa53 = "${TUNE_FEATURES_tune-armv8a-crc} cortexa72-cortexa53"
14TUNE_FEATURES_tune-cortexa72-cortexa53-crypto = "${TUNE_FEATURES_tune-cortexa72-cortexa53} crypto"
15PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa72-cortexa53"
16PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa72-cortexa53 cortexa72-cortexa53-crypto"
17BASE_LIB_tune-cortexa72-cortexa53 = "lib64"
18BASE_LIB_tune-cortexa72-cortexa53-crypto = "lib64"
19
diff --git a/meta/conf/machine/include/tune-cortexa72.inc b/meta/conf/machine/include/tune-cortexa72.inc
deleted file mode 100644
index b3f68ab6e3..0000000000
--- a/meta/conf/machine/include/tune-cortexa72.inc
+++ /dev/null
@@ -1,13 +0,0 @@
1DEFAULTTUNE ?= "cortexa72"
2
3TUNEVALID[cortexa72] = "Enable Cortex-A72 specific processor optimizations"
4TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa72', ' -mcpu=cortex-a72', '', d)}"
5
6require conf/machine/include/arm/arch-armv8a.inc
7
8# Little Endian base configs
9AVAILTUNES += "cortexa72"
10ARMPKGARCH_tune-cortexa72 = "cortexa72"
11TUNE_FEATURES_tune-cortexa72 = "${TUNE_FEATURES_tune-armv8a-crc-crypto} cortexa72"
12PACKAGE_EXTRA_ARCHS_tune-cortexa72 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa72"
13BASE_LIB_tune-cortexa72 = "lib64"
diff --git a/meta/conf/machine/include/tune-cortexa73-cortexa53.inc b/meta/conf/machine/include/tune-cortexa73-cortexa53.inc
deleted file mode 100644
index 3750f0762d..0000000000
--- a/meta/conf/machine/include/tune-cortexa73-cortexa53.inc
+++ /dev/null
@@ -1,19 +0,0 @@
1DEFAULTTUNE ?= "cortexa73-cortexa53"
2
3TUNEVALID[cortexa73-cortexa53] = "Enable big.LITTLE Cortex-A73.Cortex-A53 specific processor optimizations"
4MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", "cortexa73-cortexa53:", "", d)}"
5TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", " -mcpu=cortex-a73.cortex-a53", "", d)}"
6
7require conf/machine/include/arm/arch-armv8a.inc
8
9# cortexa73.cortexa53 implies crc support
10AVAILTUNES += "cortexa73-cortexa53 cortexa73-cortexa53-crypto"
11ARMPKGARCH_tune-cortexa73-cortexa53 = "cortexa73-cortexa53"
12ARMPKGARCH_tune-cortexa73-cortexa53-crypto = "cortexa73-cortexa53-crypto"
13TUNE_FEATURES_tune-cortexa73-cortexa53 = "${TUNE_FEATURES_tune-armv8a-crc} cortexa73-cortexa53"
14TUNE_FEATURES_tune-cortexa73-cortexa53-crypto = "${TUNE_FEATURES_tune-cortexa73-cortexa53} crypto"
15PACKAGE_EXTRA_ARCHS_tune-cortexa73-cortexa53 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa73-cortexa53"
16PACKAGE_EXTRA_ARCHS_tune-cortexa73-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa73-cortexa53 cortexa73-cortexa53-crypto"
17BASE_LIB_tune-cortexa73-cortexa53 = "lib64"
18BASE_LIB_tune-cortexa73-cortexa53-crypto = "lib64"
19
diff --git a/meta/conf/machine/include/tune-cortexa8.inc b/meta/conf/machine/include/tune-cortexa8.inc
deleted file mode 100644
index f27bfb8d67..0000000000
--- a/meta/conf/machine/include/tune-cortexa8.inc
+++ /dev/null
@@ -1,39 +0,0 @@
1DEFAULTTUNE ?= "armv7athf-neon"
2
3require conf/machine/include/arm/arch-armv7a.inc
4
5TUNEVALID[cortexa8] = "Enable Cortex-A8 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa8', ' -mcpu=cortex-a8', '', d)}"
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa8', 'armv7a:', '', d)}"
8
9# Little Endian base configs
10AVAILTUNES += "cortexa8 cortexa8t cortexa8-neon cortexa8t-neon"
11ARMPKGARCH_tune-cortexa8 = "cortexa8"
12ARMPKGARCH_tune-cortexa8t = "cortexa8"
13ARMPKGARCH_tune-cortexa8-neon = "cortexa8"
14ARMPKGARCH_tune-cortexa8t-neon = "cortexa8"
15# mcpu is used so don't use armv7a as we don't want march
16TUNE_FEATURES_tune-cortexa8 = "arm vfp cortexa8"
17TUNE_FEATURES_tune-cortexa8t = "${TUNE_FEATURES_tune-cortexa8} thumb"
18TUNE_FEATURES_tune-cortexa8-neon = "${TUNE_FEATURES_tune-cortexa8} neon"
19TUNE_FEATURES_tune-cortexa8t-neon = "${TUNE_FEATURES_tune-cortexa8-neon} thumb"
20PACKAGE_EXTRA_ARCHS_tune-cortexa8 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa8-vfp"
21PACKAGE_EXTRA_ARCHS_tune-cortexa8t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa8-vfp cortexa8t2-vfp"
22PACKAGE_EXTRA_ARCHS_tune-cortexa8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa8-vfp cortexa8-neon"
23PACKAGE_EXTRA_ARCHS_tune-cortexa8t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa8-vfp cortexa8-neon cortexa8t2-vfp cortexa8t2-neon"
24
25# HF Tunes
26AVAILTUNES += "cortexa8hf cortexa8thf cortexa8hf-neon cortexa8thf-neon"
27ARMPKGARCH_tune-cortexa8hf = "cortexa8"
28ARMPKGARCH_tune-cortexa8thf = "cortexa8"
29ARMPKGARCH_tune-cortexa8hf-neon = "cortexa8"
30ARMPKGARCH_tune-cortexa8thf-neon = "cortexa8"
31# mcpu is used so don't use armv7a as we don't want march
32TUNE_FEATURES_tune-cortexa8hf = "${TUNE_FEATURES_tune-cortexa8} callconvention-hard"
33TUNE_FEATURES_tune-cortexa8thf = "${TUNE_FEATURES_tune-cortexa8t} callconvention-hard"
34TUNE_FEATURES_tune-cortexa8hf-neon = "${TUNE_FEATURES_tune-cortexa8-neon} callconvention-hard"
35TUNE_FEATURES_tune-cortexa8thf-neon = "${TUNE_FEATURES_tune-cortexa8t-neon} callconvention-hard"
36PACKAGE_EXTRA_ARCHS_tune-cortexa8hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa8hf-vfp"
37PACKAGE_EXTRA_ARCHS_tune-cortexa8thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa8hf-vfp cortexa8t2hf-vfp"
38PACKAGE_EXTRA_ARCHS_tune-cortexa8hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa8hf-vfp cortexa8hf-neon"
39PACKAGE_EXTRA_ARCHS_tune-cortexa8thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa8hf-vfp cortexa8hf-neon cortexa8t2hf-vfp cortexa8t2hf-neon"
diff --git a/meta/conf/machine/include/tune-cortexa9.inc b/meta/conf/machine/include/tune-cortexa9.inc
deleted file mode 100644
index 0eb8f3b9d3..0000000000
--- a/meta/conf/machine/include/tune-cortexa9.inc
+++ /dev/null
@@ -1,55 +0,0 @@
1DEFAULTTUNE ?= "armv7athf-neon"
2
3require conf/machine/include/arm/arch-armv7a.inc
4
5TUNEVALID[cortexa9] = "Enable Cortex-A9 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa9', ' -mcpu=cortex-a9', '', d)}"
7MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa9', 'armv7a:', '', d)}"
8
9# Little Endian base configs
10AVAILTUNES += "cortexa9 cortexa9t cortexa9-neon cortexa9t-neon"
11ARMPKGARCH_tune-cortexa9 = "cortexa9"
12ARMPKGARCH_tune-cortexa9t = "cortexa9"
13ARMPKGARCH_tune-cortexa9-neon = "cortexa9"
14ARMPKGARCH_tune-cortexa9t-neon = "cortexa9"
15# mcpu is used so don't use armv7a as we don't want march
16TUNE_FEATURES_tune-cortexa9 = "arm vfp cortexa9"
17TUNE_FEATURES_tune-cortexa9t = "${TUNE_FEATURES_tune-cortexa9} thumb"
18TUNE_FEATURES_tune-cortexa9-neon = "${TUNE_FEATURES_tune-cortexa9} neon"
19TUNE_FEATURES_tune-cortexa9t-neon = "${TUNE_FEATURES_tune-cortexa9-neon} thumb"
20PACKAGE_EXTRA_ARCHS_tune-cortexa9 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa9-vfp"
21PACKAGE_EXTRA_ARCHS_tune-cortexa9t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa9-vfp cortexa9t2-vfp"
22PACKAGE_EXTRA_ARCHS_tune-cortexa9-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa9-vfp cortexa9-neon"
23PACKAGE_EXTRA_ARCHS_tune-cortexa9t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa9-vfp cortexa9-neon cortexa9t2-vfp cortexa9t2-neon"
24
25# HF Tunes
26AVAILTUNES += "cortexa9hf cortexa9thf cortexa9hf-neon cortexa9thf-neon"
27ARMPKGARCH_tune-cortexa9hf = "cortexa9"
28ARMPKGARCH_tune-cortexa9thf = "cortexa9"
29ARMPKGARCH_tune-cortexa9hf-neon = "cortexa9"
30ARMPKGARCH_tune-cortexa9thf-neon = "cortexa9"
31# mcpu is used so don't use armv7a as we don't want march
32TUNE_FEATURES_tune-cortexa9hf = "${TUNE_FEATURES_tune-cortexa9} callconvention-hard"
33TUNE_FEATURES_tune-cortexa9thf = "${TUNE_FEATURES_tune-cortexa9t} callconvention-hard"
34TUNE_FEATURES_tune-cortexa9hf-neon = "${TUNE_FEATURES_tune-cortexa9-neon} callconvention-hard"
35TUNE_FEATURES_tune-cortexa9thf-neon = "${TUNE_FEATURES_tune-cortexa9t-neon} callconvention-hard"
36PACKAGE_EXTRA_ARCHS_tune-cortexa9hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa9hf-vfp"
37PACKAGE_EXTRA_ARCHS_tune-cortexa9thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa9hf-vfp cortexa9t2hf-vfp"
38PACKAGE_EXTRA_ARCHS_tune-cortexa9hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa9hf-vfp cortexa9hf-neon"
39PACKAGE_EXTRA_ARCHS_tune-cortexa9thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa9hf-vfp cortexa9hf-neon cortexa9t2hf-vfp cortexa9t2hf-neon"
40
41# VFPv3 Tunes
42AVAILTUNES += "cortexa9-vfpv3 cortexa9t-vfpv3 cortexa9hf-vfpv3 cortexa9thf-vfpv3"
43ARMPKGARCH_tune-cortexa9-vfpv3 = "cortexa9"
44ARMPKGARCH_tune-cortexa9t-vfpv3 = "cortexa9"
45ARMPKGARCH_tune-cortexa9hf-vfpv3 = "cortexa9"
46ARMPKGARCH_tune-cortexa9thf-vfpv3 = "cortexa9"
47# mcpu is used so don't use armv7a as we don't want march
48TUNE_FEATURES_tune-cortexa9-vfpv3 = "${TUNE_FEATURES_tune-cortexa9} vfpv3"
49TUNE_FEATURES_tune-cortexa9t-vfpv3 = "${TUNE_FEATURES_tune-cortexa9t} vfpv3"
50TUNE_FEATURES_tune-cortexa9hf-vfpv3 = "${TUNE_FEATURES_tune-cortexa9hf} vfpv3"
51TUNE_FEATURES_tune-cortexa9thf-vfpv3 = "${TUNE_FEATURES_tune-cortexa9thf} vfpv3"
52PACKAGE_EXTRA_ARCHS_tune-cortexa9-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3} cortexa9-vfp cortexa9-vfpv3"
53PACKAGE_EXTRA_ARCHS_tune-cortexa9t-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3} cortexa9-vfp cortexa9-vfpv3 cortexa9t2-vfp cortexa9t2-vfpv3"
54PACKAGE_EXTRA_ARCHS_tune-cortexa9hf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3} cortexa9hf-vfp cortexa9hf-vfpv3"
55PACKAGE_EXTRA_ARCHS_tune-cortexa9thf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3} cortexa9hf-vfp cortexa9hf-vfpv3 cortexa9t2hf-vfp cortexa9t2hf-vfpv3"
diff --git a/meta/conf/machine/include/tune-mips32.inc b/meta/conf/machine/include/tune-mips32.inc
deleted file mode 100644
index a90c0f059d..0000000000
--- a/meta/conf/machine/include/tune-mips32.inc
+++ /dev/null
@@ -1,29 +0,0 @@
1DEFAULTTUNE ?= "mips32"
2
3require conf/machine/include/mips/arch-mips.inc
4
5TUNEVALID[mips32] = "Enable mips32 specific processor optimizations"
6TUNECONFLICTS[mips32] = "n64 n32"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips32', ' -march=mips32', '', d)}"
8
9# Base Tunes (Hard Float)
10AVAILTUNES += "mips32 mips32el"
11
12TUNE_FEATURES_tune-mips32 = "${TUNE_FEATURES_tune-mips} mips32"
13MIPSPKGSFX_VARIANT_tune-mips32 = "mips32"
14PACKAGE_EXTRA_ARCHS_tune-mips32 = "mips mips32"
15
16TUNE_FEATURES_tune-mips32el = "${TUNE_FEATURES_tune-mipsel} mips32"
17MIPSPKGSFX_VARIANT_tune-mips32el = "mips32el"
18PACKAGE_EXTRA_ARCHS_tune-mips32el = "mipsel mips32el"
19
20# Soft Float
21AVAILTUNES += "mips32-nf mips32el-nf"
22
23TUNE_FEATURES_tune-mips32-nf = "${TUNE_FEATURES_tune-mips-nf} mips32"
24MIPSPKGSFX_VARIANT_tune-mips32-nf = "mips32"
25PACKAGE_EXTRA_ARCHS_tune-mips32-nf = "mips-nf mips32-nf"
26
27TUNE_FEATURES_tune-mips32el-nf = "${TUNE_FEATURES_tune-mipsel-nf} mips32"
28MIPSPKGSFX_VARIANT_tune-mips32el-nf = "mips32el"
29PACKAGE_EXTRA_ARCHS_tune-mips32el-nf = "mipsel-nf mips32el-nf"
diff --git a/meta/conf/machine/include/tune-mips32r2.inc b/meta/conf/machine/include/tune-mips32r2.inc
deleted file mode 100644
index 14473ca831..0000000000
--- a/meta/conf/machine/include/tune-mips32r2.inc
+++ /dev/null
@@ -1,29 +0,0 @@
1DEFAULTTUNE ?= "mips32r2"
2
3require conf/machine/include/tune-mips32.inc
4
5TUNEVALID[mips32r2] = "Enable mips32r2 specific processor optimizations"
6TUNECONFLICTS[mips32r2] = "n64 n32"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips32r2', ' -march=mips32r2', '', d)}"
8
9# Base Tunes (Hard Float)
10AVAILTUNES += "mips32r2 mips32r2el"
11
12TUNE_FEATURES_tune-mips32r2 = "${TUNE_FEATURES_tune-mips} mips32r2"
13MIPSPKGSFX_VARIANT_tune-mips32r2 = "mips32r2"
14PACKAGE_EXTRA_ARCHS_tune-mips32r2 = "mips mips32 mips32r2"
15
16TUNE_FEATURES_tune-mips32r2el = "${TUNE_FEATURES_tune-mipsel} mips32r2"
17MIPSPKGSFX_VARIANT_tune-mips32r2el = "mips32r2el"
18PACKAGE_EXTRA_ARCHS_tune-mips32r2el = "mipsel mips32el mips32r2el"
19
20# Soft Float
21AVAILTUNES += "mips32r2-nf mips32r2el-nf"
22
23TUNE_FEATURES_tune-mips32r2-nf = "${TUNE_FEATURES_tune-mips-nf} mips32r2"
24MIPSPKGSFX_VARIANT_tune-mips32r2-nf = "mips32r2"
25PACKAGE_EXTRA_ARCHS_tune-mips32r2-nf = "mips-nf mips32-nf mips32r2-nf"
26
27TUNE_FEATURES_tune-mips32r2el-nf = "${TUNE_FEATURES_tune-mipsel-nf} mips32r2"
28MIPSPKGSFX_VARIANT_tune-mips32r2el-nf = "mips32r2el"
29PACKAGE_EXTRA_ARCHS_tune-mips32r2el-nf = "mipsel-nf mips32el-nf mips32r2el-nf"
diff --git a/meta/conf/machine/include/tune-mips32r6.inc b/meta/conf/machine/include/tune-mips32r6.inc
deleted file mode 100644
index 44369cb59c..0000000000
--- a/meta/conf/machine/include/tune-mips32r6.inc
+++ /dev/null
@@ -1,29 +0,0 @@
1DEFAULTTUNE ?= "mipsisa32r6el"
2
3require conf/machine/include/mips/arch-mips.inc
4
5TUNEVALID[mipsisa32r6] = "Enable mipsisa32r6 specific processor optimizations"
6TUNECONFLICTS[mipsisa32r6] = "n64 n32"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa32r6', ' -march=mips32r6', '', d)}"
8
9# Base Tunes (Hard Float)
10AVAILTUNES += "mipsisa32r6 mipsisa32r6el"
11
12TUNE_FEATURES_tune-mipsisa32r6 = "o32 bigendian mipsisa32r6 fpu-hard r6"
13MIPSPKGSFX_VARIANT_tune-mipsisa32r6 = "${TUNE_ARCH}"
14PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6 = "mipsisa32r6"
15
16TUNE_FEATURES_tune-mipsisa32r6el = "o32 fpu-hard mipsisa32r6 r6"
17MIPSPKGSFX_VARIANT_tune-mipsisa32r6el = "${TUNE_ARCH}"
18PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6el = "mipsisa32r6el"
19
20# Soft Float
21AVAILTUNES += "mipsisa32r6-nf mipsisa32r6el-nf"
22
23TUNE_FEATURES_tune-mipsisa32r6-nf = "o32 bigendian mipsisa32r6 r6"
24MIPSPKGSFX_VARIANT_tune-mipsisa32r6-nf = "${TUNE_ARCH}"
25PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6-nf = "mipsisa32r6-nf"
26
27TUNE_FEATURES_tune-mipsisa32r6el-nf = "o32 mipsisa32r6 r6"
28MIPSPKGSFX_VARIANT_tune-mipsisa32r6el-nf = "${TUNE_ARCH}"
29PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6el-nf = "mipsisa32r6el-nf"
diff --git a/meta/conf/machine/include/tune-mips64.inc b/meta/conf/machine/include/tune-mips64.inc
deleted file mode 100644
index 9be0e0f8d9..0000000000
--- a/meta/conf/machine/include/tune-mips64.inc
+++ /dev/null
@@ -1,3 +0,0 @@
1DEFAULTTUNE ?= "mips64"
2
3require conf/machine/include/tune-mips32r2.inc
diff --git a/meta/conf/machine/include/tune-mips64r2.inc b/meta/conf/machine/include/tune-mips64r2.inc
deleted file mode 100644
index 75d7535add..0000000000
--- a/meta/conf/machine/include/tune-mips64r2.inc
+++ /dev/null
@@ -1,84 +0,0 @@
1DEFAULTTUNE ?= "mips64r2"
2
3require conf/machine/include/tune-mips64.inc
4
5TUNEVALID[mips64r2] = "Enable mips64r2 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips64r2', ' -march=mips64r2', '', d)}"
7
8# Base tunes
9AVAILTUNES += "mips64r2 mips64r2el"
10
11TUNE_FEATURES_tune-mips64r2 = "${TUNE_FEATURES_tune-mips64} mips64r2"
12BASE_LIB_tune-mips64r2 = "lib64"
13MIPSPKGSFX_VARIANT_tune-mips64r2 = "mips64r2"
14PACKAGE_EXTRA_ARCHS_tune-mips64r2 = "mips64 mips64r2"
15
16TUNE_FEATURES_tune-mips64r2el = "${TUNE_FEATURES_tune-mips64el} mips64r2"
17BASE_LIB_tune-mips64r2el = "lib64"
18MIPSPKGSFX_VARIANT_tune-mips64r2el = "mips64r2el"
19PACKAGE_EXTRA_ARCHS_tune-mips64r2el = "mips64el mips64r2el"
20
21# MIPS 64r2 Soft Float
22AVAILTUNES += "mips64r2-nf mips64r2el-nf"
23
24TUNE_FEATURES_tune-mips64r2-nf = "${TUNE_FEATURES_tune-mips64-nf} mips64r2"
25BASE_LIB_tune-mips64r2-nf = "lib64"
26MIPSPKGSFX_VARIANT_tune-mips64r2-nf = "${TUNE_ARCH}"
27PACKAGE_EXTRA_ARCHS_tune-mips64r2-nf = "mips64-nf mips64r2-nf"
28
29TUNE_FEATURES_tune-mips64r2el-nf = "${TUNE_FEATURES_tune-mips64el-nf} mips64r2"
30BASE_LIB_tune-mips64r2el-nf = "lib64"
31MIPSPKGSFX_VARIANT_tune-mips64r2el-nf = "${TUNE_ARCH}"
32PACKAGE_EXTRA_ARCHS_tune-mips64r2el-nf = "mips64el-nf mips64r2el-nf"
33
34# MIPS 64r2 n32
35AVAILTUNES += "mips64r2-n32 mips64r2el-n32"
36
37TUNE_FEATURES_tune-mips64r2-n32 = "${TUNE_FEATURES_tune-mips64-n32} mips64r2"
38BASE_LIB_tune-mips64r2-n32 = "lib32"
39MIPSPKGSFX_VARIANT_tune-mips64r2-n32 = "${TUNE_ARCH}"
40PACKAGE_EXTRA_ARCHS_tune-mips64r2-n32 = "mips64-n32 mips64r2-n32"
41
42TUNE_FEATURES_tune-mips64r2el-n32 = "${TUNE_FEATURES_tune-mips64el-n32} mips64r2"
43BASE_LIB_tune-mips64r2el-n32 = "lib32"
44MIPSPKGSFX_VARIANT_tune-mips64r2el-n32 = "${TUNE_ARCH}"
45PACKAGE_EXTRA_ARCHS_tune-mips64r2el-n32 = "mips64el-n32 mips64r2el-n32"
46
47# MIPS 64r2 n32 and Soft Float
48AVAILTUNES += "mips64r2-nf-n32 mips64r2el-nf-n32"
49
50TUNE_FEATURES_tune-mips64r2-nf-n32 = "${TUNE_FEATURES_tune-mips64-nf-n32} mips64r2"
51BASE_LIB_tune-mips64r2-nf-n32 = "lib32"
52MIPSPKGSFX_VARIANT_tune-mips64r2-nf-n32 = "${TUNE_ARCH}"
53PACKAGE_EXTRA_ARCHS_tune-mips64r2-nf-n32 = "mips64-nf-n32 mips64r2-nf-n32"
54
55TUNE_FEATURES_tune-mips64r2el-nf-n32 = "${TUNE_FEATURES_tune-mips64el-nf-n32} mips64r2"
56BASE_LIB_tune-mips64r2el-nf-n32 = "lib32"
57MIPSPKGSFX_VARIANT_tune-mips64r2el-nf-n32 = "${TUNE_ARCH}"
58PACKAGE_EXTRA_ARCHS_tune-mips64r2el-nf-n32 = "mips64el-nf-n32 mips64r2el-nf-n32"
59
60# MIPS 64r2 o32
61AVAILTUNES += "mips64r2-o32 mips64r2el-o32"
62
63TUNE_FEATURES_tune-mips64r2-o32 = "${TUNE_FEATURES_tune-mips64-o32} mips64r2"
64BASE_LIB_tune-mips64r2-o32 = "lib"
65MIPSPKGSFX_VARIANT_tune-mips64r2-o32 = "${TUNE_ARCH}"
66PACKAGE_EXTRA_ARCHS_tune-mips64r2-o32 = "mips mips64-o32 mips64r2-o32"
67
68TUNE_FEATURES_tune-mips64r2el-o32 = "${TUNE_FEATURES_tune-mips64el-o32} mips64r2"
69BASE_LIB_tune-mips64r2el-o32 = "lib"
70MIPSPKGSFX_VARIANT_tune-mips64r2el-o32 = "${TUNE_ARCH}"
71PACKAGE_EXTRA_ARCHS_tune-mips64r2el-o32 = "mipsel mips64el-o32 mips64r2el-o32"
72
73# MIPS 64r2 o32 and Soft Float
74AVAILTUNES += "mips64r2-nf-o32 mips64r2el-nf-o32"
75
76TUNE_FEATURES_tune-mips64r2-nf-o32 = "${TUNE_FEATURES_tune-mips64-nf-o32} mips64r2"
77BASE_LIB_tune-mips64r2-nf-o32 = "lib"
78MIPSPKGSFX_VARIANT_tune-mips64r2-nf-o32 = "${TUNE_ARCH}"
79PACKAGE_EXTRA_ARCHS_tune-mips64r2-nf-o32 = "mips-nf mips64r2-nf-o32"
80
81TUNE_FEATURES_tune-mips64r2el-nf-o32 = "${TUNE_FEATURES_tune-mips64el-nf-o32} mips64r2"
82BASE_LIB_tune-mips64r2el-nf-o32 = "lib"
83MIPSPKGSFX_VARIANT_tune-mips64r2el-nf-o32 = "${TUNE_ARCH}"
84PACKAGE_EXTRA_ARCHS_tune-mips64r2el-nf-o32 = "mipsel-nf mips64r2el-nf-o32"
diff --git a/meta/conf/machine/include/tune-mips64r6.inc b/meta/conf/machine/include/tune-mips64r6.inc
deleted file mode 100644
index e53239a38b..0000000000
--- a/meta/conf/machine/include/tune-mips64r6.inc
+++ /dev/null
@@ -1,58 +0,0 @@
1DEFAULTTUNE ?= "mipsisa64r6el"
2
3require conf/machine/include/mips/arch-mips.inc
4
5TUNEVALID[mipsisa64r6] = "Enable mipsisa64r6 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', ' -march=mips64r6', '', d)}"
7
8# Base Tunes
9AVAILTUNES += "mipsisa64r6 mipsisa64r6el"
10
11TUNE_FEATURES_tune-mipsisa64r6 = "bigendian fpu-hard n64 mipsisa64r6 r6"
12MIPSPKGSFX_VARIANT_tune-mipsisa64r6 = "${TUNE_ARCH}"
13BASE_LIB_tune-mipsisa64r6 = "lib64"
14PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6 = "mipsisa64r6"
15
16TUNE_FEATURES_tune-mipsisa64r6el = "fpu-hard r6 n64 mipsisa64r6"
17MIPSPKGSFX_VARIANT_tune-mipsisa64r6el = "${TUNE_ARCH}"
18BASE_LIB_tune-mipsisa64r6el = "lib64"
19PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6el = "mipsisa64r6el"
20
21# Soft Float
22AVAILTUNES += "mipsisa64r6-nf mipsisa64r6el-nf"
23
24TUNE_FEATURES_tune-mipsisa64r6-nf = "bigendian r6 n64 mipsisa64r6"
25MIPSPKGSFX_VARIANT_tune-mipsisa64r6-nf = "${TUNE_ARCH}"
26BASE_LIB_tune-mipsisa64r6-nf = "lib64"
27PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6-nf = "mipsisa64r6-nf"
28
29TUNE_FEATURES_tune-mipsisa64r6el-nf = "r6 n64 mipsisa64r6"
30MIPSPKGSFX_VARIANT_tune-mipsisa64r6el-nf = "${TUNE_ARCH}"
31BASE_LIB_tune-mipsisa64r6el-nf = "lib64"
32PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6el-nf = "mipsisa64r6el-nf"
33
34# MIPS 64r6 n32
35AVAILTUNES += "mipsisa64r6-n32 mipsisa64r6el-n32"
36
37TUNE_FEATURES_tune-mipsisa64r6-n32 = "bigendian fpu-hard r6 n32 mipsisa64r6"
38BASE_LIB_tune-mipsisa64r6-n32 = "lib32"
39MIPSPKGSFX_VARIANT_tune-mipsisa64r6-n32 = "${TUNE_ARCH}"
40PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6-n32 = "mipsisa64r6-n32"
41
42TUNE_FEATURES_tune-mipsisa64r6el-n32 = "fpu-hard r6 n32 mipsisa64r6"
43BASE_LIB_tune-mipsisa64r6el-n32 = "lib32"
44MIPSPKGSFX_VARIANT_tune-mipsisa64r6el-n32 = "${TUNE_ARCH}"
45PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6el-n32 = "mipsisa64r6el-n32"
46
47# MIPS 64r6 n32 and Soft Float
48AVAILTUNES += "mipsisa64r6-nf-n32 mipsisa64r6el-nf-n32"
49
50TUNE_FEATURES_tune-mipsisa64r6-nf-n32 = "bigendian r6 n32 mipsisa64r6"
51BASE_LIB_tune-mipsisa64r6-nf-n32 = "lib32"
52MIPSPKGSFX_VARIANT_tune-mipsisa64r6-nf-n32 = "${TUNE_ARCH}"
53PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6-nf-n32 = "mipsisa64r6-nf-n32"
54
55TUNE_FEATURES_tune-mipsisa64r6el-nf-n32 = "r6 n32 mipsisa64r6"
56BASE_LIB_tune-mipsisa64r6el-nf-n32 = "lib32"
57MIPSPKGSFX_VARIANT_tune-mipsisa64r6el-nf-n32 = "${TUNE_ARCH}"
58PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6el-nf-n32 = "mipsisa64r6el-nf-n32"
diff --git a/meta/conf/machine/include/tune-octeon.inc b/meta/conf/machine/include/tune-octeon.inc
deleted file mode 100644
index b5deb8fd88..0000000000
--- a/meta/conf/machine/include/tune-octeon.inc
+++ /dev/null
@@ -1,32 +0,0 @@
1DEFAULTTUNE ?="octeon2"
2
3require conf/machine/include/tune-mips64.inc
4
5AVAILTUNES += "octeon2 octeon2_64 octeon3 octeon3_64"
6
7TUNEVALID[octeon2] = "Enable optimization related to octeon2 support"
8TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'octeon2', ' -march=octeon2 ', '',d)}"
9
10TUNE_FEATURES_tune-octeon2 = "${TUNE_FEATURES_tune-mips64-n32} octeon2"
11BASE_LIB_tune-octeon2 = "lib32"
12MIPSPKGSFX_VARIANT_tune-octeon2 = "octeon2"
13PACKAGE_EXTRA_ARCHS_tune-octeon2 = "mips64-n32 octeon2-n32"
14
15TUNE_FEATURES_tune-octeon2_64 = "${TUNE_FEATURES_tune-mips64} octeon2"
16BASE_LIB_tune-octeon2_64 = "lib64"
17MIPSPKGSFX_VARIANT_tune-octeon2_64 = "octeon2_64"
18PACKAGE_EXTRA_ARCHS_tune-octeon2_64 = "mips64 octeon2_64"
19
20
21TUNEVALID[octeon3] = "Enable optimization related to octeon3 support"
22TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'octeon3', ' -march=octeon3 ', '',d)}"
23
24TUNE_FEATURES_tune-octeon3 = "${TUNE_FEATURES_tune-mips64-n32} octeon3"
25BASE_LIB_tune-octeon3 = "lib32"
26MIPSPKGSFX_VARIANT_tune-octeon3 = "octeon3"
27PACKAGE_EXTRA_ARCHS_tune-octeon3 = "mips64-n32 octeon3-n32"
28
29TUNE_FEATURES_tune-octeon3_64 = "${TUNE_FEATURES_tune-mips64} octeon3"
30BASE_LIB_tune-octeon3_64 = "lib64"
31MIPSPKGSFX_VARIANT_tune-octeon3_64 = "octeon3_64"
32PACKAGE_EXTRA_ARCHS_tune-octeon3_64 = "mips64 octeon3_64"
diff --git a/meta/conf/machine/include/tune-power5.inc b/meta/conf/machine/include/tune-power5.inc
deleted file mode 100644
index 48c33fb273..0000000000
--- a/meta/conf/machine/include/tune-power5.inc
+++ /dev/null
@@ -1,24 +0,0 @@
1DEFAULTTUNE ?= "ppcp5"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[power5] = "Enable IBM Power5 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power5', ' -mcpu=power5', '', d)}"
7
8AVAILTUNES += "ppcp5 ppc64p5"
9TUNE_FEATURES_tune-ppcp5 = "m32 fpu-hard power5 altivec bigendian"
10BASE_LIB_tune-ppcp5 = "lib"
11TUNE_PKGARCH_tune-ppcp5 = "ppcp5"
12PACKAGE_EXTRA_ARCHS_tune-ppcp5 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp5"
13
14TUNE_FEATURES_tune-ppc64p5 = "m64 fpu-hard power5 altivec bigendian"
15BASE_LIB_tune-ppc64p5 = "lib64"
16TUNE_PKGARCH_tune-ppc64p5 = "ppc64p5"
17PACKAGE_EXTRA_ARCHS_tune-ppc64p5 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p5"
18
19# glibc configure options to get power5 specific library
20GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power5', '--with-cpu=power5', '', d)}"
21GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power5', '--with-cpu=power5', '', d)}"
22
23# QEMU usermode fails with invalid instruction error
24MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'power5', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/tune-power6.inc b/meta/conf/machine/include/tune-power6.inc
deleted file mode 100644
index b708660217..0000000000
--- a/meta/conf/machine/include/tune-power6.inc
+++ /dev/null
@@ -1,24 +0,0 @@
1DEFAULTTUNE ?= "ppcp6"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[power6] = "Enable IBM Power6 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power6', ' -mcpu=power6', '', d)}"
7
8AVAILTUNES += "ppcp6 ppc64p6"
9TUNE_FEATURES_tune-ppcp6 = "m32 fpu-hard power6 altivec bigendian"
10BASE_LIB_tune-ppcp6 = "lib"
11TUNE_PKGARCH_tune-ppcp6 = "ppcp6"
12PACKAGE_EXTRA_ARCHS_tune-ppcp6 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp6"
13
14TUNE_FEATURES_tune-ppc64p6 = "m64 fpu-hard power6 altivec bigendian"
15BASE_LIB_tune-ppc64p6 = "lib64"
16TUNE_PKGARCH_tune-ppc64p6 = "ppc64p6"
17PACKAGE_EXTRA_ARCHS_tune-ppc64p6 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p6"
18
19# glibc configure options to get power6 specific library
20GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power6', '--with-cpu=power6', '', d)}"
21GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power6', '--with-cpu=power6', '', d)}"
22
23# QEMU usermode fails with invalid instruction error
24MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'power6', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/tune-power7.inc b/meta/conf/machine/include/tune-power7.inc
deleted file mode 100644
index e976cc0467..0000000000
--- a/meta/conf/machine/include/tune-power7.inc
+++ /dev/null
@@ -1,24 +0,0 @@
1DEFAULTTUNE ?= "ppcp7"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[power7] = "Enable IBM Power7 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power7', ' -mcpu=power7', '', d)}"
7
8AVAILTUNES += "ppcp7 ppc64p7"
9TUNE_FEATURES_tune-ppcp7 = "m32 fpu-hard power7 altivec bigendian"
10BASE_LIB_tune-ppcp7 = "lib"
11TUNE_PKGARCH_tune-ppcp7 = "ppcp7"
12PACKAGE_EXTRA_ARCHS_tune-ppcp7 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp7"
13
14TUNE_FEATURES_tune-ppc64p7 = "m64 fpu-hard power7 altivec bigendian"
15BASE_LIB_tune-ppc64p7 = "lib64"
16TUNE_PKGARCH_tune-ppc64p7 = "ppc64p7"
17PACKAGE_EXTRA_ARCHS_tune-ppc64p7 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p7"
18
19# glibc configure options to get power7 specific library
20GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power7', '--with-cpu=power7', '', d)}"
21GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power7', '--with-cpu=power7', '', d)}"
22
23# QEMU usermode fails with invalid instruction error
24MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'power7', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/tune-power9.inc b/meta/conf/machine/include/tune-power9.inc
deleted file mode 100644
index 401b73744f..0000000000
--- a/meta/conf/machine/include/tune-power9.inc
+++ /dev/null
@@ -1,31 +0,0 @@
1DEFAULTTUNE ?= "ppc64p9le"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[power9] = "Enable IBM Power9 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power9', ' -mcpu=power9', '', d)}"
7
8AVAILTUNES += "ppcp9 ppc64p9 ppcp9le ppc64p9le"
9
10TUNE_FEATURES_tune-ppcp9 = "m32 fpu-hard power9 altivec bigendian"
11BASE_LIB_tune-ppcp9 = "lib"
12TUNE_PKGARCH_tune-ppcp9 = "ppcp9"
13PACKAGE_EXTRA_ARCHS_tune-ppcp9 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp9"
14
15TUNE_FEATURES_tune-ppc64p9 = "m64 fpu-hard power9 altivec bigendian"
16BASE_LIB_tune-ppc64p9 = "lib64"
17TUNE_PKGARCH_tune-ppc64p9 = "ppc64p9"
18PACKAGE_EXTRA_ARCHS_tune-ppc64p9 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p9"
19
20TUNE_FEATURES_tune-ppcp9le = "m32 fpu-hard power9 altivec"
21BASE_LIB_tune-ppcp9le = "lib"
22TUNE_PKGARCH_tune-ppcp9le = "ppcp9le"
23PACKAGE_EXTRA_ARCHS_tune-ppcp9le = "${PACKAGE_EXTRA_ARCHS_tune-powerpcle} ppcp9le"
24
25TUNE_FEATURES_tune-ppc64p9le = "m64 fpu-hard power9 altivec"
26BASE_LIB_tune-ppc64p9le = "lib64"
27TUNE_PKGARCH_tune-ppc64p9le = "ppc64p9le"
28PACKAGE_EXTRA_ARCHS_tune-ppc64p9le = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64le} ppc64p9le"
29
30# glibc configure options to get power9 specific library
31GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'power9', '--with-cpu=power9', '', d)}"
diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc
deleted file mode 100644
index b110f13870..0000000000
--- a/meta/conf/machine/include/tune-ppc603e.inc
+++ /dev/null
@@ -1,14 +0,0 @@
1DEFAULTTUNE ?= "ppc603e"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc603e', ' -mcpu=603e', '', d)}"
7
8AVAILTUNES += "ppc603e"
9TUNE_FEATURES_tune-ppc603e = "m32 fpu-hard ppc603e bigendian"
10TUNE_PKGARCH_tune-ppc603e = "ppc603e"
11PACKAGE_EXTRA_ARCHS_tune-ppc603e = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc603e"
12
13# glibc configure options to get 603e specific library (for sqrt)
14GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'ppc603e', '-with-cpu=603e', '', d)}"
diff --git a/meta/conf/machine/include/tune-ppc7400.inc b/meta/conf/machine/include/tune-ppc7400.inc
deleted file mode 100644
index 92d902994b..0000000000
--- a/meta/conf/machine/include/tune-ppc7400.inc
+++ /dev/null
@@ -1,14 +0,0 @@
1DEFAULTTUNE ?= "ppc7400"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppc7400] = "Enable ppc7400 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc7400', ' -mcpu=7400 -mno-spe', '', d)}"
7
8AVAILTUNES += "ppc7400"
9TUNE_FEATURES_tune-ppc7400 = "m32 fpu-hard ppc7400 altivec bigendian"
10TUNE_PKGARCH_tune-ppc7400 = "ppc7400"
11PACKAGE_EXTRA_ARCHS_tune-ppc7400 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc7400"
12
13# glibc configure options to get 7400 specific library (for sqrt)
14#GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'ppc7400', '--with-cpu=power4', '', d)}"
diff --git a/meta/conf/machine/include/tune-ppce5500.inc b/meta/conf/machine/include/tune-ppce5500.inc
deleted file mode 100644
index acc6a50fca..0000000000
--- a/meta/conf/machine/include/tune-ppce5500.inc
+++ /dev/null
@@ -1,23 +0,0 @@
1DEFAULTTUNE ?= "ppce5500"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[e5500] = "Enable Freescale e5500 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' -mcpu=e5500', '', d)}"
7
8AVAILTUNES += "ppce5500 ppc64e5500"
9TUNE_FEATURES_tune-ppce5500 = "m32 fpu-hard e5500 bigendian"
10BASE_LIB_tune-ppce5500 = "lib"
11TUNE_PKGARCH_tune-ppce5500 = "ppce5500"
12PACKAGE_EXTRA_ARCHS_tune-ppce5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce5500"
13
14TUNE_FEATURES_tune-ppc64e5500 = "m64 fpu-hard e5500 bigendian"
15BASE_LIB_tune-ppc64e5500 = "lib64"
16TUNE_PKGARCH_tune-ppc64e5500 = "ppc64e5500"
17PACKAGE_EXTRA_ARCHS_tune-ppc64e5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e5500"
18
19# glibc configure options to get e5500 specific library (for sqrt)
20GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'e5500', '--with-cpu=e5500', '', d)}"
21
22# QEMU usermode fails with invalid instruction error (YOCTO: #10304)
23MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/tune-ppce6500.inc b/meta/conf/machine/include/tune-ppce6500.inc
deleted file mode 100644
index d12d218d06..0000000000
--- a/meta/conf/machine/include/tune-ppce6500.inc
+++ /dev/null
@@ -1,24 +0,0 @@
1DEFAULTTUNE ?= "ppce6500"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[e6500] = "Enable Freescale e6500 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' -mcpu=e6500', '', d)}"
7
8AVAILTUNES += "ppce6500 ppc64e6500"
9TUNE_FEATURES_tune-ppce6500 = "m32 fpu-hard e6500 altivec bigendian"
10BASE_LIB_tune-ppce6500 = "lib"
11TUNE_PKGARCH_tune-ppce6500 = "ppce6500"
12PACKAGE_EXTRA_ARCHS_tune-ppce6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce6500"
13
14TUNE_FEATURES_tune-ppc64e6500 = "m64 fpu-hard e6500 altivec bigendian"
15BASE_LIB_tune-ppc64e6500 = "lib64"
16TUNE_PKGARCH_tune-ppc64e6500 = "ppc64e6500"
17PACKAGE_EXTRA_ARCHS_tune-ppc64e6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e6500"
18
19# glibc configure options to get e6500 specific library
20GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'e6500', '--with-cpu=e6500', '', d)}"
21GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'e6500', '--with-cpu=e6500', '', d)}"
22
23# QEMU usermode fails with invalid instruction error (YOCTO: #10304)
24MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' qemu-usermode', '', d)}"
diff --git a/meta/conf/machine/include/tune-sh3.inc b/meta/conf/machine/include/tune-sh3.inc
deleted file mode 100644
index 80df9a0b61..0000000000
--- a/meta/conf/machine/include/tune-sh3.inc
+++ /dev/null
@@ -1,17 +0,0 @@
1DEFAULTTUNE ?= "sh3"
2
3require conf/machine/include/sh/arch-sh.inc
4
5TUNEVALID[sh3] = "Enable SH3 optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'sh3', ' -m3', '', d)}"
7
8AVAILTUNES += "sh3 sh3eb"
9TUNE_FEATURES_tune-sh3 = "sh3"
10TUNE_ARCH_tune-sh3 = "sh3"
11TUNE_PKGARCH_tune-sh3 = "sh3"
12PACKAGE_EXTRA_ARCHS_tune-sh3 = "sh sh3"
13
14TUNE_FEATURES_tune-sh3eb = "sh3 bigendian"
15TUNE_ARCH_tune-sh3eb = "sh3eb"
16TUNE_PKGARCH_tune-sh3eb = "sh3eb"
17PACKAGE_EXTRA_ARCHS_tune-sh3eb = "sheb sh3eb"
diff --git a/meta/conf/machine/include/tune-sh4.inc b/meta/conf/machine/include/tune-sh4.inc
deleted file mode 100644
index 4160c30e1a..0000000000
--- a/meta/conf/machine/include/tune-sh4.inc
+++ /dev/null
@@ -1,34 +0,0 @@
1DEFAULTTUNE ?= "sh4"
2
3# Pull in sh4 for compatibility...
4require conf/machine/include/sh/arch-sh.inc
5
6TUNEVALID[sh4] = "Enable SH4 optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'sh4', ' -m4', '', d)}"
8
9# NOTE: If you want to optimize to sh4a, conf/machine/include/tune-sh4a.inc.
10# But it is not compatible for sh4.
11# The binary optimized by m4a doesn't operate on sh4. It works on sh4a only.
12TUNEVALID[sh4a] = "Enable SH4a optimizations"
13TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'sh4a', ' -m4a', '', d)}"
14
15AVAILTUNES += "sh4 sh4eb sh4a sh4aeb"
16TUNE_FEATURES_tune-sh4 = "sh4"
17TUNE_ARCH_tune-sh4 = "sh4"
18TUNE_PKGARCH_tune-sh4 = "sh4"
19PACKAGE_EXTRA_ARCHS_tune-sh4 = "sh sh4"
20
21TUNE_FEATURES_tune-sh4eb = "sh4 bigendian"
22TUNE_ARCH_tune-sh4eb = "sh4eb"
23TUNE_PKGARCH_tune-sh4eb = "sh4eb"
24PACKAGE_EXTRA_ARCHS_tune-sh4eb = "sheb sh4eb"
25
26TUNE_FEATURES_tune-sh4a = "sh4a"
27TUNE_ARCH_tune-sh4a = "sh4"
28TUNE_PKGARCH_tune-sh4a = "sh4a"
29PACKAGE_EXTRA_ARCHS_tune-sh4a = "sh sh4 sh4a"
30
31TUNE_FEATURES_tune-sh4aeb = "sh4a bigendian"
32TUNE_ARCH_tune-sh4aeb = "sh4eb"
33TUNE_PKGARCH_tune-sh4aeb = "sh4aeb"
34PACKAGE_EXTRA_ARCHS_tune-sh4aeb = "sheb sh4eb sh4aeb"
diff --git a/meta/conf/machine/include/tune-thunderx.inc b/meta/conf/machine/include/tune-thunderx.inc
deleted file mode 100644
index d1aaf4891e..0000000000
--- a/meta/conf/machine/include/tune-thunderx.inc
+++ /dev/null
@@ -1,19 +0,0 @@
1DEFAULTTUNE ?= "thunderx"
2AVAILTUNES += "thunderx thunderx_be"
3
4TUNEVALID[thunderx] = "Enable instructions for Cavium ThunderX"
5
6TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thunderx', ' -mcpu=thunderx', '',d)}"
7
8require conf/machine/include/arm/arch-armv8a.inc
9
10ARMPKGARCH_tune-thunderx ?= "thunderx"
11ARMPKGARCH_tune-thunderx_be ?= "thunderx"
12
13TUNE_FEATURES_tune-thunderx = "${TUNE_FEATURES_tune-aarch64} thunderx"
14TUNE_FEATURES_tune-thunderx_be = "${TUNE_FEATURES_tune-thunderx} bigendian"
15BASE_LIB_tune-thunderx = "lib64"
16BASE_LIB_tune-thunderx_be = "lib64"
17
18PACKAGE_EXTRA_ARCHS_tune-thunderx = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} thunderx"
19PACKAGE_EXTRA_ARCHS_tune-thunderx_be = "aarch64_be thunderx_be"
diff --git a/meta/conf/machine/include/x86/README b/meta/conf/machine/include/x86/README
index 2b6c46c7eb..05aee533a7 100644
--- a/meta/conf/machine/include/x86/README
+++ b/meta/conf/machine/include/x86/README
@@ -14,7 +14,7 @@ X86ARCH64 - This is the 64-bit architecture GNU canonical arch, TUNE_ARCH.
14 14
15The TUNE_PKGARCH is defined as follows: 15The TUNE_PKGARCH is defined as follows:
16 16
17TUNE_PKGARCH = ${TUNE_PKGARCH_tune-${DEFAULTTUNE}} 17TUNE_PKGARCH = ${TUNE_PKGARCH:tune-${DEFAULTTUNE}}
18 18
19The package architecture for 32-bit targets is historical and generally 19The package architecture for 32-bit targets is historical and generally
20set to to match the core compatible processor type, i.e. i386. 20set to to match the core compatible processor type, i.e. i386.
diff --git a/meta/conf/machine/include/x86/arch-x86.inc b/meta/conf/machine/include/x86/arch-x86.inc
index 2edb360b7d..28742e794d 100644
--- a/meta/conf/machine/include/x86/arch-x86.inc
+++ b/meta/conf/machine/include/x86/arch-x86.inc
@@ -7,7 +7,7 @@ TARGET_FPU ?= ""
7X86ARCH32 ?= "i586" 7X86ARCH32 ?= "i586"
8X86ARCH64 ?= "x86_64" 8X86ARCH64 ?= "x86_64"
9 9
10TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" 10TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
11 11
12# ELF32 ABI 12# ELF32 ABI
13TUNEVALID[m32] = "IA32 ELF32 standard ABI" 13TUNEVALID[m32] = "IA32 ELF32 standard ABI"
@@ -25,7 +25,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', ' -mx32', '', d)}"
25TUNE_LDARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '-m elf32_x86_64', '', d)}" 25TUNE_LDARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '-m elf32_x86_64', '', d)}"
26TUNE_ASARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '-x32', '', d)}" 26TUNE_ASARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '-x32', '', d)}"
27# user mode qemu doesn't support x32 27# user mode qemu doesn't support x32
28MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'qemu-usermode', '', d)}" 28MACHINE_FEATURES_BACKFILL_CONSIDERED:append = " ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'qemu-usermode', '', d)}"
29MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', d)}" 29MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', d)}"
30 30
31# ELF64 ABI 31# ELF64 ABI
@@ -36,19 +36,19 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm64', ' -m64', '', d)}"
36 36
37# Default Tune configurations 37# Default Tune configurations
38AVAILTUNES += "x86" 38AVAILTUNES += "x86"
39TUNE_FEATURES_tune-x86 = "m32" 39TUNE_FEATURES:tune-x86 = "m32"
40BASE_LIB_tune-x86 = "lib" 40BASE_LIB:tune-x86 = "lib"
41TUNE_PKGARCH_tune-x86 = "x86" 41TUNE_PKGARCH:tune-x86 = "x86"
42PACKAGE_EXTRA_ARCHS_tune-x86 = "${TUNE_PKGARCH_tune-x86}" 42PACKAGE_EXTRA_ARCHS:tune-x86 = "${TUNE_PKGARCH:tune-x86}"
43 43
44AVAILTUNES += "x86-64" 44AVAILTUNES += "x86-64"
45TUNE_FEATURES_tune-x86-64 = "m64" 45TUNE_FEATURES:tune-x86-64 = "m64"
46BASE_LIB_tune-x86-64 = "lib64" 46BASE_LIB:tune-x86-64 = "lib64"
47TUNE_PKGARCH_tune-x86-64 = "x86_64" 47TUNE_PKGARCH:tune-x86-64 = "x86_64"
48PACKAGE_EXTRA_ARCHS_tune-x86-64 = "${TUNE_PKGARCH_tune-x86-64}" 48PACKAGE_EXTRA_ARCHS:tune-x86-64 = "${TUNE_PKGARCH:tune-x86-64}"
49 49
50AVAILTUNES += "x86-64-x32" 50AVAILTUNES += "x86-64-x32"
51TUNE_FEATURES_tune-x86-64-x32 = "mx32" 51TUNE_FEATURES:tune-x86-64-x32 = "mx32"
52BASE_LIB_tune-x86-64-x32 = "libx32" 52BASE_LIB:tune-x86-64-x32 = "libx32"
53TUNE_PKGARCH_tune-x86-64-x32 = "x86_64_x32" 53TUNE_PKGARCH:tune-x86-64-x32 = "x86_64_x32"
54PACKAGE_EXTRA_ARCHS_tune-x86-64-x32 = "${TUNE_PKGARCH_tune-x86-64-x32}" 54PACKAGE_EXTRA_ARCHS:tune-x86-64-x32 = "${TUNE_PKGARCH:tune-x86-64-x32}"
diff --git a/meta/conf/machine/include/x86/qemuboot-x86.inc b/meta/conf/machine/include/x86/qemuboot-x86.inc
new file mode 100644
index 0000000000..6ae03633ae
--- /dev/null
+++ b/meta/conf/machine/include/x86/qemuboot-x86.inc
@@ -0,0 +1,13 @@
1# For runqemu
2IMAGE_CLASSES += "qemuboot"
3QB_SMP ?= "-smp 4"
4QB_CPU:x86 ?= "-cpu IvyBridge -machine q35,i8042=off"
5QB_CPU_KVM:x86 ?= "-cpu IvyBridge -machine q35,i8042=off"
6
7QB_CPU:x86-64 ?= "-cpu IvyBridge -machine q35,i8042=off"
8QB_CPU_KVM:x86-64 ?= "-cpu IvyBridge -machine q35,i8042=off"
9
10QB_AUDIO_DRV = "alsa"
11QB_AUDIO_OPT = "-device AC97"
12QB_KERNEL_CMDLINE_APPEND = "oprofile.timer=1 tsc=reliable no_timer_check rcupdate.rcu_expedited=1"
13QB_OPT_APPEND = "-usb -device usb-tablet -usb -device usb-kbd"
diff --git a/meta/conf/machine/include/tune-atom.inc b/meta/conf/machine/include/x86/tune-atom.inc
index 5e1bb74c6c..6b84fffc3f 100644
--- a/meta/conf/machine/include/tune-atom.inc
+++ b/meta/conf/machine/include/x86/tune-atom.inc
@@ -1,2 +1,2 @@
1# Atom tunings are the same as core2 for now... 1# Atom tunings are the same as core2 for now...
2require conf/machine/include/tune-core2.inc 2require conf/machine/include/x86/tune-core2.inc
diff --git a/meta/conf/machine/include/tune-c3.inc b/meta/conf/machine/include/x86/tune-c3.inc
index 1b272b2505..afae82541d 100644
--- a/meta/conf/machine/include/tune-c3.inc
+++ b/meta/conf/machine/include/x86/tune-c3.inc
@@ -5,8 +5,8 @@ TUNECONFLICTS[c3] = "m64 mx32"
5TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'c3', ' -march=c3 -mtune=c3', '', d)}" 5TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'c3', ' -march=c3 -mtune=c3', '', d)}"
6 6
7AVAILTUNES += "c3" 7AVAILTUNES += "c3"
8TUNE_FEATURES_tune-c3 = "${TUNE_FEATURES_tune-x86} c3" 8TUNE_FEATURES:tune-c3 = "${TUNE_FEATURES:tune-x86} c3"
9BASE_LIBS_tune-c3 = "${BASE_LIB_tune-x86}" 9BASE_LIBS:tune-c3 = "${BASE_LIB:tune-x86}"
10# The following should likely be something other then i586... 10# The following should likely be something other then i586...
11TUNE_PKGARCH_tune-c3 = "i586" 11TUNE_PKGARCH:tune-c3 = "i586"
12PACKAGE_EXTRA_ARCHS_tune-c3 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586" 12PACKAGE_EXTRA_ARCHS:tune-c3 = "${PACKAGE_EXTRA_ARCHS:tune-x86} i386 i486 i586"
diff --git a/meta/conf/machine/include/x86/tune-core2.inc b/meta/conf/machine/include/x86/tune-core2.inc
new file mode 100644
index 0000000000..082fd4efc3
--- /dev/null
+++ b/meta/conf/machine/include/x86/tune-core2.inc
@@ -0,0 +1,38 @@
1# Settings for the GCC(1) cpu-type "core2":
2#
3# Intel Core2 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3
4# instruction set support.
5#
6# This tune is recommended for the Intel Core 2 CPU family, including Conroe,
7# Merom and beyond, as well as the first Atom CPUs, Diamondville, and beyond.
8#
9DEFAULTTUNE ?= "core2-32"
10
11# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
12require conf/machine/include/x86/tune-i686.inc
13
14# Extra tune features
15TUNEVALID[core2] = "Enable core2 specific processor optimizations"
16TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'core2', ' -march=core2 -mtune=core2 -msse3 -mfpmath=sse', '', d)}"
17
18# Extra tune selections
19AVAILTUNES += "core2-32"
20TUNE_FEATURES:tune-core2-32 = "${TUNE_FEATURES:tune-x86} core2"
21BASE_LIB:tune-core2-32 = "lib"
22TUNE_PKGARCH:tune-core2-32 = "core2-32"
23PACKAGE_EXTRA_ARCHS:tune-core2-32 = "${PACKAGE_EXTRA_ARCHS:tune-i686} core2-32"
24QEMU_EXTRAOPTIONS_core2-32 = " -cpu Nehalem,check=false"
25
26AVAILTUNES += "core2-64"
27TUNE_FEATURES:tune-core2-64 = "${TUNE_FEATURES:tune-x86-64} core2"
28BASE_LIB:tune-core2-64 = "lib64"
29TUNE_PKGARCH:tune-core2-64 = "core2-64"
30PACKAGE_EXTRA_ARCHS:tune-core2-64 = "${PACKAGE_EXTRA_ARCHS:tune-x86-64} core2-64"
31QEMU_EXTRAOPTIONS_core2-64 = " -cpu Nehalem,check=false"
32
33AVAILTUNES += "core2-64-x32"
34TUNE_FEATURES:tune-core2-64-x32 = "${TUNE_FEATURES:tune-x86-64-x32} core2"
35BASE_LIB:tune-core2-64-x32 = "libx32"
36TUNE_PKGARCH:tune-core2-64-x32 = "core2-64-x32"
37PACKAGE_EXTRA_ARCHS:tune-core2-64-x32 = "${PACKAGE_EXTRA_ARCHS:tune-x86-64-x32} core2-64-x32"
38QEMU_EXTRAOPTIONS_core2-64-x32 = " -cpu Nehalem,check=false"
diff --git a/meta/conf/machine/include/tune-corei7.inc b/meta/conf/machine/include/x86/tune-corei7.inc
index d06af47b86..7798288a74 100644
--- a/meta/conf/machine/include/tune-corei7.inc
+++ b/meta/conf/machine/include/x86/tune-corei7.inc
@@ -9,7 +9,7 @@
9DEFAULTTUNE ?= "corei7-64" 9DEFAULTTUNE ?= "corei7-64"
10 10
11# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS 11# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
12require conf/machine/include/tune-core2.inc 12require conf/machine/include/x86/tune-core2.inc
13 13
14# Extra tune features 14# Extra tune features
15TUNEVALID[corei7] = "Enable corei7 specific processor optimizations" 15TUNEVALID[corei7] = "Enable corei7 specific processor optimizations"
@@ -17,22 +17,22 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'corei7', ' -march=nehalem
17 17
18# Extra tune selections 18# Extra tune selections
19AVAILTUNES += "corei7-32" 19AVAILTUNES += "corei7-32"
20TUNE_FEATURES_tune-corei7-32 = "${TUNE_FEATURES_tune-x86} corei7" 20TUNE_FEATURES:tune-corei7-32 = "${TUNE_FEATURES:tune-x86} corei7"
21BASE_LIB_tune-corei7-32 = "lib" 21BASE_LIB:tune-corei7-32 = "lib"
22TUNE_PKGARCH_tune-corei7-32 = "corei7-32" 22TUNE_PKGARCH:tune-corei7-32 = "corei7-32"
23PACKAGE_EXTRA_ARCHS_tune-corei7-32 = "${PACKAGE_EXTRA_ARCHS_tune-core2-32} corei7-32" 23PACKAGE_EXTRA_ARCHS:tune-corei7-32 = "${PACKAGE_EXTRA_ARCHS:tune-core2-32} corei7-32"
24QEMU_EXTRAOPTIONS_corei7-32 = " -cpu Nehalem,check=false" 24QEMU_EXTRAOPTIONS_corei7-32 = " -cpu Nehalem,check=false"
25 25
26AVAILTUNES += "corei7-64" 26AVAILTUNES += "corei7-64"
27TUNE_FEATURES_tune-corei7-64 = "${TUNE_FEATURES_tune-x86-64} corei7" 27TUNE_FEATURES:tune-corei7-64 = "${TUNE_FEATURES:tune-x86-64} corei7"
28BASE_LIB_tune-corei7-64 = "lib64" 28BASE_LIB:tune-corei7-64 = "lib64"
29TUNE_PKGARCH_tune-corei7-64 = "corei7-64" 29TUNE_PKGARCH:tune-corei7-64 = "corei7-64"
30PACKAGE_EXTRA_ARCHS_tune-corei7-64 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64} corei7-64" 30PACKAGE_EXTRA_ARCHS:tune-corei7-64 = "${PACKAGE_EXTRA_ARCHS:tune-core2-64} corei7-64"
31QEMU_EXTRAOPTIONS_corei7-64 = " -cpu Nehalem,check=false" 31QEMU_EXTRAOPTIONS_corei7-64 = " -cpu Nehalem,check=false"
32 32
33AVAILTUNES += "corei7-64-x32" 33AVAILTUNES += "corei7-64-x32"
34TUNE_FEATURES_tune-corei7-64-x32 = "${TUNE_FEATURES_tune-x86-64-x32} corei7" 34TUNE_FEATURES:tune-corei7-64-x32 = "${TUNE_FEATURES:tune-x86-64-x32} corei7"
35BASE_LIB_tune-corei7-64-x32 = "libx32" 35BASE_LIB:tune-corei7-64-x32 = "libx32"
36TUNE_PKGARCH_tune-corei7-64-x32 = "corei7-64-x32" 36TUNE_PKGARCH:tune-corei7-64-x32 = "corei7-64-x32"
37PACKAGE_EXTRA_ARCHS_tune-corei7-64-x32 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64-x32} corei7-64-x32" 37PACKAGE_EXTRA_ARCHS:tune-corei7-64-x32 = "${PACKAGE_EXTRA_ARCHS:tune-core2-64-x32} corei7-64-x32"
38QEMU_EXTRAOPTIONS_corei7-64-x32 = " -cpu Nehalem,check=false" 38QEMU_EXTRAOPTIONS_corei7-64-x32 = " -cpu Nehalem,check=false"
diff --git a/meta/conf/machine/include/tune-i586-nlp.inc b/meta/conf/machine/include/x86/tune-i586-nlp.inc
index 88e59038fa..ecfbf9f1b2 100644
--- a/meta/conf/machine/include/tune-i586-nlp.inc
+++ b/meta/conf/machine/include/x86/tune-i586-nlp.inc
@@ -13,7 +13,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'i586-nlp', ' -march=i586
13 13
14# Quark tune feature 14# Quark tune feature
15AVAILTUNES = "i586-nlp-32" 15AVAILTUNES = "i586-nlp-32"
16TUNE_FEATURES_tune-i586-nlp-32 = "${TUNE_FEATURES_tune-x86} i586-nlp" 16TUNE_FEATURES:tune-i586-nlp-32 = "${TUNE_FEATURES:tune-x86} i586-nlp"
17BASE_LIB_tune-i586-nlp-32 = "lib" 17BASE_LIB:tune-i586-nlp-32 = "lib"
18TUNE_PKGARCH_tune-i586-nlp-32 = "i586-nlp-32" 18TUNE_PKGARCH:tune-i586-nlp-32 = "i586-nlp-32"
19PACKAGE_EXTRA_ARCHS_tune-i586-nlp-32 = "i586-nlp-32" 19PACKAGE_EXTRA_ARCHS:tune-i586-nlp-32 = "i586-nlp-32"
diff --git a/meta/conf/machine/include/tune-i586.inc b/meta/conf/machine/include/x86/tune-i586.inc
index 1ab17bd402..b1299e9e91 100644
--- a/meta/conf/machine/include/tune-i586.inc
+++ b/meta/conf/machine/include/x86/tune-i586.inc
@@ -8,7 +8,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'i586', ' -march=i586', ''
8 8
9# Extra tune selections 9# Extra tune selections
10AVAILTUNES += "i586" 10AVAILTUNES += "i586"
11TUNE_FEATURES_tune-i586 = "${TUNE_FEATURES_tune-x86} i586" 11TUNE_FEATURES:tune-i586 = "${TUNE_FEATURES:tune-x86} i586"
12BASE_LIB_tune-i586 = "lib" 12BASE_LIB:tune-i586 = "lib"
13TUNE_PKGARCH_tune-i586 = "i586" 13TUNE_PKGARCH:tune-i586 = "i586"
14PACKAGE_EXTRA_ARCHS_tune-i586 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i586" 14PACKAGE_EXTRA_ARCHS:tune-i586 = "${PACKAGE_EXTRA_ARCHS:tune-x86} i586"
diff --git a/meta/conf/machine/include/tune-i686.inc b/meta/conf/machine/include/x86/tune-i686.inc
index bdb4799209..293d81e6c5 100644
--- a/meta/conf/machine/include/tune-i686.inc
+++ b/meta/conf/machine/include/x86/tune-i686.inc
@@ -13,7 +13,7 @@ DEFAULTTUNE ?= "i686"
13X86ARCH32 ?= "i686" 13X86ARCH32 ?= "i686"
14 14
15# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS 15# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
16require conf/machine/include/tune-i586.inc 16require conf/machine/include/x86/tune-i586.inc
17 17
18# Extra tune features 18# Extra tune features
19TUNEVALID[i686] = "Enable i686 specific processor optimizations" 19TUNEVALID[i686] = "Enable i686 specific processor optimizations"
@@ -21,7 +21,7 @@ TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'i686', ' -march=i686', ''
21 21
22# Extra tune selections 22# Extra tune selections
23AVAILTUNES += "i686" 23AVAILTUNES += "i686"
24TUNE_FEATURES_tune-i686 = "${TUNE_FEATURES_tune-x86} i686" 24TUNE_FEATURES:tune-i686 = "${TUNE_FEATURES:tune-x86} i686"
25BASE_LIB_tune-i686 = "lib" 25BASE_LIB:tune-i686 = "lib"
26TUNE_PKGARCH_tune-i686 = "i686" 26TUNE_PKGARCH:tune-i686 = "i686"
27PACKAGE_EXTRA_ARCHS_tune-i686 = "${PACKAGE_EXTRA_ARCHS_tune-i586} i686" 27PACKAGE_EXTRA_ARCHS:tune-i686 = "${PACKAGE_EXTRA_ARCHS:tune-i586} i686"
diff --git a/meta/conf/machine/include/x86/tune-x86-64-v3.inc b/meta/conf/machine/include/x86/tune-x86-64-v3.inc
new file mode 100644
index 0000000000..254f03c590
--- /dev/null
+++ b/meta/conf/machine/include/x86/tune-x86-64-v3.inc
@@ -0,0 +1,31 @@
1# Settings for the GCC(1) cpu-type "x86-64-v3":
2#
3# CPUs with AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE.
4# (but not AVX512).
5# See https://www.phoronix.com/news/GCC-11-x86-64-Feature-Levels for details.
6#
7# This tune is recommended for Intel Haswell/AMD Excavator CPUs (and later).
8#
9DEFAULTTUNE ?= "x86-64-v3"
10
11# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
12require conf/machine/include/x86/tune-corei7.inc
13
14# Extra tune features
15TUNEVALID[x86-64-v3] = "Enable x86-64-v3 specific processor optimizations"
16TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'x86-64-v3', ' -march=x86-64-v3', '', d)}"
17
18# Extra tune selections
19AVAILTUNES += "x86-64-v3"
20TUNE_FEATURES:tune-x86-64-v3 = "${TUNE_FEATURES:tune-x86-64} x86-64-v3"
21BASE_LIB:tune-x86-64-v3 = "lib64"
22TUNE_PKGARCH:tune-x86-64-v3 = "x86-64-v3"
23PACKAGE_EXTRA_ARCHS:tune-x86-64-v3 = "${PACKAGE_EXTRA_ARCHS:tune-corei7-64} x86-64-v3"
24QEMU_EXTRAOPTIONS_x86-64-v3 = " -cpu Skylake-Client,check=false"
25
26AVAILTUNES += "x86-64-v3-x32"
27TUNE_FEATURES:tune-x86-64-v3-x32 = "${TUNE_FEATURES:tune-x86-64-x32} x86-64-v3"
28BASE_LIB:tune-x86-64-v3-x32 = "libx32"
29TUNE_PKGARCH:tune-x86-64-v3-x32 = "x86-64-v3-x32"
30PACKAGE_EXTRA_ARCHS:tune-x86-64-v3-x32 = "${PACKAGE_EXTRA_ARCHS:tune-corei7-64-x32} x86-64-v3-x32"
31QEMU_EXTRAOPTIONS_x86-64-v3-x32 = " -cpu Skylake-Client,check=false"
diff --git a/meta/conf/machine/include/x86-base.inc b/meta/conf/machine/include/x86/x86-base.inc
index ef6690b0b9..fc6c39148d 100644
--- a/meta/conf/machine/include/x86-base.inc
+++ b/meta/conf/machine/include/x86/x86-base.inc
@@ -18,7 +18,6 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
18# kernel-related variables 18# kernel-related variables
19# 19#
20PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto" 20PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
21PREFERRED_VERSION_linux-yocto ??= "5.10%"
22 21
23# 22#
24# XSERVER subcomponents, used to build the XSERVER variable 23# XSERVER subcomponents, used to build the XSERVER variable
@@ -36,7 +35,7 @@ XSERVER_X86_I915 = "xf86-video-intel \
36 " 35 "
37 36
38XSERVER_X86_I965 = "xf86-video-intel \ 37XSERVER_X86_I965 = "xf86-video-intel \
39 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-i965', '', d)} \ 38 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-crocus', '', d)} \
40 " 39 "
41 40
42XSERVER_X86_VESA = "xf86-video-vesa" 41XSERVER_X86_VESA = "xf86-video-vesa"
diff --git a/meta/conf/machine/qemuarm.conf b/meta/conf/machine/qemuarm.conf
index 257cfa3e63..943ce7c16a 100644
--- a/meta/conf/machine/qemuarm.conf
+++ b/meta/conf/machine/qemuarm.conf
@@ -2,7 +2,7 @@
2#@NAME: QEMU Arm Cortex-A15 machine 2#@NAME: QEMU Arm Cortex-A15 machine
3#@DESCRIPTION: Machine configuration for running an ARMv7 system on QEMU 3#@DESCRIPTION: Machine configuration for running an ARMv7 system on QEMU
4 4
5require conf/machine/include/tune-cortexa15.inc 5require conf/machine/include/arm/armv7a/tune-cortexa15.inc
6require conf/machine/include/qemu.inc 6require conf/machine/include/qemu.inc
7 7
8KERNEL_IMAGETYPE = "zImage" 8KERNEL_IMAGETYPE = "zImage"
@@ -10,17 +10,15 @@ KERNEL_IMAGETYPE = "zImage"
10UBOOT_MACHINE ?= "qemu_arm_defconfig" 10UBOOT_MACHINE ?= "qemu_arm_defconfig"
11 11
12SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0" 12SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
13SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
14 13
15# For runqemu 14# For runqemu
16QB_SYSTEM_NAME = "qemu-system-arm" 15QB_SYSTEM_NAME = "qemu-system-arm"
17QB_MACHINE = "-machine virt,highmem=off" 16QB_MACHINE = "-machine virt,highmem=off"
18QB_CPU = "-cpu cortex-a15" 17QB_CPU = "-cpu cortex-a15"
19# Standard Serial console 18QB_SMP ?= "-smp 4"
20QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0 vmalloc=256"
21# For graphics to work we need to define the VGA device as well as the necessary USB devices 19# For graphics to work we need to define the VGA device as well as the necessary USB devices
22QB_OPT_APPEND = "-device VGA,edid=on" 20QB_GRAPHICS = "-device virtio-gpu-pci"
23QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd" 21QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
24# Virtio Networking support 22# Virtio Networking support
25QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" 23QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
26QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" 24QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
@@ -28,6 +26,6 @@ QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
28QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" 26QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"
29# Virtio serial console 27# Virtio serial console
30QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon" 28QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
31QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" 29QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1,nodelay=on -device virtconsole,chardev=virtcon"
32 30
33KMACHINE_qemuarm = "qemuarma15" 31KMACHINE:qemuarm = "qemuarma15"
diff --git a/meta/conf/machine/qemuarm64.conf b/meta/conf/machine/qemuarm64.conf
index 2f61eb0aed..a096d964db 100644
--- a/meta/conf/machine/qemuarm64.conf
+++ b/meta/conf/machine/qemuarm64.conf
@@ -2,7 +2,7 @@
2#@NAME: QEMU ARMv8 machine 2#@NAME: QEMU ARMv8 machine
3#@DESCRIPTION: Machine configuration for running an ARMv8 system on QEMU 3#@DESCRIPTION: Machine configuration for running an ARMv8 system on QEMU
4 4
5require conf/machine/include/tune-cortexa57.inc 5require conf/machine/include/arm/armv8a/tune-cortexa57.inc
6require conf/machine/include/qemu.inc 6require conf/machine/include/qemu.inc
7 7
8KERNEL_IMAGETYPE = "Image" 8KERNEL_IMAGETYPE = "Image"
@@ -10,23 +10,21 @@ KERNEL_IMAGETYPE = "Image"
10UBOOT_MACHINE ?= "qemu_arm64_defconfig" 10UBOOT_MACHINE ?= "qemu_arm64_defconfig"
11 11
12SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0" 12SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
13SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
14 13
15# For runqemu 14# For runqemu
16QB_SYSTEM_NAME = "qemu-system-aarch64" 15QB_SYSTEM_NAME = "qemu-system-aarch64"
17QB_MACHINE = "-machine virt" 16QB_MACHINE = "-machine virt"
18QB_CPU = "-cpu cortex-a57" 17QB_CPU = "-cpu cortex-a57"
18QB_SMP ?= "-smp 4"
19QB_CPU_KVM = "-cpu host -machine gic-version=3" 19QB_CPU_KVM = "-cpu host -machine gic-version=3"
20# Standard Serial console
21QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0"
22# For graphics to work we need to define the VGA device as well as the necessary USB devices 20# For graphics to work we need to define the VGA device as well as the necessary USB devices
23QB_OPT_APPEND = "-device VGA,edid=on" 21QB_GRAPHICS = "-device virtio-gpu-pci"
24QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd" 22QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
25# Virtio Networking support 23# Virtio Networking support
26QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" 24QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
27QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" 25QB_NETWORK_DEVICE = "-device virtio-net-pci,netdev=net0,mac=@MAC@"
28# Virtio block device 26# Virtio block device
29QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" 27QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-pci,drive=disk0"
30# Virtio serial console 28# Virtio serial console
31QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon" 29QB_SERIAL_OPT = "-device virtio-serial-pci -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
32QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" 30QB_TCPSERIAL_OPT = "-device virtio-serial-pci -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1,nodelay=on -device virtconsole,chardev=virtcon"
diff --git a/meta/conf/machine/qemuarmv5.conf b/meta/conf/machine/qemuarmv5.conf
index dfe2a89573..ecd2873d91 100644
--- a/meta/conf/machine/qemuarmv5.conf
+++ b/meta/conf/machine/qemuarmv5.conf
@@ -3,7 +3,7 @@
3#@DESCRIPTION: Machine configuration for running an ARMv5 system on QEMU 3#@DESCRIPTION: Machine configuration for running an ARMv5 system on QEMU
4 4
5require conf/machine/include/qemu.inc 5require conf/machine/include/qemu.inc
6require conf/machine/include/tune-arm926ejs.inc 6require conf/machine/include/arm/armv5/tune-arm926ejs.inc
7 7
8KERNEL_IMAGETYPE = "zImage" 8KERNEL_IMAGETYPE = "zImage"
9 9
@@ -12,9 +12,8 @@ SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1"
12# For runqemu 12# For runqemu
13QB_SYSTEM_NAME = "qemu-system-arm" 13QB_SYSTEM_NAME = "qemu-system-arm"
14QB_MACHINE = "-machine versatilepb" 14QB_MACHINE = "-machine versatilepb"
15QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty vmalloc=256" 15QB_GRAPHICS = "-device virtio-gpu-pci"
16QB_OPT_APPEND = "-usb -device usb-tablet" 16QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
17PREFERRED_VERSION_linux-yocto ??= "5.10%" 17QB_DTB ?= "zImage-versatile-pb.dtb"
18QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
19 18
20KMACHINE_qemuarmv5 = "qemuarm" 19KMACHINE:qemuarmv5 = "arm-versatile-926ejs"
diff --git a/meta/conf/machine/qemuloongarch64.conf b/meta/conf/machine/qemuloongarch64.conf
new file mode 100644
index 0000000000..675d525afd
--- /dev/null
+++ b/meta/conf/machine/qemuloongarch64.conf
@@ -0,0 +1,11 @@
1#@TYPE: Machine
2#@NAME: generic loongarch64 machine
3#@DESCRIPTION: Machine configuration for running a generic loongarch64
4
5require conf/machine/include/loongarch/qemuloongarch.inc
6
7XVISOR_PLAT = "loongarch/virt64"
8
9EXTRA_IMAGEDEPENDS += "u-boot"
10UBOOT_MACHINE = "qemu-loongarch64_smode_defconfig"
11UBOOT_ELF = "u-boot"
diff --git a/meta/conf/machine/qemumips.conf b/meta/conf/machine/qemumips.conf
index 1373e4cba0..1cf21b92fe 100644
--- a/meta/conf/machine/qemumips.conf
+++ b/meta/conf/machine/qemumips.conf
@@ -3,13 +3,13 @@
3#@DESCRIPTION: Machine configuration for running a MIPS system on QEMU 3#@DESCRIPTION: Machine configuration for running a MIPS system on QEMU
4 4
5require conf/machine/include/qemu.inc 5require conf/machine/include/qemu.inc
6require conf/machine/include/tune-mips32r2.inc 6require conf/machine/include/mips/tune-mips32r2.inc
7require conf/machine/include/qemuboot-mips.inc 7require conf/machine/include/mips/qemuboot-mips.inc
8 8
9KERNEL_IMAGETYPE = "vmlinux" 9KERNEL_IMAGETYPE = "vmlinux"
10KERNEL_ALT_IMAGETYPE = "vmlinux.bin" 10KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
11 11
12UBOOT_MACHINE ?= "qemu_mips_defconfig" 12UBOOT_MACHINE ?= "malta_defconfig"
13 13
14SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1" 14SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1"
15 15
diff --git a/meta/conf/machine/qemumips64.conf b/meta/conf/machine/qemumips64.conf
index 1e77486491..32351f993e 100644
--- a/meta/conf/machine/qemumips64.conf
+++ b/meta/conf/machine/qemumips64.conf
@@ -3,15 +3,15 @@
3#@DESCRIPTION: Machine configuration for running a MIPS64 system on QEMU 3#@DESCRIPTION: Machine configuration for running a MIPS64 system on QEMU
4 4
5require conf/machine/include/qemu.inc 5require conf/machine/include/qemu.inc
6require conf/machine/include/tune-mips64r2.inc 6require conf/machine/include/mips/tune-mips64r2.inc
7require conf/machine/include/qemuboot-mips.inc 7require conf/machine/include/mips/qemuboot-mips.inc
8 8
9QB_CPU = "-cpu MIPS64R2-generic" 9QB_CPU = "-cpu MIPS64R2-generic"
10 10
11KERNEL_IMAGETYPE = "vmlinux" 11KERNEL_IMAGETYPE = "vmlinux"
12KERNEL_ALT_IMAGETYPE = "vmlinux.bin" 12KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
13 13
14UBOOT_MACHINE ?= "qemu_mips64_defconfig" 14UBOOT_MACHINE ?= "malta64_defconfig"
15 15
16SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1" 16SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1"
17 17
diff --git a/meta/conf/machine/qemuppc.conf b/meta/conf/machine/qemuppc.conf
index a84594f335..bab06e292e 100644
--- a/meta/conf/machine/qemuppc.conf
+++ b/meta/conf/machine/qemuppc.conf
@@ -3,7 +3,7 @@
3#@DESCRIPTION: Machine configuration for running a PPC system on QEMU 3#@DESCRIPTION: Machine configuration for running a PPC system on QEMU
4 4
5require conf/machine/include/qemu.inc 5require conf/machine/include/qemu.inc
6require conf/machine/include/tune-ppc7400.inc 6require conf/machine/include/powerpc/tune-ppc7400.inc
7 7
8TARGET_CC_KERNEL_ARCH = "-mno-spe" 8TARGET_CC_KERNEL_ARCH = "-mno-spe"
9 9
diff --git a/meta/conf/machine/qemuppc64.conf b/meta/conf/machine/qemuppc64.conf
new file mode 100644
index 0000000000..2fbd26a6f9
--- /dev/null
+++ b/meta/conf/machine/qemuppc64.conf
@@ -0,0 +1,23 @@
1#@TYPE: Machine
2#@NAME: QEMU PPC64 machine
3#@DESCRIPTION: Machine configuration for running a PPC system on QEMU
4
5require conf/machine/include/qemu.inc
6require conf/machine/include/powerpc/tune-power9.inc
7
8KERNEL_IMAGETYPE = "vmlinux"
9
10SERIAL_CONSOLES ?= "115200;hvc0"
11
12# For runqemu
13QB_SYSTEM_NAME = "qemu-system-ppc64"
14QB_MACHINE = "-machine pseries"
15QB_CPU = "-cpu POWER9"
16QB_SMP ?= "-smp 2"
17
18QB_NFSROOTFS_EXTRA_OPT = "wsize=524288,rsize=524288"
19QB_KERNEL_CMDLINE_APPEND = "console=hvc0 nohugevmalloc"
20#QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd"
21QB_OPT_APPEND = "-usb -device usb-tablet"
22
23MACHINE_EXTRA_RRECOMMENDS += " kernel-modules"
diff --git a/meta/conf/machine/qemuriscv32.conf b/meta/conf/machine/qemuriscv32.conf
new file mode 100644
index 0000000000..d3858dc051
--- /dev/null
+++ b/meta/conf/machine/qemuriscv32.conf
@@ -0,0 +1,16 @@
1#@TYPE: Machine
2#@NAME: generic riscv32 machine
3#@DESCRIPTION: Machine configuration for running a generic riscv32
4
5require conf/machine/include/riscv/qemuriscv.inc
6
7DEFAULTTUNE = "riscv32"
8
9PREFERRED_VERSION_openocd-native = "riscv"
10PREFERRED_VERSION_openocd = "riscv"
11
12XVISOR_PLAT = "riscv/virt32"
13
14EXTRA_IMAGEDEPENDS += "u-boot"
15UBOOT_MACHINE = "qemu-riscv32_smode_defconfig"
16UBOOT_ELF = "u-boot"
diff --git a/meta/conf/machine/qemux86-64.conf b/meta/conf/machine/qemux86-64.conf
index db9004ee32..14873a3b4f 100644
--- a/meta/conf/machine/qemux86-64.conf
+++ b/meta/conf/machine/qemux86-64.conf
@@ -6,11 +6,12 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
6PREFERRED_PROVIDER_virtual/libgl ?= "mesa" 6PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
7PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" 7PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
8PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" 8PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
9PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa"
9 10
10require conf/machine/include/qemu.inc 11require conf/machine/include/qemu.inc
11DEFAULTTUNE ?= "core2-64" 12DEFAULTTUNE ?= "core2-64"
12require conf/machine/include/tune-core2.inc 13require conf/machine/include/x86/tune-x86-64-v3.inc
13require conf/machine/include/qemuboot-x86.inc 14require conf/machine/include/x86/qemuboot-x86.inc
14 15
15UBOOT_MACHINE ?= "qemu-x86_64_defconfig" 16UBOOT_MACHINE ?= "qemu-x86_64_defconfig"
16 17
diff --git a/meta/conf/machine/qemux86.conf b/meta/conf/machine/qemux86.conf
index 7e6723b880..1e072e1ae2 100644
--- a/meta/conf/machine/qemux86.conf
+++ b/meta/conf/machine/qemux86.conf
@@ -6,11 +6,12 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
6PREFERRED_PROVIDER_virtual/libgl ?= "mesa" 6PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
7PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" 7PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
8PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" 8PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
9PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa"
9 10
10require conf/machine/include/qemu.inc 11require conf/machine/include/qemu.inc
11DEFAULTTUNE ?= "core2-32" 12DEFAULTTUNE ?= "core2-32"
12require conf/machine/include/tune-corei7.inc 13require conf/machine/include/x86/tune-corei7.inc
13require conf/machine/include/qemuboot-x86.inc 14require conf/machine/include/x86/qemuboot-x86.inc
14 15
15UBOOT_MACHINE ?= "qemu-x86_defconfig" 16UBOOT_MACHINE ?= "qemu-x86_defconfig"
16 17