summaryrefslogtreecommitdiff
path: root/poky/meta/conf/machine
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/conf/machine')
-rw-r--r--poky/meta/conf/machine/include/arm/arch-arm.inc4
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv4.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc1
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv5.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv6.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv6m.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv7a.inc3
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv7em.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv7m.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv7r.inc22
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv7ve.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv8-2a.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv8a.inc8
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv8m-base.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv8m-main.inc16
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv8r.inc37
-rw-r--r--poky/meta/conf/machine/include/arm/armv4/tune-arm920t.inc (renamed from poky/meta/conf/machine/include/tune-arm920t.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc (renamed from poky/meta/conf/machine/include/tune-arm9tdmi.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv4/tune-ep9312.inc (renamed from poky/meta/conf/machine/include/tune-ep9312.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc (renamed from poky/meta/conf/machine/include/tune-strongarm1100.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc (renamed from poky/meta/conf/machine/include/tune-arm926ejs.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc (renamed from poky/meta/conf/machine/include/tune-iwmmxt.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv5/tune-xscale.inc (renamed from poky/meta/conf/machine/include/tune-xscale.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc (renamed from poky/meta/conf/machine/include/tune-arm1136jf-s.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc (renamed from poky/meta/conf/machine/include/tune-arm1176jz-s.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc (renamed from poky/meta/conf/machine/include/tune-cortex-m0.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc (renamed from poky/meta/conf/machine/include/tune-cortex-m0plus.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc (renamed from poky/meta/conf/machine/include/tune-cortexm1.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc (renamed from poky/meta/conf/machine/include/tune-cortexa15.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc (renamed from poky/meta/conf/machine/include/tune-cortexa17.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc (renamed from poky/meta/conf/machine/include/tune-cortexa5.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc (renamed from poky/meta/conf/machine/include/tune-cortexa7.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc (renamed from poky/meta/conf/machine/include/tune-cortexa8.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc (renamed from poky/meta/conf/machine/include/tune-cortexa9.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc (renamed from poky/meta/conf/machine/include/tune-cortexm3.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc (renamed from poky/meta/conf/machine/include/tune-cortexm4.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc (renamed from poky/meta/conf/machine/include/tune-cortexm7.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc14
-rw-r--r--poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc14
-rw-r--r--poky/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc14
-rw-r--r--poky/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc14
-rw-r--r--poky/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc14
-rw-r--r--poky/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc (renamed from poky/meta/conf/machine/include/tune-cortexa55.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc (renamed from poky/meta/conf/machine/include/tune-cortexa32.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc (renamed from poky/meta/conf/machine/include/tune-cortexa35.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc (renamed from poky/meta/conf/machine/include/tune-cortexa53.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc (renamed from poky/meta/conf/machine/include/tune-cortexa57-cortexa53.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc (renamed from poky/meta/conf/machine/include/tune-cortexa57.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc (renamed from poky/meta/conf/machine/include/tune-cortexa72-cortexa53.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc (renamed from poky/meta/conf/machine/include/tune-cortexa72.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc (renamed from poky/meta/conf/machine/include/tune-cortexa73-cortexa53.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc (renamed from poky/meta/conf/machine/include/tune-thunderx.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc14
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-crc.inc4
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-crypto.inc5
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-dsp.inc3
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-idiv.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-neon.inc5
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-simd.inc5
-rw-r--r--poky/meta/conf/machine/include/m68k/tune-mcf5441x.inc (renamed from poky/meta/conf/machine/include/tune-mcf5441x.inc)0
-rw-r--r--poky/meta/conf/machine/include/microblaze/tune-microblaze.inc (renamed from poky/meta/conf/machine/include/tune-microblaze.inc)0
-rw-r--r--poky/meta/conf/machine/include/mips/qemuboot-mips.inc (renamed from poky/meta/conf/machine/include/qemuboot-mips.inc)0
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips-24k.inc2
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips-74k.inc2
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips32.inc (renamed from poky/meta/conf/machine/include/tune-mips32.inc)0
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips32r2.inc (renamed from poky/meta/conf/machine/include/tune-mips32r2.inc)2
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips32r6.inc (renamed from poky/meta/conf/machine/include/tune-mips32r6.inc)0
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips64.inc3
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips64r2.inc (renamed from poky/meta/conf/machine/include/tune-mips64r2.inc)2
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips64r6.inc (renamed from poky/meta/conf/machine/include/tune-mips64r6.inc)0
-rw-r--r--poky/meta/conf/machine/include/mips/tune-octeon.inc (renamed from poky/meta/conf/machine/include/tune-octeon.inc)2
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-power5.inc (renamed from poky/meta/conf/machine/include/tune-power5.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-power6.inc (renamed from poky/meta/conf/machine/include/tune-power6.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-power7.inc (renamed from poky/meta/conf/machine/include/tune-power7.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-power9.inc (renamed from poky/meta/conf/machine/include/tune-power9.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppc476.inc (renamed from poky/meta/conf/machine/include/tune-ppc476.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppc603e.inc (renamed from poky/meta/conf/machine/include/tune-ppc603e.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppc7400.inc (renamed from poky/meta/conf/machine/include/tune-ppc7400.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppce300c2.inc (renamed from poky/meta/conf/machine/include/tune-ppce300c2.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppce300c3.inc (renamed from poky/meta/conf/machine/include/tune-ppce300c3.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppce500.inc (renamed from poky/meta/conf/machine/include/tune-ppce500.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppce500mc.inc (renamed from poky/meta/conf/machine/include/tune-ppce500mc.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppce500v2.inc (renamed from poky/meta/conf/machine/include/tune-ppce500v2.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppce5500.inc (renamed from poky/meta/conf/machine/include/tune-ppce5500.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppce6500.inc (renamed from poky/meta/conf/machine/include/tune-ppce6500.inc)0
-rw-r--r--poky/meta/conf/machine/include/sh/tune-sh3.inc (renamed from poky/meta/conf/machine/include/tune-sh3.inc)0
-rw-r--r--poky/meta/conf/machine/include/sh/tune-sh4.inc (renamed from poky/meta/conf/machine/include/tune-sh4.inc)2
-rw-r--r--poky/meta/conf/machine/include/tune-mips64.inc3
-rw-r--r--poky/meta/conf/machine/include/x86/qemuboot-x86.inc (renamed from poky/meta/conf/machine/include/qemuboot-x86.inc)0
-rw-r--r--poky/meta/conf/machine/include/x86/tune-atom.inc (renamed from poky/meta/conf/machine/include/tune-atom.inc)2
-rw-r--r--poky/meta/conf/machine/include/x86/tune-c3.inc (renamed from poky/meta/conf/machine/include/tune-c3.inc)0
-rw-r--r--poky/meta/conf/machine/include/x86/tune-core2.inc (renamed from poky/meta/conf/machine/include/tune-core2.inc)2
-rw-r--r--poky/meta/conf/machine/include/x86/tune-corei7.inc (renamed from poky/meta/conf/machine/include/tune-corei7.inc)2
-rw-r--r--poky/meta/conf/machine/include/x86/tune-i586-nlp.inc (renamed from poky/meta/conf/machine/include/tune-i586-nlp.inc)0
-rw-r--r--poky/meta/conf/machine/include/x86/tune-i586.inc (renamed from poky/meta/conf/machine/include/tune-i586.inc)0
-rw-r--r--poky/meta/conf/machine/include/x86/tune-i686.inc (renamed from poky/meta/conf/machine/include/tune-i686.inc)2
-rw-r--r--poky/meta/conf/machine/include/x86/x86-base.inc (renamed from poky/meta/conf/machine/include/x86-base.inc)2
-rw-r--r--poky/meta/conf/machine/qemuarm.conf2
-rw-r--r--poky/meta/conf/machine/qemuarm64.conf2
-rw-r--r--poky/meta/conf/machine/qemuarmv5.conf4
-rw-r--r--poky/meta/conf/machine/qemumips.conf4
-rw-r--r--poky/meta/conf/machine/qemumips64.conf4
-rw-r--r--poky/meta/conf/machine/qemuppc.conf2
-rw-r--r--poky/meta/conf/machine/qemuppc64.conf2
-rw-r--r--poky/meta/conf/machine/qemux86-64.conf4
-rw-r--r--poky/meta/conf/machine/qemux86.conf4
107 files changed, 228 insertions, 65 deletions
diff --git a/poky/meta/conf/machine/include/arm/arch-arm.inc b/poky/meta/conf/machine/include/arm/arch-arm.inc
index 869089051..f1e92e19c 100644
--- a/poky/meta/conf/machine/include/arm/arch-arm.inc
+++ b/poky/meta/conf/machine/include/arm/arch-arm.inc
@@ -14,3 +14,7 @@ TUNE_PKGARCH = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}
ABIEXTENSION = "eabi"
TARGET_FPU = "${@d.getVar('TUNE_CCARGS_MFLOAT') or 'soft'}"
+
+# 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.
+TUNE_CCARGS_MARCH_OPTS ??= ""
+TUNE_CCARGS .= "${TUNE_CCARGS_MARCH}${TUNE_CCARGS_MARCH_OPTS}"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv4.inc b/poky/meta/conf/machine/include/arm/arch-armv4.inc
index 4f4a63b28..be5761fb2 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv4.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv4.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv4"
TUNEVALID[arm] = "Enable ARM instruction set"
TUNEVALID[armv4] = "Enable instructions for ARMv4"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4${ARMPKGSFX_THUMB}', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4${ARMPKGSFX_THUMB}', '', d)}"
# enable --fix-v4bx when we have armv4 in TUNE_FEATURES, but then disable it when we have also armv5 or thumb
# maybe we should extend bb.utils.contains to support check for any checkvalues in value, now it does
# checkvalues.issubset(val) which cannot be used for negative test of foo neither bar in value
diff --git a/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc b/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc
index d296e827c..f3c749d72 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc
@@ -1,3 +1,4 @@
+# Can't use feature-arm-dsp.inc, since that will add "+dsp", which isn't supported in GCC for ARMv5
ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}"
TUNEVALID[dsp] = "ARM DSP functionality"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv5.inc b/poky/meta/conf/machine/include/arm/arch-armv5.inc
index 5f4699209..6bb465e7b 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv5.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv5.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv5"
TUNEVALID[armv5] = "Enable instructions for ARMv5"
TUNECONFLICTS[armv5] = "armv4"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' -march=armv5t${ARMPKGSFX_DSP}', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' -march=armv5t${ARMPKGSFX_DSP}', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv5', 'armv5:', '', d)}"
require conf/machine/include/arm/arch-armv4.inc
diff --git a/poky/meta/conf/machine/include/arm/arch-armv6.inc b/poky/meta/conf/machine/include/arm/arch-armv6.inc
index 9d2e112b7..ef8d288ea 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv6.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv6.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv6hf"
TUNEVALID[armv6] = "Enable instructions for ARMv6"
TUNECONFLICTS[armv6] = "armv4 armv5"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' -march=armv6', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' -march=armv6', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6', 'armv6:', '', d)}"
require conf/machine/include/arm/arch-armv5-dsp.inc
diff --git a/poky/meta/conf/machine/include/arm/arch-armv6m.inc b/poky/meta/conf/machine/include/arm/arch-armv6m.inc
index e7ca665a0..d6d6c7ed2 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv6m.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv6m.inc
@@ -7,7 +7,7 @@ TUNECONFLICTS[armv6m] = "armv4 armv5 armv6 armv7a"
# Use armv6s-m instead of armv6-m to avoid gcc bug "SVC is not permitted on this architecture".
# SVC is a valid instruction.
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', ' -march=armv6s-m', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', ' -march=armv6s-m', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', 'armv6m:', '', d)}"
require conf/machine/include/arm/arch-armv5.inc
diff --git a/poky/meta/conf/machine/include/arm/arch-armv7a.inc b/poky/meta/conf/machine/include/arm/arch-armv7a.inc
index 0f83cee37..74fc8d11a 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv7a.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv7a.inc
@@ -3,11 +3,12 @@ ARM_INSTRUCTION_SET ?= "thumb"
TUNEVALID[armv7a] = "Enable instructions for ARMv7-a"
TUNECONFLICTS[armv7a] = "armv4 armv5 armv6 armv7"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', ' -march=armv7-a', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', ' -march=armv7-a', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', 'armv7a:', '', d)}"
require conf/machine/include/arm/arch-armv6.inc
require conf/machine/include/arm/feature-arm-neon.inc
+require conf/machine/include/arm/feature-arm-simd.inc
# Little Endian base configs
AVAILTUNES += "armv7a armv7at armv7a-vfpv3d16 armv7at-vfpv3d16 armv7a-vfpv3 armv7at-vfpv3 armv7a-vfpv4d16 armv7at-vfpv4d16 armv7a-neon armv7at-neon armv7a-neon-vfpv4 armv7at-neon-vfpv4"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv7em.inc b/poky/meta/conf/machine/include/arm/arch-armv7em.inc
index adcab272e..f7608ea2e 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv7em.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv7em.inc
@@ -4,7 +4,7 @@
DEFAULTTUNE ?= "armv7em"
TUNEVALID[armv7em] = "Enable instructions for ARMv7e-m"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', ' -march=armv7e-m', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', ' -march=armv7e-m', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', 'armv7em:', '', d)}"
TUNECONFLICTS[armv7em] = "armv4 armv5 armv6 armv7a"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv7m.inc b/poky/meta/conf/machine/include/arm/arch-armv7m.inc
index a36c265bc..2b69a3dfd 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv7m.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv7m.inc
@@ -4,7 +4,7 @@
DEFAULTTUNE ?= "armv7m"
TUNEVALID[armv7m] = "Enable instructions for ARMv7-m"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', ' -march=armv7-m', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', ' -march=armv7-m', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', 'armv7m:', '', d)}"
TUNECONFLICTS[armv7m] = "armv4 armv5 armv6 armv7a"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv7r.inc b/poky/meta/conf/machine/include/arm/arch-armv7r.inc
new file mode 100644
index 000000000..fac26cf4a
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/arch-armv7r.inc
@@ -0,0 +1,22 @@
+#
+# Defaults for ARMv7-r
+#
+DEFAULTTUNE ?= "armv7r"
+
+TUNEVALID[armv7r] = "Enable instructions for ARMv7-r"
+TUNE_CCARGS_MARCH = "${@bb.utils.contains('TUNE_FEATURES', 'armv7r', ' -march=armv7-r', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7r', 'armv7r:', '', d)}"
+
+TUNECONFLICTS[armv7r] = "armv4 armv5 armv6 armv7a"
+
+require conf/machine/include/arm/arch-armv6.inc
+require conf/machine/include/arm/feature-arm-idiv.inc
+require conf/machine/include/arm/feature-arm-neon.inc
+
+AVAILTUNES += "armv7r armv7r-vfpv3d16"
+ARMPKGARCH:tune-armv7r = "armv7r"
+ARMPKGARCH:tune-armv7r-vfpv3d16 = "armv7r"
+TUNE_FEATURES:tune-armv7r = "armv7r"
+TUNE_FEATURES:tune-armv7r-vfpv3d16 = "${TUNE_FEATURES:tune-armv7r} vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7r = "armv7r"
+PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r} tune-armv7r-fpv3d16"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv7ve.inc b/poky/meta/conf/machine/include/arm/arch-armv7ve.inc
index b40c2ca8a..8102ae608 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv7ve.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv7ve.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv7vethf"
TUNEVALID[armv7ve] = "Enable instructions for ARMv7ve"
TUNECONFLICTS[armv7ve] = "armv4 armv5 armv6 armv7 armv7a"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', ' -march=armv7ve', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', ' -march=armv7ve', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', 'armv7ve:', '', d)}"
require conf/machine/include/arm/arch-armv7a.inc
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc b/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc
index 9171b31c9..5b1bcb8f4 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc
@@ -5,7 +5,7 @@
DEFAULTTUNE ?= "armv8-1m-main"
TUNEVALID[armv8-1m-main] = "Enable instructions for ARMv8.1-m.main"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', ' -march=armv8.1-m.main', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', ' -march=armv8.1-m.main', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', 'armv8-1m-main:', '', d)}"
TUNECONFLICTS[armv8-1m-main] = "armv4 armv5 armv6 armv7a"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8-2a.inc b/poky/meta/conf/machine/include/arm/arch-armv8-2a.inc
index c84b1ecf2..30f287081 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv8-2a.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv8-2a.inc
@@ -1,7 +1,7 @@
DEFAULTTUNE ?= "armv8-2a"
TUNEVALID[armv8-2a] = "Enable instructions for ARMv8-a"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', ' -march=armv8.2-a', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', ' -march=armv8.2-a', '', d)}"
# TUNE crypto will be handled by arch-armv8a.inc below
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', 'armv8-2a:', '', d)}"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8a.inc b/poky/meta/conf/machine/include/arm/arch-armv8a.inc
index 819dffbeb..97c944dfa 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv8a.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv8a.inc
@@ -1,14 +1,12 @@
DEFAULTTUNE ?= "armv8a-crc"
TUNEVALID[armv8a] = "Enable instructions for ARMv8-a"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}"
-TUNEVALID[crc] = "Enable instructions for ARMv8-a Cyclic Redundancy Check (CRC)"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}"
-TUNEVALID[crypto] = "Enable instructions for ARMv8-a cryptographic"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 'armv8a:', '', d)}"
require conf/machine/include/arm/arch-arm64.inc
+require conf/machine/include/arm/feature-arm-crc.inc
+require conf/machine/include/arm/feature-arm-crypto.inc
# Little Endian base configs
AVAILTUNES += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc b/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc
index d9a341c66..ffee8cea8 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc
@@ -4,7 +4,7 @@
DEFAULTTUNE ?= "armv8m-base"
TUNEVALID[armv8m-base] = "Enable instructions for ARMv8-m.base"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', ' -march=armv8-m.base', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', ' -march=armv8-m.base', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', 'armv8m-base:', '', d)}"
TUNECONFLICTS[armv8m-base] = "armv4 armv5 armv6 armv7a"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc b/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc
index 27f552b2d..01bef3542 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc
@@ -4,24 +4,16 @@
DEFAULTTUNE ?= "armv8m-main"
require conf/machine/include/arm/arch-armv8m-base.inc
+require conf/machine/include/arm/feature-arm-dsp.inc
+require conf/machine/include/arm/feature-arm-neon.inc
TUNEVALID[armv8m-main] = "Enable instructions for ARMv8-m.main"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', ' -march=armv8-m.main${MARCH_DSP}${MARCH_FPU}', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', ' -march=armv8-m.main', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', 'armv8m-main:', '', d)}"
TUNECONFLICTS[armv8m-main] = "armv4 armv5 armv6 armv7a"
-# FIXME - below taken from meta/conf/machine/include/arm/arch-armv5-dsp.inc and should be put into something more generic
-TUNEVALID[dsp] = "ARM DSP functionality"
-ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}"
-MARCH_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], '+dsp', '+nodsp', d)}"
-
-# FIXME - Below belongs in meta/conf/machine/include/arm/feature-arm-neon.inc
-TUNEVALID[vfpv5spd16] = "Enable Vector Floating Point Version 5, Single Precision. with 16 registers (fpv5-sp-d16) unit."
-TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv5spd16', 'fpv5-sp-d16', '', d)}"
-MARCH_FPU = "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv5spd16' ], '+fp', '+nofp', d)}"
-
-AVAILTUNES += "armv8m-main armv8m-mainearmv8m-main-vfpv5spd16 armv8m-maine-vfpv5spd16"
+AVAILTUNES += "armv8m-main armv8m-maine armv8m-main-vfpv5spd16 armv8m-maine-vfpv5spd16"
ARMPKGARCH:tune-armv8m-main = "armv8m-main"
ARMPKGARCH:tune-armv8m-maine = "armv8m-main"
ARMPKGARCH:tune-armv8m-main-vfpv5spd16 = "armv8m-main"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8r.inc b/poky/meta/conf/machine/include/arm/arch-armv8r.inc
new file mode 100644
index 000000000..0dcfd34c1
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/arch-armv8r.inc
@@ -0,0 +1,37 @@
+#
+# Defaults for ARMv8-r
+#
+DEFAULTTUNE ?= "armv8r"
+
+TUNEVALID[armv8r] = "Enable instructions for ARMv8-r"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8r', ' -march=armv8-r', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8r', 'armv8r:', '', d)}"
+
+require conf/machine/include/arm/arch-arm64.inc
+require conf/machine/include/arm/feature-arm-crc.inc
+require conf/machine/include/arm/feature-arm-crypto.inc
+
+# All ARMv8 has floating point hardware built in. Null it here to avoid any confusion for 32bit.
+TARGET_FPU_32 = ""
+
+AVAILTUNES += "armv8r armv8r-crc armv8r-crypto armv8r-simd armv8r-crc-crypto armv8r-crc-simd armv8r-crc-crypto-simd"
+ARMPKGARCH:tune-armv8r = "armv8r"
+ARMPKGARCH:tune-armv8r-crc = "armv8r"
+ARMPKGARCH:tune-armv8r-crypto = "armv8r"
+ARMPKGARCH:tune-armv8r-simd = "armv8r"
+ARMPKGARCH:tune-armv8r-crc-crypto = "armv8r"
+ARMPKGARCH:tune-armv8r-crc-simd = "armv8r"
+ARMPKGARCH:tune-armv8r-crc-crypto-simd = "armv8r"
+TUNE_FEATURES:tune-armv8r = "armv8r"
+TUNE_FEATURES:tune-armv8r-crc = "${TUNE_FEATURES:tune-armv8r} crc"
+TUNE_FEATURES:tune-armv8r-crypto = "${TUNE_FEATURES:tune-armv8r} crypto"
+TUNE_FEATURES:tune-armv8r-simd = "${TUNE_FEATURES:tune-armv8r} simd"
+TUNE_FEATURES:tune-armv8r-crc-crypto = "${TUNE_FEATURES:tune-armv8r-crc} crypto"
+TUNE_FEATURES:tune-armv8r-crc-simd = "${TUNE_FEATURES:tune-armv8r-crc} simd"
+TUNE_FEATURES:tune-armv8r-crc-crypto-simd = "${TUNE_FEATURES:tune-armv8r-crc-crypto} simd"
+PACKAGE_EXTRA_ARCHS:tune-armv8r = "armv8r"
+PACKAGE_EXTRA_ARCHS:tune-armv8r-crc = "${PACKAGE_EXTRA_ARCHS:tune-armv8r} armv8r-crc"
+PACKAGE_EXTRA_ARCHS:tune-armv8r-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8r} armv8r-crypto"
+PACKAGE_EXTRA_ARCHS:tune-armv8r-simd = "${PACKAGE_EXTRA_ARCHS:tune-armv8r} armv8r-simd"
+PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc} armv8r-simd armv8r-crc-simd"
+PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-crypto-simd = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} armv8r-crc-crypto-simd"
diff --git a/poky/meta/conf/machine/include/tune-arm920t.inc b/poky/meta/conf/machine/include/arm/armv4/tune-arm920t.inc
index 8a615792d..1b1cbdb5a 100644
--- a/poky/meta/conf/machine/include/tune-arm920t.inc
+++ b/poky/meta/conf/machine/include/arm/armv4/tune-arm920t.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv4t"
+DEFAULTTUNE ?= "arm920t"
require conf/machine/include/arm/arch-armv4.inc
diff --git a/poky/meta/conf/machine/include/tune-arm9tdmi.inc b/poky/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc
index 5ab286b57..78b890b43 100644
--- a/poky/meta/conf/machine/include/tune-arm9tdmi.inc
+++ b/poky/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv4t"
+DEFAULTTUNE ?= "arm9tdmi"
require conf/machine/include/arm/arch-armv4.inc
diff --git a/poky/meta/conf/machine/include/tune-ep9312.inc b/poky/meta/conf/machine/include/arm/armv4/tune-ep9312.inc
index 0d481d388..0d481d388 100644
--- a/poky/meta/conf/machine/include/tune-ep9312.inc
+++ b/poky/meta/conf/machine/include/arm/armv4/tune-ep9312.inc
diff --git a/poky/meta/conf/machine/include/tune-strongarm1100.inc b/poky/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc
index 6f5033bbc..38ea9b7dd 100644
--- a/poky/meta/conf/machine/include/tune-strongarm1100.inc
+++ b/poky/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv4"
+DEFAULTTUNE ?= "strongarm"
require conf/machine/include/arm/arch-armv4.inc
diff --git a/poky/meta/conf/machine/include/tune-arm926ejs.inc b/poky/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc
index 84c508486..84c508486 100644
--- a/poky/meta/conf/machine/include/tune-arm926ejs.inc
+++ b/poky/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc
diff --git a/poky/meta/conf/machine/include/tune-iwmmxt.inc b/poky/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc
index c584b47d1..c584b47d1 100644
--- a/poky/meta/conf/machine/include/tune-iwmmxt.inc
+++ b/poky/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc
diff --git a/poky/meta/conf/machine/include/tune-xscale.inc b/poky/meta/conf/machine/include/arm/armv5/tune-xscale.inc
index cc67dcd30..cc67dcd30 100644
--- a/poky/meta/conf/machine/include/tune-xscale.inc
+++ b/poky/meta/conf/machine/include/arm/armv5/tune-xscale.inc
diff --git a/poky/meta/conf/machine/include/tune-arm1136jf-s.inc b/poky/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc
index b84858094..b84858094 100644
--- a/poky/meta/conf/machine/include/tune-arm1136jf-s.inc
+++ b/poky/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc
diff --git a/poky/meta/conf/machine/include/tune-arm1176jz-s.inc b/poky/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc
index 21d77f081..21d77f081 100644
--- a/poky/meta/conf/machine/include/tune-arm1176jz-s.inc
+++ b/poky/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc
diff --git a/poky/meta/conf/machine/include/tune-cortex-m0.inc b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc
index aadc5326c..aadc5326c 100644
--- a/poky/meta/conf/machine/include/tune-cortex-m0.inc
+++ b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc
diff --git a/poky/meta/conf/machine/include/tune-cortex-m0plus.inc b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc
index a3cf3f0bd..a3cf3f0bd 100644
--- a/poky/meta/conf/machine/include/tune-cortex-m0plus.inc
+++ b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexm1.inc b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc
index 16661f3a2..16661f3a2 100644
--- a/poky/meta/conf/machine/include/tune-cortexm1.inc
+++ b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa15.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc
index 66bc124dc..e827afb2a 100644
--- a/poky/meta/conf/machine/include/tune-cortexa15.inc
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv7vethf-neon"
+DEFAULTTUNE ?= "cortexa15thf-neon"
require conf/machine/include/arm/arch-armv7ve.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa17.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc
index 324673d44..3ad00b16d 100644
--- a/poky/meta/conf/machine/include/tune-cortexa17.inc
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv7vethf-neon"
+DEFAULTTUNE ?= "cortexa17thf-neon"
require conf/machine/include/arm/arch-armv7ve.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa5.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc
index 817eb166d..0de5aadaa 100644
--- a/poky/meta/conf/machine/include/tune-cortexa5.inc
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv7athf-neon"
+DEFAULTTUNE ?= "cortexa5thf-neon"
require conf/machine/include/arm/arch-armv7a.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa7.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc
index 5384369b5..1ada527d8 100644
--- a/poky/meta/conf/machine/include/tune-cortexa7.inc
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv7vethf-neon"
+DEFAULTTUNE ?= "cortexa7thf-neon"
require conf/machine/include/arm/arch-armv7ve.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa8.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc
index e27002a29..952302afa 100644
--- a/poky/meta/conf/machine/include/tune-cortexa8.inc
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv7athf-neon"
+DEFAULTTUNE ?= "cortexa8thf-neon"
require conf/machine/include/arm/arch-armv7a.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa9.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc
index d046a11a5..4b4a52884 100644
--- a/poky/meta/conf/machine/include/tune-cortexa9.inc
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv7athf-neon"
+DEFAULTTUNE ?= "cortexa9thf-neon"
require conf/machine/include/arm/arch-armv7a.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexm3.inc b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc
index a6cb56638..a6cb56638 100644
--- a/poky/meta/conf/machine/include/tune-cortexm3.inc
+++ b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexm4.inc b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc
index e86622ff3..e86622ff3 100644
--- a/poky/meta/conf/machine/include/tune-cortexm4.inc
+++ b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexm7.inc b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc
index 6434ec639..6434ec639 100644
--- a/poky/meta/conf/machine/include/tune-cortexm7.inc
+++ b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc
diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc
new file mode 100644
index 000000000..0eed72963
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-R4
+#
+DEFAULTTUNE ?= "cortexr4"
+
+TUNEVALID[cortexr4] = "Enable Cortex-R4 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr4', ' -mcpu=cortex-r4', '', d)}"
+
+require conf/machine/include/arm/arch-armv7r.inc
+
+AVAILTUNES += "cortexr4"
+ARMPKGARCH:tune-cortexr4 = "cortexr4"
+TUNE_FEATURES:tune-cortexr4 = "${TUNE_FEATURES:tune-armv7r} cortexr4"
+PACKAGE_EXTRA_ARCHS:tune-cortexr4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r} cortexr4"
diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc
new file mode 100644
index 000000000..0712b3ab1
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-R4F
+#
+DEFAULTTUNE ?= "cortexr4f"
+
+TUNEVALID[cortexr4f] = "Enable Cortex-R4F specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr4f', ' -mcpu=cortex-r4f', '', d)}"
+
+require conf/machine/include/arm/arch-armv7r.inc
+
+AVAILTUNES += "cortexr4f"
+ARMPKGARCH:tune-cortexr4f = "cortexr4f"
+TUNE_FEATURES:tune-cortexr4f = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr4f"
+PACKAGE_EXTRA_ARCHS:tune-cortexr4f = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr4f-vfpv3d16"
diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc
new file mode 100644
index 000000000..ecaaa0d84
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-R5
+#
+DEFAULTTUNE ?= "cortexr5"
+
+TUNEVALID[cortexr5] = "Enable Cortex-R5 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr5', ' -mcpu=cortex-r5', '', d)}"
+
+require conf/machine/include/arm/arch-armv7r.inc
+
+AVAILTUNES += "cortexr5"
+ARMPKGARCH:tune-cortexr5 = "cortexr5"
+TUNE_FEATURES:tune-cortexr5 = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr5 idiv"
+PACKAGE_EXTRA_ARCHS:tune-cortexr5 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr5-vfpv3d16"
diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc
new file mode 100644
index 000000000..bfae1f007
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-R7
+#
+DEFAULTTUNE ?= "cortexr7"
+
+TUNEVALID[cortexr7] = "Enable Cortex-R7 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr7', ' -mcpu=cortex-r7', '', d)}"
+
+require conf/machine/include/arm/arch-armv7r.inc
+
+AVAILTUNES += "cortexr7"
+ARMPKGARCH:tune-cortexr7 = "cortexr7"
+TUNE_FEATURES:tune-cortexr7 = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr7 idiv"
+PACKAGE_EXTRA_ARCHS:tune-cortexr7 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr7-vfpv3d16"
diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc
new file mode 100644
index 000000000..7fb824f6e
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-R8
+#
+DEFAULTTUNE ?= "cortexr8"
+
+TUNEVALID[cortexr8] = "Enable Cortex-R8 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr8', ' -mcpu=cortex-r8', '', d)}"
+
+require conf/machine/include/arm/arch-armv7r.inc
+
+AVAILTUNES += "cortexr8"
+ARMPKGARCH:tune-cortexr8 = "cortexr8"
+TUNE_FEATURES:tune-cortexr8 = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr8 idiv"
+PACKAGE_EXTRA_ARCHS:tune-cortexr8 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr8-vfpv3d16"
diff --git a/poky/meta/conf/machine/include/tune-cortexa55.inc b/poky/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
index d130b4b90..d130b4b90 100644
--- a/poky/meta/conf/machine/include/tune-cortexa55.inc
+++ b/poky/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa32.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc
index c7b01a290..c7b01a290 100644
--- a/poky/meta/conf/machine/include/tune-cortexa32.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa35.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc
index 33afb1938..33afb1938 100644
--- a/poky/meta/conf/machine/include/tune-cortexa35.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc
index a534ad358..a534ad358 100644
--- a/poky/meta/conf/machine/include/tune-cortexa53.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa57-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc
index 7de671a2e..7de671a2e 100644
--- a/poky/meta/conf/machine/include/tune-cortexa57-cortexa53.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa57.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc
index 37650d879..37650d879 100644
--- a/poky/meta/conf/machine/include/tune-cortexa57.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa72-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc
index a77ef59d6..a77ef59d6 100644
--- a/poky/meta/conf/machine/include/tune-cortexa72-cortexa53.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa72.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
index 2a510bd45..2a510bd45 100644
--- a/poky/meta/conf/machine/include/tune-cortexa72.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa73-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc
index 9cebffd54..9cebffd54 100644
--- a/poky/meta/conf/machine/include/tune-cortexa73-cortexa53.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc
diff --git a/poky/meta/conf/machine/include/tune-thunderx.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc
index 7bc6282be..7bc6282be 100644
--- a/poky/meta/conf/machine/include/tune-thunderx.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc
diff --git a/poky/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc b/poky/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc
new file mode 100644
index 000000000..3a97cf8ee
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-R52
+#
+DEFAULTTUNE ?= "cortexr52"
+
+TUNEVALID[cortexr52] = "Enable Cortex-R52 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr52', ' -mcpu=cortex-r52', '', d)}"
+
+require conf/machine/include/arm/arch-armv8r.inc
+
+AVAILTUNES += "cortexr52"
+ARMPKGARCH:tune-cortexr52 = "cortexr52"
+TUNE_FEATURES:tune-cortexr52 = "${TUNE_FEATURES:tune-armv8r-crc-simd} cortexr52"
+PACKAGE_EXTRA_ARCHS:tune-cortexr52 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr52"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-crc.inc b/poky/meta/conf/machine/include/arm/feature-arm-crc.inc
new file mode 100644
index 000000000..8a69d2e2f
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/feature-arm-crc.inc
@@ -0,0 +1,4 @@
+# Cyclic Redundancy Check (CRC) instructions for armv8-a and armv8-r
+
+TUNEVALID[crc] = "Enable instructions for ARMv8 Cyclic Redundancy Check (CRC)"
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-crypto.inc b/poky/meta/conf/machine/include/arm/feature-arm-crypto.inc
new file mode 100644
index 000000000..aade6ce08
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/feature-arm-crypto.inc
@@ -0,0 +1,5 @@
+# Cryptographic instructions for:
+# armv8-a, armv8.1-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, and armv8-r
+
+TUNEVALID[crypto] = "Enable cryptographic instructions for ARMv8"
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-dsp.inc b/poky/meta/conf/machine/include/arm/feature-arm-dsp.inc
new file mode 100644
index 000000000..7f7ada746
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/feature-arm-dsp.inc
@@ -0,0 +1,3 @@
+ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}"
+TUNEVALID[dsp] = "ARM DSP functionality"
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], '+dsp', '', d)}"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-idiv.inc b/poky/meta/conf/machine/include/arm/feature-arm-idiv.inc
new file mode 100644
index 000000000..0ea42b1b3
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/feature-arm-idiv.inc
@@ -0,0 +1,2 @@
+TUNEVALID[idiv] = "ARM-state integer division instructions"
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'idiv', '+idiv', '', d)}"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-neon.inc b/poky/meta/conf/machine/include/arm/feature-arm-neon.inc
index eaddd054c..174b9b9f2 100644
--- a/poky/meta/conf/machine/include/arm/feature-arm-neon.inc
+++ b/poky/meta/conf/machine/include/arm/feature-arm-neon.inc
@@ -19,3 +19,8 @@ TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv4', 'neon' ],
TUNEVALID[vfpv4d16] = "Enable Vector Floating Point Version 4 with 16 registers (vfpv4-d16) unit."
TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv4d16', ' vfpv4-d16', '', d)}"
+
+TUNEVALID[vfpv5spd16] = "Enable Vector Floating Point Version 5, Single Precision. with 16 registers (fpv5-sp-d16) unit."
+TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv5spd16', 'fpv5-sp-d16', '', d)}"
+
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv3d16', 'vfpv5spd16' ], '+fp', '', d)}"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-simd.inc b/poky/meta/conf/machine/include/arm/feature-arm-simd.inc
new file mode 100644
index 000000000..1afaf8d90
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/feature-arm-simd.inc
@@ -0,0 +1,5 @@
+# Advanced SIMD and floating-point instructions for armv7-a, armv7ve,
+# armv8-a, armv8.1-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, and armv8-r
+
+TUNEVALID[simd] = "Enable instructions for Advanced SIMD and floating-point units"
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'simd', '+simd', '', d)}"
diff --git a/poky/meta/conf/machine/include/tune-mcf5441x.inc b/poky/meta/conf/machine/include/m68k/tune-mcf5441x.inc
index 7eefce03c..7eefce03c 100644
--- a/poky/meta/conf/machine/include/tune-mcf5441x.inc
+++ b/poky/meta/conf/machine/include/m68k/tune-mcf5441x.inc
diff --git a/poky/meta/conf/machine/include/tune-microblaze.inc b/poky/meta/conf/machine/include/microblaze/tune-microblaze.inc
index 11f7233cf..11f7233cf 100644
--- a/poky/meta/conf/machine/include/tune-microblaze.inc
+++ b/poky/meta/conf/machine/include/microblaze/tune-microblaze.inc
diff --git a/poky/meta/conf/machine/include/qemuboot-mips.inc b/poky/meta/conf/machine/include/mips/qemuboot-mips.inc
index 4954f3068..4954f3068 100644
--- a/poky/meta/conf/machine/include/qemuboot-mips.inc
+++ b/poky/meta/conf/machine/include/mips/qemuboot-mips.inc
diff --git a/poky/meta/conf/machine/include/mips/tune-mips-24k.inc b/poky/meta/conf/machine/include/mips/tune-mips-24k.inc
index ed6566587..106ff62fb 100644
--- a/poky/meta/conf/machine/include/mips/tune-mips-24k.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips-24k.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "mips32r2-24kc"
MIPSPKGSFX_MIPS16E ??= ""
-require conf/machine/include/tune-mips32r2.inc
+require conf/machine/include/mips/tune-mips32r2.inc
require conf/machine/include/mips/feature-mips-mips16e.inc
diff --git a/poky/meta/conf/machine/include/mips/tune-mips-74k.inc b/poky/meta/conf/machine/include/mips/tune-mips-74k.inc
index 988cfaef6..e4927a1ce 100644
--- a/poky/meta/conf/machine/include/mips/tune-mips-74k.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips-74k.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "mips32r2-74kc"
MIPSPKGSFX_MIPS16E ??= ""
-require conf/machine/include/tune-mips32r2.inc
+require conf/machine/include/mips/tune-mips32r2.inc
require conf/machine/include/mips/feature-mips-mips16e.inc
diff --git a/poky/meta/conf/machine/include/tune-mips32.inc b/poky/meta/conf/machine/include/mips/tune-mips32.inc
index 820087f59..820087f59 100644
--- a/poky/meta/conf/machine/include/tune-mips32.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips32.inc
diff --git a/poky/meta/conf/machine/include/tune-mips32r2.inc b/poky/meta/conf/machine/include/mips/tune-mips32r2.inc
index e7f6753d3..c868e925e 100644
--- a/poky/meta/conf/machine/include/tune-mips32r2.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips32r2.inc
@@ -1,6 +1,6 @@
DEFAULTTUNE ?= "mips32r2"
-require conf/machine/include/tune-mips32.inc
+require conf/machine/include/mips/tune-mips32.inc
TUNEVALID[mips32r2] = "Enable mips32r2 specific processor optimizations"
TUNECONFLICTS[mips32r2] = "n64 n32"
diff --git a/poky/meta/conf/machine/include/tune-mips32r6.inc b/poky/meta/conf/machine/include/mips/tune-mips32r6.inc
index 9904cc0b1..9904cc0b1 100644
--- a/poky/meta/conf/machine/include/tune-mips32r6.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips32r6.inc
diff --git a/poky/meta/conf/machine/include/mips/tune-mips64.inc b/poky/meta/conf/machine/include/mips/tune-mips64.inc
new file mode 100644
index 000000000..a9080159f
--- /dev/null
+++ b/poky/meta/conf/machine/include/mips/tune-mips64.inc
@@ -0,0 +1,3 @@
+DEFAULTTUNE ?= "mips64"
+
+require conf/machine/include/mips/tune-mips32r2.inc
diff --git a/poky/meta/conf/machine/include/tune-mips64r2.inc b/poky/meta/conf/machine/include/mips/tune-mips64r2.inc
index 6337abb09..c644f4091 100644
--- a/poky/meta/conf/machine/include/tune-mips64r2.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips64r2.inc
@@ -1,6 +1,6 @@
DEFAULTTUNE ?= "mips64r2"
-require conf/machine/include/tune-mips64.inc
+require conf/machine/include/mips/tune-mips64.inc
TUNEVALID[mips64r2] = "Enable mips64r2 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips64r2', ' -march=mips64r2', '', d)}"
diff --git a/poky/meta/conf/machine/include/tune-mips64r6.inc b/poky/meta/conf/machine/include/mips/tune-mips64r6.inc
index b4a7e9ef1..b4a7e9ef1 100644
--- a/poky/meta/conf/machine/include/tune-mips64r6.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips64r6.inc
diff --git a/poky/meta/conf/machine/include/tune-octeon.inc b/poky/meta/conf/machine/include/mips/tune-octeon.inc
index 455c6a2f3..d4670e325 100644
--- a/poky/meta/conf/machine/include/tune-octeon.inc
+++ b/poky/meta/conf/machine/include/mips/tune-octeon.inc
@@ -1,6 +1,6 @@
DEFAULTTUNE ?="octeon2"
-require conf/machine/include/tune-mips64.inc
+require conf/machine/include/mips/tune-mips64.inc
AVAILTUNES += "octeon2 octeon2_64 octeon3 octeon3_64"
diff --git a/poky/meta/conf/machine/include/tune-power5.inc b/poky/meta/conf/machine/include/powerpc/tune-power5.inc
index e70e40121..e70e40121 100644
--- a/poky/meta/conf/machine/include/tune-power5.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-power5.inc
diff --git a/poky/meta/conf/machine/include/tune-power6.inc b/poky/meta/conf/machine/include/powerpc/tune-power6.inc
index eaf89515c..eaf89515c 100644
--- a/poky/meta/conf/machine/include/tune-power6.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-power6.inc
diff --git a/poky/meta/conf/machine/include/tune-power7.inc b/poky/meta/conf/machine/include/powerpc/tune-power7.inc
index 4531ddd85..4531ddd85 100644
--- a/poky/meta/conf/machine/include/tune-power7.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-power7.inc
diff --git a/poky/meta/conf/machine/include/tune-power9.inc b/poky/meta/conf/machine/include/powerpc/tune-power9.inc
index 6744731f8..6744731f8 100644
--- a/poky/meta/conf/machine/include/tune-power9.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-power9.inc
diff --git a/poky/meta/conf/machine/include/tune-ppc476.inc b/poky/meta/conf/machine/include/powerpc/tune-ppc476.inc
index 54152cb94..54152cb94 100644
--- a/poky/meta/conf/machine/include/tune-ppc476.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppc476.inc
diff --git a/poky/meta/conf/machine/include/tune-ppc603e.inc b/poky/meta/conf/machine/include/powerpc/tune-ppc603e.inc
index 8beec00f2..8beec00f2 100644
--- a/poky/meta/conf/machine/include/tune-ppc603e.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppc603e.inc
diff --git a/poky/meta/conf/machine/include/tune-ppc7400.inc b/poky/meta/conf/machine/include/powerpc/tune-ppc7400.inc
index 1e2c9fc2c..1e2c9fc2c 100644
--- a/poky/meta/conf/machine/include/tune-ppc7400.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppc7400.inc
diff --git a/poky/meta/conf/machine/include/tune-ppce300c2.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce300c2.inc
index 90171c76d..90171c76d 100644
--- a/poky/meta/conf/machine/include/tune-ppce300c2.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce300c2.inc
diff --git a/poky/meta/conf/machine/include/tune-ppce300c3.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce300c3.inc
index b74b6ad97..b74b6ad97 100644
--- a/poky/meta/conf/machine/include/tune-ppce300c3.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce300c3.inc
diff --git a/poky/meta/conf/machine/include/tune-ppce500.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce500.inc
index aceab321b..aceab321b 100644
--- a/poky/meta/conf/machine/include/tune-ppce500.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce500.inc
diff --git a/poky/meta/conf/machine/include/tune-ppce500mc.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce500mc.inc
index e3524a10c..e3524a10c 100644
--- a/poky/meta/conf/machine/include/tune-ppce500mc.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce500mc.inc
diff --git a/poky/meta/conf/machine/include/tune-ppce500v2.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce500v2.inc
index 461164d81..461164d81 100644
--- a/poky/meta/conf/machine/include/tune-ppce500v2.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce500v2.inc
diff --git a/poky/meta/conf/machine/include/tune-ppce5500.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce5500.inc
index 2cf7b1737..2cf7b1737 100644
--- a/poky/meta/conf/machine/include/tune-ppce5500.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce5500.inc
diff --git a/poky/meta/conf/machine/include/tune-ppce6500.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce6500.inc
index e78de350a..e78de350a 100644
--- a/poky/meta/conf/machine/include/tune-ppce6500.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce6500.inc
diff --git a/poky/meta/conf/machine/include/tune-sh3.inc b/poky/meta/conf/machine/include/sh/tune-sh3.inc
index 77d0b71fc..77d0b71fc 100644
--- a/poky/meta/conf/machine/include/tune-sh3.inc
+++ b/poky/meta/conf/machine/include/sh/tune-sh3.inc
diff --git a/poky/meta/conf/machine/include/tune-sh4.inc b/poky/meta/conf/machine/include/sh/tune-sh4.inc
index e21ede36c..b4893a474 100644
--- a/poky/meta/conf/machine/include/tune-sh4.inc
+++ b/poky/meta/conf/machine/include/sh/tune-sh4.inc
@@ -6,7 +6,7 @@ require conf/machine/include/sh/arch-sh.inc
TUNEVALID[sh4] = "Enable SH4 optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'sh4', ' -m4', '', d)}"
-# NOTE: If you want to optimize to sh4a, conf/machine/include/tune-sh4a.inc.
+# NOTE: If you want to optimize to sh4a, conf/machine/include/sh/tune-sh4a.inc.
# But it is not compatible for sh4.
# The binary optimized by m4a doesn't operate on sh4. It works on sh4a only.
TUNEVALID[sh4a] = "Enable SH4a optimizations"
diff --git a/poky/meta/conf/machine/include/tune-mips64.inc b/poky/meta/conf/machine/include/tune-mips64.inc
deleted file mode 100644
index 9be0e0f8d..000000000
--- a/poky/meta/conf/machine/include/tune-mips64.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-DEFAULTTUNE ?= "mips64"
-
-require conf/machine/include/tune-mips32r2.inc
diff --git a/poky/meta/conf/machine/include/qemuboot-x86.inc b/poky/meta/conf/machine/include/x86/qemuboot-x86.inc
index d3b91070a..d3b91070a 100644
--- a/poky/meta/conf/machine/include/qemuboot-x86.inc
+++ b/poky/meta/conf/machine/include/x86/qemuboot-x86.inc
diff --git a/poky/meta/conf/machine/include/tune-atom.inc b/poky/meta/conf/machine/include/x86/tune-atom.inc
index 5e1bb74c6..6b84fffc3 100644
--- a/poky/meta/conf/machine/include/tune-atom.inc
+++ b/poky/meta/conf/machine/include/x86/tune-atom.inc
@@ -1,2 +1,2 @@
# Atom tunings are the same as core2 for now...
-require conf/machine/include/tune-core2.inc
+require conf/machine/include/x86/tune-core2.inc
diff --git a/poky/meta/conf/machine/include/tune-c3.inc b/poky/meta/conf/machine/include/x86/tune-c3.inc
index afae82541..afae82541 100644
--- a/poky/meta/conf/machine/include/tune-c3.inc
+++ b/poky/meta/conf/machine/include/x86/tune-c3.inc
diff --git a/poky/meta/conf/machine/include/tune-core2.inc b/poky/meta/conf/machine/include/x86/tune-core2.inc
index a551cad4d..97b7c1b18 100644
--- a/poky/meta/conf/machine/include/tune-core2.inc
+++ b/poky/meta/conf/machine/include/x86/tune-core2.inc
@@ -9,7 +9,7 @@
DEFAULTTUNE ?= "core2-32"
# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
-require conf/machine/include/tune-i686.inc
+require conf/machine/include/x86/tune-i686.inc
# Extra tune features
TUNEVALID[core2] = "Enable core2 specific processor optimizations"
diff --git a/poky/meta/conf/machine/include/tune-corei7.inc b/poky/meta/conf/machine/include/x86/tune-corei7.inc
index bf1ac7a93..7798288a7 100644
--- a/poky/meta/conf/machine/include/tune-corei7.inc
+++ b/poky/meta/conf/machine/include/x86/tune-corei7.inc
@@ -9,7 +9,7 @@
DEFAULTTUNE ?= "corei7-64"
# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
-require conf/machine/include/tune-core2.inc
+require conf/machine/include/x86/tune-core2.inc
# Extra tune features
TUNEVALID[corei7] = "Enable corei7 specific processor optimizations"
diff --git a/poky/meta/conf/machine/include/tune-i586-nlp.inc b/poky/meta/conf/machine/include/x86/tune-i586-nlp.inc
index ecfbf9f1b..ecfbf9f1b 100644
--- a/poky/meta/conf/machine/include/tune-i586-nlp.inc
+++ b/poky/meta/conf/machine/include/x86/tune-i586-nlp.inc
diff --git a/poky/meta/conf/machine/include/tune-i586.inc b/poky/meta/conf/machine/include/x86/tune-i586.inc
index b1299e9e9..b1299e9e9 100644
--- a/poky/meta/conf/machine/include/tune-i586.inc
+++ b/poky/meta/conf/machine/include/x86/tune-i586.inc
diff --git a/poky/meta/conf/machine/include/tune-i686.inc b/poky/meta/conf/machine/include/x86/tune-i686.inc
index 3feb4df8b..293d81e6c 100644
--- a/poky/meta/conf/machine/include/tune-i686.inc
+++ b/poky/meta/conf/machine/include/x86/tune-i686.inc
@@ -13,7 +13,7 @@ DEFAULTTUNE ?= "i686"
X86ARCH32 ?= "i686"
# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
-require conf/machine/include/tune-i586.inc
+require conf/machine/include/x86/tune-i586.inc
# Extra tune features
TUNEVALID[i686] = "Enable i686 specific processor optimizations"
diff --git a/poky/meta/conf/machine/include/x86-base.inc b/poky/meta/conf/machine/include/x86/x86-base.inc
index ef6690b0b..958b3490e 100644
--- a/poky/meta/conf/machine/include/x86-base.inc
+++ b/poky/meta/conf/machine/include/x86/x86-base.inc
@@ -18,7 +18,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
# kernel-related variables
#
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ??= "5.10%"
+PREFERRED_VERSION_linux-yocto ??= "5.13%"
#
# XSERVER subcomponents, used to build the XSERVER variable
diff --git a/poky/meta/conf/machine/qemuarm.conf b/poky/meta/conf/machine/qemuarm.conf
index f893f1a76..93d855b6e 100644
--- a/poky/meta/conf/machine/qemuarm.conf
+++ b/poky/meta/conf/machine/qemuarm.conf
@@ -2,7 +2,7 @@
#@NAME: QEMU Arm Cortex-A15 machine
#@DESCRIPTION: Machine configuration for running an ARMv7 system on QEMU
-require conf/machine/include/tune-cortexa15.inc
+require conf/machine/include/arm/armv7a/tune-cortexa15.inc
require conf/machine/include/qemu.inc
KERNEL_IMAGETYPE = "zImage"
diff --git a/poky/meta/conf/machine/qemuarm64.conf b/poky/meta/conf/machine/qemuarm64.conf
index 3dcb0d1b1..ea7fae272 100644
--- a/poky/meta/conf/machine/qemuarm64.conf
+++ b/poky/meta/conf/machine/qemuarm64.conf
@@ -2,7 +2,7 @@
#@NAME: QEMU ARMv8 machine
#@DESCRIPTION: Machine configuration for running an ARMv8 system on QEMU
-require conf/machine/include/tune-cortexa57.inc
+require conf/machine/include/arm/armv8a/tune-cortexa57.inc
require conf/machine/include/qemu.inc
KERNEL_IMAGETYPE = "Image"
diff --git a/poky/meta/conf/machine/qemuarmv5.conf b/poky/meta/conf/machine/qemuarmv5.conf
index 7650c2f4a..6c99a5296 100644
--- a/poky/meta/conf/machine/qemuarmv5.conf
+++ b/poky/meta/conf/machine/qemuarmv5.conf
@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for running an ARMv5 system on QEMU
require conf/machine/include/qemu.inc
-require conf/machine/include/tune-arm926ejs.inc
+require conf/machine/include/arm/armv5/tune-arm926ejs.inc
KERNEL_IMAGETYPE = "zImage"
@@ -14,7 +14,7 @@ QB_SYSTEM_NAME = "qemu-system-arm"
QB_MACHINE = "-machine versatilepb"
QB_KERNEL_CMDLINE_APPEND = "vmalloc=256"
QB_OPT_APPEND = "-usb -device usb-tablet"
-PREFERRED_VERSION_linux-yocto ??= "5.10%"
+PREFERRED_VERSION_linux-yocto ??= "5.13%"
QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
KMACHINE:qemuarmv5 = "qemuarm"
diff --git a/poky/meta/conf/machine/qemumips.conf b/poky/meta/conf/machine/qemumips.conf
index 9b602fcd1..1cf21b92f 100644
--- a/poky/meta/conf/machine/qemumips.conf
+++ b/poky/meta/conf/machine/qemumips.conf
@@ -3,8 +3,8 @@
#@DESCRIPTION: Machine configuration for running a MIPS system on QEMU
require conf/machine/include/qemu.inc
-require conf/machine/include/tune-mips32r2.inc
-require conf/machine/include/qemuboot-mips.inc
+require conf/machine/include/mips/tune-mips32r2.inc
+require conf/machine/include/mips/qemuboot-mips.inc
KERNEL_IMAGETYPE = "vmlinux"
KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
diff --git a/poky/meta/conf/machine/qemumips64.conf b/poky/meta/conf/machine/qemumips64.conf
index b37d78989..32351f993 100644
--- a/poky/meta/conf/machine/qemumips64.conf
+++ b/poky/meta/conf/machine/qemumips64.conf
@@ -3,8 +3,8 @@
#@DESCRIPTION: Machine configuration for running a MIPS64 system on QEMU
require conf/machine/include/qemu.inc
-require conf/machine/include/tune-mips64r2.inc
-require conf/machine/include/qemuboot-mips.inc
+require conf/machine/include/mips/tune-mips64r2.inc
+require conf/machine/include/mips/qemuboot-mips.inc
QB_CPU = "-cpu MIPS64R2-generic"
diff --git a/poky/meta/conf/machine/qemuppc.conf b/poky/meta/conf/machine/qemuppc.conf
index a84594f33..bab06e292 100644
--- a/poky/meta/conf/machine/qemuppc.conf
+++ b/poky/meta/conf/machine/qemuppc.conf
@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for running a PPC system on QEMU
require conf/machine/include/qemu.inc
-require conf/machine/include/tune-ppc7400.inc
+require conf/machine/include/powerpc/tune-ppc7400.inc
TARGET_CC_KERNEL_ARCH = "-mno-spe"
diff --git a/poky/meta/conf/machine/qemuppc64.conf b/poky/meta/conf/machine/qemuppc64.conf
index a5270e98e..2902d541a 100644
--- a/poky/meta/conf/machine/qemuppc64.conf
+++ b/poky/meta/conf/machine/qemuppc64.conf
@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for running a PPC system on QEMU
require conf/machine/include/qemu.inc
-require conf/machine/include/tune-power9.inc
+require conf/machine/include/powerpc/tune-power9.inc
KERNEL_IMAGETYPE = "vmlinux"
diff --git a/poky/meta/conf/machine/qemux86-64.conf b/poky/meta/conf/machine/qemux86-64.conf
index db9004ee3..978334d5b 100644
--- a/poky/meta/conf/machine/qemux86-64.conf
+++ b/poky/meta/conf/machine/qemux86-64.conf
@@ -9,8 +9,8 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
require conf/machine/include/qemu.inc
DEFAULTTUNE ?= "core2-64"
-require conf/machine/include/tune-core2.inc
-require conf/machine/include/qemuboot-x86.inc
+require conf/machine/include/x86/tune-core2.inc
+require conf/machine/include/x86/qemuboot-x86.inc
UBOOT_MACHINE ?= "qemu-x86_64_defconfig"
diff --git a/poky/meta/conf/machine/qemux86.conf b/poky/meta/conf/machine/qemux86.conf
index 7e6723b88..ad7f6e0ee 100644
--- a/poky/meta/conf/machine/qemux86.conf
+++ b/poky/meta/conf/machine/qemux86.conf
@@ -9,8 +9,8 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
require conf/machine/include/qemu.inc
DEFAULTTUNE ?= "core2-32"
-require conf/machine/include/tune-corei7.inc
-require conf/machine/include/qemuboot-x86.inc
+require conf/machine/include/x86/tune-corei7.inc
+require conf/machine/include/x86/qemuboot-x86.inc
UBOOT_MACHINE ?= "qemu-x86_defconfig"