subtree updates
poky: 94dfcaff64..359e1cb62f:
Alexander Kanavin (76):
tcf-agent: fetching over git:// no longer works
lighttpd: convert from autotools to meson
libxcrypt: upgrade 4.4.23 -> 4.4.25
python3-cython: upgrade 0.29.23 -> 0.29.24
python3-numpy: upgrade 1.21.0 -> 1.21.2
systemd: upgrade 249.1 -> 249.3
xeyes: upgrade 1.1.2 -> 1.2.0
btrfs-tools: update 5.13 -> 5.13.1
diffutils: update 3.7 -> 3.8
mc: update 4.8.26 - > 4.8.27
libsdl2: update 2.0.14 -> 2.0.16
vulkan-samples: update to latest revision
pulseaudio: update 14.2 -> 15.0
libjitterentropy: update 3.0.2 -> 3.1.0
usbutils: upgrade 013 -> 014
inetutils: upgrade 2.0 -> 2.1
mobile-broadband-provider-info: upgrade 20201225 -> 20210805
glib-networking: upgrade 2.68.1 -> 2.68.2
e2fsprogs: upgrade 1.46.2 -> 1.46.4
help2man: upgrade 1.48.3 -> 1.48.4
libedit: upgrade 20210522-3.1 -> 20210714-3.1
log4cplus: upgrade 2.0.6 -> 2.0.7
mtools: upgrade 4.0.34 -> 4.0.35
patchelf: upgrade 0.12 -> 0.13
pkgconf: upgrade 1.7.4 -> 1.8.0
python3-git: upgrade 3.1.18 -> 3.1.20
python3-pip: upgrade 21.2.1 -> 21.2.4
python3-pygments: upgrade 2.9.0 -> 2.10.0
python3-setuptools: upgrade 57.1.0 -> 57.4.0
squashfs-tools: upgrade 4.4 -> 4.5
acpica: upgrade 20210331 -> 20210730
libidn2: upgrade 2.3.1 -> 2.3.2
stress-ng: upgrade 0.12.12 -> 0.13.00
sudo: upgrade 1.9.7p1 -> 1.9.7p2
epiphany: upgrade 40.2 -> 40.3
libgudev: upgrade 236 -> 237
libjpeg-turbo: upgrade 2.1.0 -> 2.1.1
libepoxy: upgrade 1.5.8 -> 1.5.9
pango: upgrade 1.48.7 -> 1.48.9
mesa: upgrade 21.1.5 -> 21.2.1
libinput: upgrade 1.18.0 -> 1.18.1
libxfont2: upgrade 2.0.4 -> 2.0.5
libxft: upgrade 2.3.3 -> 2.3.4
xserver-xorg: upgrade 1.20.12 -> 1.20.13
linux-firmware: upgrade 20210511 -> 20210818
wireless-regdb: upgrade 2021.04.21 -> 2021.07.14
libwebp: upgrade 1.2.0 -> 1.2.1
webkitgtk: upgrade 2.32.2 -> 2.32.3
boost: upgrade 1.76.0 -> 1.77.0
diffoscope: upgrade 179 -> 181
enchant2: upgrade 2.3.0 -> 2.3.1
re2c: upgrade 2.1.1 -> 2.2
rng-tools: upgrade 6.13 -> 6.14
kea: backport a patch to fix build errors exposed by latest update batch
qemu: add a hint on how to enable CPU render nodes when a suitable GPU is absent
mc: fix reproducibility
libjitterentropy: remove contaminated hashequiv entry
binutils: drop target flex/bison from build dependencies
gnu-efi: update 3.0.13 -> 3.0.14
glib-2.0: upgrade 2.68.3 -> 2.68.4
util-linux: upgrade 2.37.1 -> 2.37.2
ccache: upgrade 4.3 -> 4.4
git: upgrade 2.32.0 -> 2.33.0
openssh: upgrade 8.6p1 -> 8.7p1
ell: upgrade 0.42 -> 0.43
python3-mako: upgrade 1.1.4 -> 1.1.5
vala: upgrade 0.52.4 -> 0.52.5
libnsl2: upgrade 1.3.0 -> 2.0.0
gi-docgen: upgrade 2021.6 -> 2021.7
json-glib: upgrade 1.6.2 -> 1.6.4
bind: upgrade 9.16.19 -> 9.16.20
harfbuzz: upgrade 2.8.2 -> 2.9.0
qemurunner.py: print output from runqemu/qemu-system in stop()
qemurunner.py: handle getOutput() having nothing to read
rust: fix upstream version checks
mesa: enable crocus driver for older intel graphics
Andreas Müller (2):
mesa: upgrade 21.1.5 -> 21.1.7
binutils: Apply upstream patch to fix 'too many open files' on qtwebengine
Andrej Valek (2):
busybox: 1.33.1 -> 1.34.0
vim: add option to disable NLS support
Andres Beltran (2):
buildhistory: Add output file listing package information
buildhistory: Label packages providing per-file dependencies in depends.dot
Andrey Zhizhikin (2):
lttng-modules: do not search in non-existing folder during install
nativesdk-packagegroup-sdk-host: add perl integer module
Armin Kuster (2):
lz4: Security Fix for CVE-2021-3520
lz4: remove rest of ptest artifacts
Bruce Ashfield (21):
linux-yocto/5.13: update to v5.13.7
linux-yocto/5.4: update to v5.4.137
linux-yocto/5.10: update to v5.10.55
linux-yocto/5.4: update to v5.4.139
linux-yocto/5.10: update to v5.10.57
linux-yocto/5.13: update to v5.13.9
linux-yocto/5.4: remove recipes
conf/machine: bump qemu preferred versions to 5.13
linux-yocto-dev: bump to v5.14+
lttng-modules: update to 2.13.0
kernel-devsrc: 5.14+ updates
kernel-devsrc: fix 5.14+ objtool compilation
poky/poky-tiny: set default kernel to 5.13
poky: set default kernel to 5.13
yocto-bsp: drop 5.4 bbappend
poky-alt: switch default kernel to 5.10
linux-yocto/5.13: update to v5.13.11
linux-yocto/5.10: update to v5.10.59
linux-yocto/5.13: update to v5.13.12
linux-yocto/5.10: update to v5.10.60
parselogs.py: ignore intermittent CD/DVDROM identification failure
Chen Qi (1):
package_rpm/update-alternatives: fix package's provides
Daniel Gomez (2):
wic: Add --no-fstab-update part option
oeqa: wic: Add tests for --no-fstab-update
Denys Dmytriyenko (1):
grep: upgrade 3.6 -> 3.7
Enrico Scholz (1):
bitbake: fetch2/wget: fix 'no_proxy' handling
Hongxu Jia (2):
nativesdk-pseudo: Fix to work with glibc 2.34 systems
glibc: fix create thread failed in unprivileged process
Hsia-Jun Li (1):
lib/oe/elf: Add Android OS to machine_dict
Jon Mason (8):
arch-armv8m-main: missing space
conf/machine: move tune files to architecture directories
yocto-bsp: update machine confs with new tune locations
docs: update docs with new tune locations
arch-arm*: add better support for gcc march extensions
tune-cortexr*: add support for all Arm Cortex-R processors
arch-arm*: Fix bugs with dsp and simd feature include files
tune-*: Use more specific DEFAULTTUNE
Jose Quaresma (1):
sstate.bbclass: get the number of threads from BB_NUMBER_THREADS
Joshua Watt (17):
bitbake: contrib: vim: Add "remove" override highlighting
bitbake.conf: Add lz4c, pzstd and zstd
bitbake: bitbake: asyncrpc: Defer all asyncio to child process
conf/licenses: Add FreeType SPDX mapping
tzdata: Remove BSD License specifier
glib-2.0: Use specific BSD license variant
e2fsprogs: Use specific BSD license variant
shadow: Use specific BSD license variant
libcap: Use specific BSD license variant
sudo: Use specific BSD license variant
libpam: Use specific BSD license variant
libxfont2: Use specific BSD license variant
libjitterentropy: Use specific BSD license variant
libx11: Use specific BSD license variant
font-util: Use specific BSD license variant
flac: Use specific BSD license variant
swig: Use specific BSD license variant
Kai Kang (2):
libcgroup: fix installed-vs-shipped qa issue
rustfmt: fix SRC_URI
Kevin Hao (2):
meta-yocto-bsp: Set the default kernel to v5.13
meta-yocto-bsp: Bump the kernel to v5.13.11
Khem Raj (2):
weston: Re-order gbm destruction at DRM-backend tear down
musl: Update to latest tip of trunk
Kristian Klausen (1):
systemd: Add repart PACKAGECONFIG
Marco Felsch (1):
bitbake: bitbake: bitbake-layers: add skip reason to output
Marek Vasut (1):
weston: Add rdp PACKAGECONFIG
Marta Rybczynska (1):
lzo: add CVE_PRODUCT
Martin Jansa (3):
bitbake: prserv: handle PRSERV_HOST = "127.0.0.1:0" the same as "localhost:0"
bitbake: cooker/process: Fix typos in exiting message
rust: remove unused patches
Michael Halstead (2):
uninative: Upgrade to 3.3, support glibc 2.34
uninative: Upgrade to 3.4
Michael Opdenacker (2):
maintainers.inc: maintainer for alsa-*, flac, lame and speex
meta: stop using "virtual/" in RPROVIDES and RDEPENDS
Mingli Yu (2):
shadow: fix default value in SHA_get_salt_rounds()
bitbake: prserv: make localhost work
Oleksandr Popovych (1):
utils: Reduce the number of calls to the "dirname" command
Oliver Kranz (1):
Allow global override of golang GO_DYNLINK
Paul Barker (2):
bitbake: prserv: Replace XML RPC with modern asyncrpc implementation
bitbake: prserv: Add read-only mode
Paul Gortmaker (1):
ltp: backport ioctl_ns05 fix from upstream
Peter Kjellerstedt (7):
lttng-modules: Make it build when CONFIG_TRACEPOINTS is not enabled again
poky-floating-revisions.inc: Use new override syntax for commented vars
local.conf.sample: Use the new override syntax for a commented variable
bitbake.conf: Use the new variable override syntax in a comment
buildhistory-collect-srcrevs: Adapt to the new variable override syntax
meson.bbclass: Make the default buildtype "debug" if DEBUG_BUILD is 1
bitbake: providers: Use new override syntax when handling pn- "override"
Purushottam Choudhary (1):
assimp: added patch to fix hardcoded non-existing paths in CMake modules
Randy MacLeod (8):
openssl: upgrade from 1.1.1k to 1.1.1l
rust: initial merge of most of meta-rust
rust: mv README.md to recipes-devtools/rust/README-rust.md
rust: update the README to conform to being in oe-core
cargo/rust/rustfmt: exclude from world
maintainers: Add myself as maintainer for rust pkgs
cargo_common: remove http_proxy
rust: remove Rust version 1.51.0 toolchain
Richard Purdie (27):
elfutils: Add zstd PACKAGECONFIG for determinism
man-db: Add compression PACKAGECONFIG entries
oeqa/selftest/glibc: Handle incorrect encoding issuesin glibc test results
package/scripts: Fix FILES_INFO handling
package: Fix overrides converion issue with PKGSIZE
bitbake: bitbake: Make 3.6.0 the minimum python version
elfutils: Fix ptest dependencies
bsp-guide: Fix reference to bbappend section of dev-manual
ref-manual: Fix reference to bbappend section of dev-manual
gcc: Fix nativesdk builds and multilib fixes with gcc 11
bitbake: README: Add note about test suite and new tests
pseudo: Fix to work with glibc 2.34 systems
bitbake: README: Fix typo
rust-cross*: Fix OVERRRIDE references in task signature computation
rust-cross-canadian-common: Use rust.inc directly, not rust-target
cargo: Ensure cargo-cross-canadian doesn't have native/nativesdk versions
rust-native: Avoid stripped warning
rust-llvm: Add missing HOMEPAGE
rust: Skip target recipe since it doesn't work
oeqa/selftest/distrodata: Fix up rust maintainer testing
rust: Avoid buildtools+uninative issues with glibc symbols mismatches
rust-common: Add LDFLAGS to cc wrapper
oeqa/selftest/reproducibile: Exclude rust packages
kernel: Use unexpanded EXTENDPKGV
oeqa/buildtools-cases: Allow bitbake time to shutdown
cargo: Apply uninative fix to snapshot as with rust
rust-common: Hack around LD_LIBRARY_PATH issues on centos7
Robert P. J. Day (1):
scripts/lib/wic/help/py: "Redhat" -> "Red Hat"
Ross Burton (11):
oeqa/selftest/buildoptions: test buildhistory PKGSIZE and FILELIST fields
uninative: Improve glob to handle glibc 2.34
oeqa/sdk: add relocation test for buildtools
glibc: package the stub .a libaries into glibc-dev
oeqa/sdk: add HTTPS test for buildtools
libcgroup: upgrade to 2.0
gcc: also relocate the musl loader
local.conf.sample.extended: fix commented-out override syntax
cpio: backport fix for CVE-2021-38185
mesa: fix build on Arm V5 with soft float
ptest: allow the ptest-packagelists.inc warning to be disabled
Sakib Sajal (1):
qemu: fix CVE-2021-3682
Scott Murray (2):
bitbake: bitbake: asyncrpc: always create new asyncio loops
prservice: remove connection caching
Stefan Herbrechtsmeier (4):
u-boot: Remove redundancy from installed and deployed SPL artifact names
u-boot: Remove misplaced configuration type variable
u-boot: Make SPL suffix configurable
u-boot: Make UBOOT_BINARYNAME configurable
Tim Orling (7):
python3-importlib-metadata: upgrade 4.6.3 -> 4.6.4
python3-hypothesis: upgrade 6.14.5 -> 6.14.8
python3-hypothesis: upgrade 6.14.8 -> 6.15.0
python3-hypothesis: enable ptest
python3-pluggy: upgrade 0.13.1 -> 1.0.0
python3-pytest: allow python3-pluggy >=1.0.0
rust-common.bbclass: export RUST_TARGET_PATH
Trevor Gamblin (1):
bluez: upgrade 5.60 -> 5.61
Trevor Woerner (1):
distro_features_check: expand with IMAGE_FEATURES
Vinay Kumar (2):
glibc: Fix CVE-2021-38604
rust-common.inc: Fix build failure with qemuppc64.
Yi Zhao (2):
prelink: add PACKAGECONFIG for selinux
shadow: add /etc/default/useradd
Zoltán Böszörményi (4):
kernel-module-split.bbclass: Support zstd-compressed modules
Allow opt-out of split kernel modules
kernel.bbclass: Use full versions for inter-package dependencies
base/kernel: Support zstd-compressed squashfs and cpio initramfs
leimaohui (2):
Fix conflict error when enable multilib.
wordsize.h: Fix a miss, this file in arm and aarch64 should be the same.
meta-raspberrypi: 32921fc9bd..a6fa6b3aec:
Khem Raj (4):
machines: Use tune files from new location in oe-core
linux-raspberrypi: Update to 5.10.59
raspberrypi-firmware: Update to latest
raspberrypi4: Use full kms (vc4-kms-v3d) DT overlay
Marcus Comstedt (1):
pi-bluetooth: Add compatibility with non-systemd builds
Tom Rini (1):
xserver-xf86-config: Correctly append to FILES:${PN}
meta-security: c885d399cd..1f18c623e9:
Armin Kuster (10):
cryfs: add new package
kas-security-bas: bump conf value
kas: fix DISTRO appends
dm-verity-img.bbclass: more overided fixups
krill: Rust is in core now
suricata: rust is in core
layer.conf: drop dynamic-layer
layer.conf: drop meta-rust
harden-image-minimal: fix useradd inherit
kas: remove rust layers
Daiane Angolini (1):
meta-integrity: kernel-modsign: Change weak default value
George Liu (1):
meta: Fix typos
Marta Rybczynska (2):
README: fix mailing lists
README: fix mailing lists and a typo
meta-openembedded: a13db91f19..9fdc7960ba:
Andreas Müller (6):
catch2: upgrade 2.13.6 -> 2.13.7
fltk/CMake: Do not export executable 'fluid'
fltk: upgrade 1.3.6 -> 1.3.7
network-manager-applet: upgrade 1.22.0 -> 1.24.0
networkmanager: upgrade 1.32.4 -> 1.32.8
udisks2: upgrade 2.9.2 -> 2.9.3
Anton Blanchard (2):
boost-url: Use GNUInstallDirs instead of hard wiring install directories
cereal: Use GNUInstallDirs instead of hard wiring install directories
Changqing Li (1):
linuxptp: upgrade 3.1 -> 3.1.1
Devendra Tewari (1):
android-tools: Add flag to enable adbd service (#147)
Dmitry Baryshkov (1):
image_types_sparse: stop using ext2simg
Easwar Hariharan (1):
chrony: Fix privdrop packageconfig
Joe Slater (1):
nginx: fix CVE-2021-3618
Justin Bronder (1):
hidapi: add rdep on glibc-gconv-utf-16
Khem Raj (7):
layer.conf: Add ttf-ipa to SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS on fontconfig
mpich: link explictly with libgcc
packagegroup-meta-networking: Add bmon
libnss-nisplus: Remove
pipewire: Upgrade to 0.3.34
bluealsa: Add recipe
apitrace: Enable on glibc >= 2.34
Leon Anavi (21):
python3-astroid: Upgrade 2.6.6 -> 2.7.0
python3-ujson: Upgrade 4.0.2 -> 4.1.0
python3-pycurl: Upgrade 7.44.0 -> 7.44.1
python3-websocket-client: Upgrade 1.1.0 -> 1.2.1
python3-bitarray: Upgrade 2.2.5 -> 2.3.0
python3-langtable: Upgrade 0.0.54 -> 0.0.56
python3-pandas: Upgrade 1.3.1 -> 1.3.2
python3-tzlocal: Upgrade 2.1 -> 3.0
python3-zeroconf: Upgrade 0.34.3 -> 0.36.0
python3-dbus-next: Upgrade 0.2.2 -> 0.2.3
python3-astroid: Upgrade 2.7.0 -> 2.7.1
python3-ruamel-yaml: Upgrade 0.17.10 -> 0.17.11
python3-unidiff: Upgrade 0.6.0 -> 0.7.0
python3-qrcode: Upgrade 7.2 -> 7.3
python3-simplejson: Upgrade 3.17.3 -> 3.17.4
python3-regex: Upgrade 2021.7.6 -> 2021.8.3
python3-colorlog: Upgrade 5.0.1 -> 6.4.1
python3-ruamel-yaml: Upgrade 0.17.11 -> 0.17.13
python3-simplejson: Upgrade 3.17.4 -> 3.17.5
python3-bitarray: Upgrade 2.3.0 -> 2.3.2
python3-watchdog: Upgrade 2.1.3 -> 2.1.5
Martin Jansa (1):
layer.conf: Add ttf-takao to SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS on fontconfig
Matija Tudan (1):
gpsd: upgrade 3.20 -> 3.23
Matteo Croce (1):
libbpf: bump to 0.4.0
Michael Opdenacker (2):
meta-multimedia: stop using "virtual/" in RPROVIDES and RDEPENDS
meta-oe: stop using "virtual/" in RPROVIDES and RDEPENDS
Mingli Yu (4):
polkit: fix CVE-2021-3560
vsftpd: Upgrade to 3.0.5
mariadb: Upgrade to 10.6.4
jemalloc: improve reproducibility
Nathan Rossi (1):
nginx: Fix off_t size passed in configure
Oleksandr Kravchuk (6):
font-adobe-100dpi: fix UPSTREAM_CHECK_REGEX
font-adobe-utopia-100dpi: fix UPSTREAM_CHECK_REGEX
font-bh-100dpi: fix UPSTREAM_CHECK_REGEX
font-bh-lucidatypewriter-100dpi: fix UPSTREAM_CHECK_REGEX
font-bitstream-100dpi: fix UPSTREAM_CHECK_REGEX
xf86-input-tslib: update to 1.1.1
Patrick Areny (2):
libConfuse: Add recipe
bmon: Add recipe
Peter Kjellerstedt (6):
gpsd: Let scons install the udev and systemd files
gpsd: Move /usr/share/gpsd/doc to the gpsd-doc package
poppler: Explicitly enable/disable boost together with splash
chrony: Use new override syntax for USERADD_PARAM
gpsd: Correct the installation of gpsd.hotplug if systemd is not enabled
gpsd: Do not install gpsd.hotplug unconditionally
Peter Morrow (1):
libbpf: remove stale comment
Sakib Sajal (2):
lmdb: use libprefix in Makefile to install libraries
gd: fix CVE-2021-38115
Sinan Kaya (4):
c-ares: remove custom patches
grpc: make SHARED library build optional
libkcapi: add a hash only packageconfig
libkcapi: allow an option to build natively
Tim Orling (2):
bootchart: drop; unfetchable
python3-django_2.2.x: only check upstream 2.2.x
Trevor Gamblin (5):
python3-click: Add missing ptest artifacts
python3-eventlet: add 0.30.2 to meta-python
python3-gunicorn: tweak run-ptest, add RDEPENDS
python3-license-expression: add ptest artifacts
nftables: upgrade 0.9.9 -> 1.0.0
Vesa Jääskeläinen (2):
python3-cached-property: Add recipe for version 1.5.2
python3-pkcs11: Add recipe for version 0.7.0
Yi Zhao (2):
audit: upgrade 3.0.4 -> 3.0.5
krb5: filtering out -f*-prefix-map from krb5-config
Zoltán Böszörményi (1):
metacity: Add a patch to create build/src/core before moving generated sources to it
leimaohui (3):
packagegroup-meta-oe: Update ttf-ipa package name.
uim: Dleted takao fonts from DEPENDS.
takao-fonts: It should be in ttf-fonts directory as the other ttf fonts.
wangmy (14):
fetchmail: upgrade 6.4.20 -> 6.4.21
c-ares: upgrade 1.17.1 -> 1.17.2
icewm: upgrade 2.6.0 -> 2.7.0
netplan: upgrade 0.102 -> 0.103
ctags: upgrade 5.9.20210801.0 -> 5.9.20210815.0
live555: upgrade 20210720 -> 20210809
opensc: upgrade 0.21.0 -> 0.22.0
xfsprogs: upgrade 5.12.0 -> 5.13.0
networkmanager: upgrade 1.32.8 -> 1.32.10
can-utils: upgrade 2021.06.0 -> 2021.08.0
doxygen: upgrade 1.9.1 -> 1.9.2
gensio: upgrade 2.2.8 -> 2.2.9
live555: upgrade 20210809 -> 20210824
sedutil: upgrade 1.15.1.01 -> 1.20.0
zangrc (14):
python3-flask-migrate: upgrade 3.0.1 -> 3.1.0
python3-flask-socketio: upgrade 5.1.0 -> 5.1.1
python3-google-api-python-client: upgrade 2.15.0 -> 2.17.0
python3-grpcio-tools: upgrade 1.38.1 -> 1.39.0
python3-grpcio: upgrade 1.38.1 -> 1.39.0
python3-wheel: upgrade 0.36.2 -> 0.37.0
libio-socket-ssl-perl: upgrade 2.071 -> 2.072
python3-aiohttp-jinja2: upgrade 1.4.2 -> 1.5
python3-gevent: upgrade 21.1.2 -> 21.8.0
python3-google-api-python-client: upgrade 2.17.0 -> 2.18.0
python3-h5py: upgrade 3.3.0 -> 3.4.0
python3-haversine: upgrade 2.3.1 -> 2.4.0
python3-pyephem: upgrade 3.7.7.1 -> 4.0.0.2
rdma-core: upgrade 35.0 -> 36.0
zhengruoqin (12):
libqmi: upgrade 1.28.8 -> 1.30.0
sedutil: upgrade 1.15.1 -> 1.15.1.01
libencode-perl: upgrade 3.11 -> 3.12
python3-pymisp: upgrade 2.4.144 -> 2.4.148
python3-pyzmq: upgrade 22.1.0 -> 22.2.1
python3-tqdm: upgrade 4.62.0 -> 4.62.2
iwd: upgrade 1.16 -> 1.17
xmlsec1: upgrade 1.2.31 -> 1.2.32
xrdb: upgrade 1.2.0 -> 1.2.1
python3-regex: upgrade 2021.8.3 -> 2021.8.27
python3-sqlalchemy: upgrade 1.4.22 -> 1.4.23
python3-stevedore: upgrade 3.3.0 -> 3.4.0
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I2960f1ce53a1e2cde8b03b929829db9a2f105541
diff --git a/poky/meta/conf/machine/include/arm/arch-arm.inc b/poky/meta/conf/machine/include/arm/arch-arm.inc
index 8690890..f1e92e1 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 @@
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 4f4a63b..be5761f 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 @@
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 d296e82..f3c749d 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 5f46992..6bb465e 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 @@
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 9d2e112..ef8d288 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 @@
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 e7ca665..d6d6c7e 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 @@
# 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 0f83cee..74fc8d1 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 @@
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 adcab27..f7608ea 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 a36c265..2b69a3d 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 0000000..fac26cf
--- /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 b40c2ca..8102ae6 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 @@
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 9171b31..5b1bcb8 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 c84b1ec..30f2870 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 819dffb..97c944d 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 d9a341c..ffee8ce 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 27f552b..01bef35 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 0000000..0dcfd34
--- /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/arm/armv4/tune-arm920t.inc b/poky/meta/conf/machine/include/arm/armv4/tune-arm920t.inc
new file mode 100644
index 0000000..1b1cbdb
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv4/tune-arm920t.inc
@@ -0,0 +1,13 @@
+DEFAULTTUNE ?= "arm920t"
+
+require conf/machine/include/arm/arch-armv4.inc
+
+TUNEVALID[arm920t] = "Enable arm920t specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm920t', ' -mcpu=arm920t', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm920t', 'armv4:', '', d)}"
+
+AVAILTUNES += "arm920t"
+ARMPKGARCH:tune-arm920t = "arm920t"
+# mcpu is used so don't use armv4t as we don't want march
+TUNE_FEATURES:tune-arm920t = "arm thumb arm920t"
+PACKAGE_EXTRA_ARCHS:tune-arm920t = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} arm920t arm920tt"
diff --git a/poky/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc b/poky/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc
new file mode 100644
index 0000000..78b890b
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc
@@ -0,0 +1,13 @@
+DEFAULTTUNE ?= "arm9tdmi"
+
+require conf/machine/include/arm/arch-armv4.inc
+
+TUNEVALID[arm9tdmi] = "Enable arm9tdmi specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm9tdmi', ' -mcpu=arm9tdmi', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm9tdmi', 'armv4:', '', d)}"
+
+AVAILTUNES += "arm9tdmi"
+ARMPKGARCH:tune-arm9tdmi = "arm9tdmi"
+# mcpu is used so don't use armv4t as we don't want march
+TUNE_FEATURES:tune-arm9tdmi = "arm thumb arm9tdmi"
+PACKAGE_EXTRA_ARCHS:tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} arm9tdmi arm9tdmit"
diff --git a/poky/meta/conf/machine/include/arm/armv4/tune-ep9312.inc b/poky/meta/conf/machine/include/arm/armv4/tune-ep9312.inc
new file mode 100644
index 0000000..0d481d3
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv4/tune-ep9312.inc
@@ -0,0 +1,12 @@
+DEFAULTTUNE ?= "ep9312"
+
+require conf/machine/include/arm/arch-armv4.inc
+
+TUNEVALID[ep9312] = "Enable Cirrus Logic EP9312 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', ' -march=ep9312 -mcpu=ep9312', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', 'armv4:', '', d)}"
+
+AVAILTUNES += "ep9312"
+ARMPKGARCH:tune-ep9312 = "ep9312"
+TUNE_FEATURES:tune-ep9312 = "thumb ep9312"
+PACKAGE_EXTRA_ARCHS:tune-ep9312 = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} ep9312t"
diff --git a/poky/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc b/poky/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc
new file mode 100644
index 0000000..38ea9b7
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc
@@ -0,0 +1,12 @@
+DEFAULTTUNE ?= "strongarm"
+
+require conf/machine/include/arm/arch-armv4.inc
+
+TUNEVALID[strongarm] = "Enable Strongarm 1100 series processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'strongarm', ' -mcpu=strongarm1100', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'strongarm', 'armv4:', '', d)}"
+
+AVAILTUNES += "strongarm"
+ARMPKGARCH:tune-strongarm = "strongarm"
+TUNE_FEATURES:tune-strongarm = "arm strongarm"
+PACKAGE_EXTRA_ARCHS:tune-strongarm = "${PACKAGE_EXTRA_ARCHS:tune-armv4} strongarm"
diff --git a/poky/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc b/poky/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc
new file mode 100644
index 0000000..84c5084
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc
@@ -0,0 +1,13 @@
+DEFAULTTUNE ?= "armv5te"
+
+require conf/machine/include/arm/arch-armv5-dsp.inc
+
+TUNEVALID[arm926ejs] = "Enable arm926ejs specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm926ejs', ' -mcpu=arm926ej-s', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm926ejs', 'armv5:', '', d)}"
+
+AVAILTUNES += "arm926ejs"
+ARMPKGARCH:tune-arm926ejs = "arm926ejs"
+# mcpu is used so don't use armv5te as we don't want march
+TUNE_FEATURES:tune-arm926ejs = "arm thumb dsp arm926ejs"
+PACKAGE_EXTRA_ARCHS:tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} arm926ejste arm926ejse"
diff --git a/poky/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc b/poky/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc
new file mode 100644
index 0000000..c584b47
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc
@@ -0,0 +1,15 @@
+# Configurations for the Intel PXA27x Appications Processor Family.
+# Please use tune-xscale for PXA255/PXA26x based processors.
+
+DEFAULTTUNE ?= "iwmmxt"
+
+require conf/machine/include/arm/arch-armv5-dsp.inc
+
+TUNEVALID[iwmmxt] = "Enable Intel PXA27x specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'iwmmxt', ' -mcpu=iwmmxt', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'iwmmxt', 'armv5:', '', d)}"
+
+AVAILTUNES += "iwmmxt"
+ARMPKGARCH:tune-iwmmxt = "iwmmxt"
+TUNE_FEATURES:tune-iwmmxt = "thumb iwmmxt"
+PACKAGE_EXTRA_ARCHS:tune-iwmmxt = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} iwmmxt iwmmxtt"
diff --git a/poky/meta/conf/machine/include/arm/armv5/tune-xscale.inc b/poky/meta/conf/machine/include/arm/armv5/tune-xscale.inc
new file mode 100644
index 0000000..cc67dcd
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv5/tune-xscale.inc
@@ -0,0 +1,19 @@
+DEFAULTTUNE ?= "armv5te"
+
+require conf/machine/include/arm/arch-armv5-dsp.inc
+
+TUNEVALID[xscale] = "Enable PXA255/PXA26x Xscale specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'xscale', ' -mcpu=xscale', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'xscale', 'armv5:', '', d)}"
+
+AVAILTUNES += "xscale"
+ARMPKGARCH:tune-xscale = "xscale"
+# mcpu is used so don't use armv5te as we don't want march
+TUNE_FEATURES:tune-xscale = "arm thumb dsp xscale"
+PACKAGE_EXTRA_ARCHS:tune-xscale = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} xscale xscalet xscalee xscalete"
+
+AVAILTUNES += "xscale-be"
+ARMPKGARCH:tune-xscale-be = "xscale"
+# mcpu is used so don't use armv5te as we don't want march
+TUNE_FEATURES:tune-xscale-be = "${TUNE_FEATURES:tune-xscale} bigendian"
+PACKAGE_EXTRA_ARCHS:tune-xscale-be = "${PACKAGE_EXTRA_ARCHS:tune-armv5teb} xscaleb xscaletb xscaleeb xscaleteb"
diff --git a/poky/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc b/poky/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc
new file mode 100644
index 0000000..b848580
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc
@@ -0,0 +1,16 @@
+DEFAULTTUNE ?= "armv6hf"
+
+require conf/machine/include/arm/arch-armv6.inc
+
+TUNEVALID[arm1136jfs] = "Enable arm1136jfs specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', ' -mcpu=arm1136jf-s', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', 'armv6:', '', d)}"
+
+AVAILTUNES += "arm1136jfs arm1136jfshf"
+ARMPKGARCH:tune-arm1136jfs = "arm1136jfs"
+ARMPKGARCH:tune-arm1136jfshf = "arm1136jfs"
+# mcpu is used so don't use armv6 as we don't want march
+TUNE_FEATURES:tune-arm1136jfs = "arm vfp arm1136jfs"
+TUNE_FEATURES:tune-arm1136jfshf = "${TUNE_FEATURES:tune-arm1136jfs} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS:tune-armv6} arm1136jfs-vfp"
+PACKAGE_EXTRA_ARCHS:tune-arm1136jfshf = "${PACKAGE_EXTRA_ARCHS:tune-armv6hf} arm1136jfshf-vfp"
diff --git a/poky/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc b/poky/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc
new file mode 100644
index 0000000..21d77f0
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc
@@ -0,0 +1,17 @@
+DEFAULTTUNE ?= "arm1176jzs"
+
+require conf/machine/include/arm/arch-armv6.inc
+
+TUNEVALID[arm1176jzs] = "Enable arm1176jzs specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', ' -mcpu=arm1176jz-s', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', 'armv6:', '', d)}"
+
+AVAILTUNES += "arm1176jzs"
+ARMPKGARCH:tune-arm1176jzs = "arm1176jzs"
+TUNE_FEATURES:tune-arm1176jzs = "arm thumb arm1176jzs"
+PACKAGE_EXTRA_ARCHS:tune-arm1176jzs = "${PACKAGE_EXTRA_ARCHS:tune-armv6t-novfp} arm1176jzs arm1176jzst"
+
+AVAILTUNES += "arm1176jzs-be"
+ARMPKGARCH:tune-arm1176jzs-be = "${ARMPKGARCH:tune-arm1176jzs}"
+TUNE_FEATURES:tune-arm1176jzs-be = "${TUNE_FEATURES:tune-arm1176jzs} bigendian"
+PACKAGE_EXTRA_ARCHS:tune-arm1176jzs-be = "${PACKAGE_EXTRA_ARCHS:tune-armv6tb-novfp} arm1176jzsb arm1176jzstb"
diff --git a/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc
new file mode 100644
index 0000000..aadc532
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc
@@ -0,0 +1,11 @@
+DEFAULTTUNE ?= "cortexm0"
+require conf/machine/include/arm/arch-armv6m.inc
+
+TUNEVALID[cortexm0] = "Enable Cortex-M0 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm0', ' -mcpu=cortex-m0', '', d)}"
+AVAILTUNES += "cortexm0"
+
+ARMPKGARCH:tune-cortexm0 = "cortexm0"
+TUNE_FEATURES:tune-cortexm0 = "${TUNE_FEATURES:tune-armv6m} cortexm0"
+
+PACKAGE_EXTRA_ARCHS:tune-cortexm0 = "${PACKAGE_EXTRA_ARCHS:tune-armv6m} cortexm0"
diff --git a/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc
new file mode 100644
index 0000000..a3cf3f0
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc
@@ -0,0 +1,11 @@
+DEFAULTTUNE ?= "cortexm0-plus"
+require conf/machine/include/arm/arch-armv6m.inc
+
+TUNEVALID[cortexm0-plus] = "Enable Cortex-M0 Plus specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm0-plus', ' -mcpu=cortex-m0plus', '', d)}"
+AVAILTUNES += "cortexm0-plus"
+
+ARMPKGARCH:tune-cortexm0-plus = "cortexm0-plus"
+TUNE_FEATURES:tune-cortexm0-plus = "${TUNE_FEATURES:tune-armv6m} cortexm0-plus"
+
+PACKAGE_EXTRA_ARCHS:tune-cortexm0-plus = "${PACKAGE_EXTRA_ARCHS:tune-armv6m} cortexm0-plus"
diff --git a/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc
new file mode 100644
index 0000000..16661f3
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-M1
+#
+DEFAULTTUNE ?= "cortexm1"
+
+TUNEVALID[cortexm1] = "Enable Cortex-M1 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm1', ' -mcpu=cortex-m1', '', d)}"
+
+require conf/machine/include/arm/arch-armv6m.inc
+
+AVAILTUNES += "cortexm1"
+ARMPKGARCH:tune-cortexm1 = "cortexm1"
+TUNE_FEATURES:tune-cortexm1 = "${TUNE_FEATURES:tune-armv6m} cortexm1"
+PACKAGE_EXTRA_ARCHS:tune-cortexm1 = "${PACKAGE_EXTRA_ARCHS:tune-armv6m} cortexm1"
diff --git a/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc
new file mode 100644
index 0000000..e827afb
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc
@@ -0,0 +1,51 @@
+DEFAULTTUNE ?= "cortexa15thf-neon"
+
+require conf/machine/include/arm/arch-armv7ve.inc
+
+TUNEVALID[cortexa15] = "Enable Cortex-A15 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa15', ' -mcpu=cortex-a15', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa15', 'armv7ve:', '', d)}"
+
+# Little Endian base configs
+AVAILTUNES += "cortexa15 cortexa15t cortexa15-neon cortexa15t-neon cortexa15-neon-vfpv4 cortexa15t-neon-vfpv4"
+ARMPKGARCH:tune-cortexa15 = "cortexa15"
+ARMPKGARCH:tune-cortexa15t = "cortexa15"
+ARMPKGARCH:tune-cortexa15-neon = "cortexa15"
+ARMPKGARCH:tune-cortexa15t-neon = "cortexa15"
+ARMPKGARCH:tune-cortexa15-neon-vfpv4 = "cortexa15"
+ARMPKGARCH:tune-cortexa15t-neon-vfpv4 = "cortexa15"
+# mcpu is used so don't use armv7ve as we don't want march
+TUNE_FEATURES:tune-cortexa15 = "arm vfp cortexa15"
+TUNE_FEATURES:tune-cortexa15t = "${TUNE_FEATURES:tune-cortexa15} thumb"
+TUNE_FEATURES:tune-cortexa15-neon = "${TUNE_FEATURES:tune-cortexa15} neon"
+TUNE_FEATURES:tune-cortexa15t-neon = "${TUNE_FEATURES:tune-cortexa15-neon} thumb"
+TUNE_FEATURES:tune-cortexa15-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa15-neon} vfpv4"
+TUNE_FEATURES:tune-cortexa15t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa15-neon-vfpv4} thumb"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} cortexa15-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15t = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} cortexa15-vfp cortexa15t2-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} cortexa15-vfp cortexa15-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} cortexa15-vfp cortexa15-neon cortexa15t2-vfp cortexa15t2-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4} cortexa15-vfp cortexa15-neon cortexa15-neon-vfpv4"
+PACKAGE_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"
+
+# HF Tunes
+AVAILTUNES += "cortexa15hf cortexa15thf cortexa15hf-neon cortexa15thf-neon cortexa15hf-neon-vfpv4 cortexa15thf-neon-vfpv4"
+ARMPKGARCH:tune-cortexa15hf = "cortexa15"
+ARMPKGARCH:tune-cortexa15thf = "cortexa15"
+ARMPKGARCH:tune-cortexa15hf-neon = "cortexa15"
+ARMPKGARCH:tune-cortexa15thf-neon = "cortexa15"
+ARMPKGARCH:tune-cortexa15hf-neon-vfpv4 = "cortexa15"
+ARMPKGARCH:tune-cortexa15thf-neon-vfpv4 = "cortexa15"
+# mcpu is used so don't use armv7ve as we don't want march
+TUNE_FEATURES:tune-cortexa15hf = "${TUNE_FEATURES:tune-cortexa15} callconvention-hard"
+TUNE_FEATURES:tune-cortexa15thf = "${TUNE_FEATURES:tune-cortexa15t} callconvention-hard"
+TUNE_FEATURES:tune-cortexa15hf-neon = "${TUNE_FEATURES:tune-cortexa15-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa15thf-neon = "${TUNE_FEATURES:tune-cortexa15t-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa15hf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa15-neon-vfpv4} callconvention-hard"
+TUNE_FEATURES:tune-cortexa15thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa15t-neon-vfpv4} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} cortexa15hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} cortexa15hf-vfp cortexa15t2hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} cortexa15hf-vfp cortexa15hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} cortexa15hf-vfp cortexa15hf-neon cortexa15t2hf-vfp cortexa15t2hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa15hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4} cortexa15hf-vfp cortexa15hf-neon cortexa15hf-neon-vfpv4"
+PACKAGE_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/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc
new file mode 100644
index 0000000..3ad00b1
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc
@@ -0,0 +1,51 @@
+DEFAULTTUNE ?= "cortexa17thf-neon"
+
+require conf/machine/include/arm/arch-armv7ve.inc
+
+TUNEVALID[cortexa17] = "Enable Cortex-A17 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa17', ' -mcpu=cortex-a17', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa17', 'armv7ve:', '', d)}"
+
+# Little Endian base configs
+AVAILTUNES += "cortexa17 cortexa17t cortexa17-neon cortexa17t-neon cortexa17-neon-vfpv4 cortexa17t-neon-vfpv4"
+ARMPKGARCH:tune-cortexa17 = "cortexa17"
+ARMPKGARCH:tune-cortexa17t = "cortexa17"
+ARMPKGARCH:tune-cortexa17-neon = "cortexa17"
+ARMPKGARCH:tune-cortexa17t-neon = "cortexa17"
+ARMPKGARCH:tune-cortexa17-neon-vfpv4 = "cortexa17"
+ARMPKGARCH:tune-cortexa17t-neon-vfpv4 = "cortexa17"
+# mcpu is used so don't use armv7ve as we don't want march
+TUNE_FEATURES:tune-cortexa17 = "arm vfp cortexa17"
+TUNE_FEATURES:tune-cortexa17t = "${TUNE_FEATURES:tune-cortexa17} thumb"
+TUNE_FEATURES:tune-cortexa17-neon = "${TUNE_FEATURES:tune-cortexa17} neon"
+TUNE_FEATURES:tune-cortexa17t-neon = "${TUNE_FEATURES:tune-cortexa17-neon} thumb"
+TUNE_FEATURES:tune-cortexa17-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa17-neon} vfpv4"
+TUNE_FEATURES:tune-cortexa17t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa17-neon-vfpv4} thumb"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} cortexa17-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17t = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} cortexa17-vfp cortexa17t2-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} cortexa17-vfp cortexa17-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} cortexa17-vfp cortexa17-neon cortexa17t2-vfp cortexa17t2-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4} cortexa17-vfp cortexa17-neon cortexa17-neon-vfpv4"
+PACKAGE_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"
+
+# HF Tunes
+AVAILTUNES += "cortexa17hf cortexa17thf cortexa17hf-neon cortexa17thf-neon cortexa17hf-neon-vfpv4 cortexa17thf-neon-vfpv4"
+ARMPKGARCH:tune-cortexa17hf = "cortexa17"
+ARMPKGARCH:tune-cortexa17thf = "cortexa17"
+ARMPKGARCH:tune-cortexa17hf-neon = "cortexa17"
+ARMPKGARCH:tune-cortexa17thf-neon = "cortexa17"
+ARMPKGARCH:tune-cortexa17hf-neon-vfpv4 = "cortexa17"
+ARMPKGARCH:tune-cortexa17thf-neon-vfpv4 = "cortexa17"
+# mcpu is used so don't use armv7ve as we don't want march
+TUNE_FEATURES:tune-cortexa17hf = "${TUNE_FEATURES:tune-cortexa17} callconvention-hard"
+TUNE_FEATURES:tune-cortexa17thf = "${TUNE_FEATURES:tune-cortexa17t} callconvention-hard"
+TUNE_FEATURES:tune-cortexa17hf-neon = "${TUNE_FEATURES:tune-cortexa17-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa17thf-neon = "${TUNE_FEATURES:tune-cortexa17t-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa17hf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa17-neon-vfpv4} callconvention-hard"
+TUNE_FEATURES:tune-cortexa17thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa17t-neon-vfpv4} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} cortexa17hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} cortexa17hf-vfp cortexa17t2hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} cortexa17hf-vfp cortexa17hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} cortexa17hf-vfp cortexa17hf-neon cortexa17t2hf-vfp cortexa17t2hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa17hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4} cortexa17hf-vfp cortexa17hf-neon cortexa17hf-neon-vfpv4"
+PACKAGE_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/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc
new file mode 100644
index 0000000..0de5aad
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc
@@ -0,0 +1,51 @@
+DEFAULTTUNE ?= "cortexa5thf-neon"
+
+require conf/machine/include/arm/arch-armv7a.inc
+
+TUNEVALID[cortexa5] = "Enable Cortex-A5 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa5', ' -mcpu=cortex-a5', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa5', 'armv7a:', '', d)}"
+
+# Little Endian base configs
+AVAILTUNES += "cortexa5 cortexa5t cortexa5-neon cortexa5t-neon cortexa5-neon-vfpv4 cortexa5t-neon-vfpv4"
+ARMPKGARCH:tune-cortexa5 = "cortexa5"
+ARMPKGARCH:tune-cortexa5t = "cortexa5"
+ARMPKGARCH:tune-cortexa5-neon = "cortexa5"
+ARMPKGARCH:tune-cortexa5t-neon = "cortexa5"
+ARMPKGARCH:tune-cortexa5-neon-vfpv4 = "cortexa5"
+ARMPKGARCH:tune-cortexa5t-neon-vfpv4 = "cortexa5"
+# mcpu is used so don't use armv7a as we don't want march
+TUNE_FEATURES:tune-cortexa5 = "arm vfp cortexa5"
+TUNE_FEATURES:tune-cortexa5t = "${TUNE_FEATURES:tune-cortexa5} thumb"
+TUNE_FEATURES:tune-cortexa5-neon = "${TUNE_FEATURES:tune-cortexa5} neon"
+TUNE_FEATURES:tune-cortexa5t-neon = "${TUNE_FEATURES:tune-cortexa5-neon} thumb"
+TUNE_FEATURES:tune-cortexa5-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa5-neon} vfpv4"
+TUNE_FEATURES:tune-cortexa5t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa5-neon-vfpv4} thumb"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} cortexa5-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5t = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} cortexa5-vfp cortexa5t2-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} cortexa5-vfp cortexa5-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} cortexa5-vfp cortexa5-neon cortexa5t2-vfp cortexa5t2-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon-vfpv4} cortexa5-vfp cortexa5-neon cortexa5-neon-vfpv4"
+PACKAGE_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"
+
+# HF Tunes
+AVAILTUNES += "cortexa5hf cortexa5thf cortexa5hf-neon cortexa5thf-neon cortexa5hf-neon-vfpv4 cortexa5thf-neon-vfpv4"
+ARMPKGARCH:tune-cortexa5hf = "cortexa5"
+ARMPKGARCH:tune-cortexa5thf = "cortexa5"
+ARMPKGARCH:tune-cortexa5hf-neon = "cortexa5"
+ARMPKGARCH:tune-cortexa5thf-neon = "cortexa5"
+ARMPKGARCH:tune-cortexa5hf-neon-vfpv4 = "cortexa5"
+ARMPKGARCH:tune-cortexa5thf-neon-vfpv4 = "cortexa5"
+# mcpu is used so don't use armv7a as we don't want march
+TUNE_FEATURES:tune-cortexa5hf = "${TUNE_FEATURES:tune-cortexa5} callconvention-hard"
+TUNE_FEATURES:tune-cortexa5thf = "${TUNE_FEATURES:tune-cortexa5t} callconvention-hard"
+TUNE_FEATURES:tune-cortexa5hf-neon = "${TUNE_FEATURES:tune-cortexa5-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa5thf-neon = "${TUNE_FEATURES:tune-cortexa5t-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa5hf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa5-neon-vfpv4} callconvention-hard"
+TUNE_FEATURES:tune-cortexa5thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa5t-neon-vfpv4} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} cortexa5hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} cortexa5hf-vfp cortexa5t2hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} cortexa5hf-vfp cortexa5hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} cortexa5hf-vfp cortexa5hf-neon cortexa5t2hf-vfp cortexa5t2hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa5hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon-vfpv4} cortexa5hf-vfp cortexa5hf-neon cortexa5hf-neon-vfpv4"
+PACKAGE_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/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc
new file mode 100644
index 0000000..1ada527
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc
@@ -0,0 +1,51 @@
+DEFAULTTUNE ?= "cortexa7thf-neon"
+
+require conf/machine/include/arm/arch-armv7ve.inc
+
+TUNEVALID[cortexa7] = "Enable Cortex-A7 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', ' -mcpu=cortex-a7', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', 'armv7ve:', '', d)}"
+
+# Little Endian base configs
+AVAILTUNES += "cortexa7 cortexa7t cortexa7-neon cortexa7t-neon cortexa7-neon-vfpv4 cortexa7t-neon-vfpv4"
+ARMPKGARCH:tune-cortexa7 = "cortexa7"
+ARMPKGARCH:tune-cortexa7t = "cortexa7"
+ARMPKGARCH:tune-cortexa7-neon = "cortexa7"
+ARMPKGARCH:tune-cortexa7t-neon = "cortexa7"
+ARMPKGARCH:tune-cortexa7-neon-vfpv4 = "cortexa7"
+ARMPKGARCH:tune-cortexa7t-neon-vfpv4 = "cortexa7"
+# mcpu is used so don't use armv7ve as we don't want march
+TUNE_FEATURES:tune-cortexa7 = "arm vfp cortexa7"
+TUNE_FEATURES:tune-cortexa7t = "${TUNE_FEATURES:tune-cortexa7} thumb"
+TUNE_FEATURES:tune-cortexa7-neon = "${TUNE_FEATURES:tune-cortexa7} neon"
+TUNE_FEATURES:tune-cortexa7t-neon = "${TUNE_FEATURES:tune-cortexa7-neon} thumb"
+TUNE_FEATURES:tune-cortexa7-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa7-neon} vfpv4"
+TUNE_FEATURES:tune-cortexa7t-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa7-neon-vfpv4} thumb"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} cortexa7-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7t = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} cortexa7-vfp cortexa7t2-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} cortexa7-vfp cortexa7-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} cortexa7-vfp cortexa7-neon cortexa7t2-vfp cortexa7t2-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4"
+PACKAGE_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"
+
+# HF Tunes
+AVAILTUNES += "cortexa7hf cortexa7thf cortexa7hf-neon cortexa7thf-neon cortexa7hf-neon-vfpv4 cortexa7thf-neon-vfpv4"
+ARMPKGARCH:tune-cortexa7hf = "cortexa7"
+ARMPKGARCH:tune-cortexa7thf = "cortexa7"
+ARMPKGARCH:tune-cortexa7hf-neon = "cortexa7"
+ARMPKGARCH:tune-cortexa7thf-neon = "cortexa7"
+ARMPKGARCH:tune-cortexa7hf-neon-vfpv4 = "cortexa7"
+ARMPKGARCH:tune-cortexa7thf-neon-vfpv4 = "cortexa7"
+# mcpu is used so don't use armv7ve as we don't want march
+TUNE_FEATURES:tune-cortexa7hf = "${TUNE_FEATURES:tune-cortexa7} callconvention-hard"
+TUNE_FEATURES:tune-cortexa7thf = "${TUNE_FEATURES:tune-cortexa7t} callconvention-hard"
+TUNE_FEATURES:tune-cortexa7hf-neon = "${TUNE_FEATURES:tune-cortexa7-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa7thf-neon = "${TUNE_FEATURES:tune-cortexa7t-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa7hf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa7-neon-vfpv4} callconvention-hard"
+TUNE_FEATURES:tune-cortexa7thf-neon-vfpv4 = "${TUNE_FEATURES:tune-cortexa7t-neon-vfpv4} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} cortexa7hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} cortexa7hf-vfp cortexa7t2hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} cortexa7hf-vfp cortexa7hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} cortexa7hf-vfp cortexa7hf-neon cortexa7t2hf-vfp cortexa7t2hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa7hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4"
+PACKAGE_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/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc
new file mode 100644
index 0000000..952302a
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc
@@ -0,0 +1,39 @@
+DEFAULTTUNE ?= "cortexa8thf-neon"
+
+require conf/machine/include/arm/arch-armv7a.inc
+
+TUNEVALID[cortexa8] = "Enable Cortex-A8 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa8', ' -mcpu=cortex-a8', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa8', 'armv7a:', '', d)}"
+
+# Little Endian base configs
+AVAILTUNES += "cortexa8 cortexa8t cortexa8-neon cortexa8t-neon"
+ARMPKGARCH:tune-cortexa8 = "cortexa8"
+ARMPKGARCH:tune-cortexa8t = "cortexa8"
+ARMPKGARCH:tune-cortexa8-neon = "cortexa8"
+ARMPKGARCH:tune-cortexa8t-neon = "cortexa8"
+# mcpu is used so don't use armv7a as we don't want march
+TUNE_FEATURES:tune-cortexa8 = "arm vfp cortexa8"
+TUNE_FEATURES:tune-cortexa8t = "${TUNE_FEATURES:tune-cortexa8} thumb"
+TUNE_FEATURES:tune-cortexa8-neon = "${TUNE_FEATURES:tune-cortexa8} neon"
+TUNE_FEATURES:tune-cortexa8t-neon = "${TUNE_FEATURES:tune-cortexa8-neon} thumb"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} cortexa8-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8t = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} cortexa8-vfp cortexa8t2-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} cortexa8-vfp cortexa8-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} cortexa8-vfp cortexa8-neon cortexa8t2-vfp cortexa8t2-neon"
+
+# HF Tunes
+AVAILTUNES += "cortexa8hf cortexa8thf cortexa8hf-neon cortexa8thf-neon"
+ARMPKGARCH:tune-cortexa8hf = "cortexa8"
+ARMPKGARCH:tune-cortexa8thf = "cortexa8"
+ARMPKGARCH:tune-cortexa8hf-neon = "cortexa8"
+ARMPKGARCH:tune-cortexa8thf-neon = "cortexa8"
+# mcpu is used so don't use armv7a as we don't want march
+TUNE_FEATURES:tune-cortexa8hf = "${TUNE_FEATURES:tune-cortexa8} callconvention-hard"
+TUNE_FEATURES:tune-cortexa8thf = "${TUNE_FEATURES:tune-cortexa8t} callconvention-hard"
+TUNE_FEATURES:tune-cortexa8hf-neon = "${TUNE_FEATURES:tune-cortexa8-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa8thf-neon = "${TUNE_FEATURES:tune-cortexa8t-neon} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} cortexa8hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} cortexa8hf-vfp cortexa8t2hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} cortexa8hf-vfp cortexa8hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa8thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} cortexa8hf-vfp cortexa8hf-neon cortexa8t2hf-vfp cortexa8t2hf-neon"
diff --git a/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc
new file mode 100644
index 0000000..4b4a528
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc
@@ -0,0 +1,55 @@
+DEFAULTTUNE ?= "cortexa9thf-neon"
+
+require conf/machine/include/arm/arch-armv7a.inc
+
+TUNEVALID[cortexa9] = "Enable Cortex-A9 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa9', ' -mcpu=cortex-a9', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa9', 'armv7a:', '', d)}"
+
+# Little Endian base configs
+AVAILTUNES += "cortexa9 cortexa9t cortexa9-neon cortexa9t-neon"
+ARMPKGARCH:tune-cortexa9 = "cortexa9"
+ARMPKGARCH:tune-cortexa9t = "cortexa9"
+ARMPKGARCH:tune-cortexa9-neon = "cortexa9"
+ARMPKGARCH:tune-cortexa9t-neon = "cortexa9"
+# mcpu is used so don't use armv7a as we don't want march
+TUNE_FEATURES:tune-cortexa9 = "arm vfp cortexa9"
+TUNE_FEATURES:tune-cortexa9t = "${TUNE_FEATURES:tune-cortexa9} thumb"
+TUNE_FEATURES:tune-cortexa9-neon = "${TUNE_FEATURES:tune-cortexa9} neon"
+TUNE_FEATURES:tune-cortexa9t-neon = "${TUNE_FEATURES:tune-cortexa9-neon} thumb"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} cortexa9-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9t = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} cortexa9-vfp cortexa9t2-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} cortexa9-vfp cortexa9-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9t-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} cortexa9-vfp cortexa9-neon cortexa9t2-vfp cortexa9t2-neon"
+
+# HF Tunes
+AVAILTUNES += "cortexa9hf cortexa9thf cortexa9hf-neon cortexa9thf-neon"
+ARMPKGARCH:tune-cortexa9hf = "cortexa9"
+ARMPKGARCH:tune-cortexa9thf = "cortexa9"
+ARMPKGARCH:tune-cortexa9hf-neon = "cortexa9"
+ARMPKGARCH:tune-cortexa9thf-neon = "cortexa9"
+# mcpu is used so don't use armv7a as we don't want march
+TUNE_FEATURES:tune-cortexa9hf = "${TUNE_FEATURES:tune-cortexa9} callconvention-hard"
+TUNE_FEATURES:tune-cortexa9thf = "${TUNE_FEATURES:tune-cortexa9t} callconvention-hard"
+TUNE_FEATURES:tune-cortexa9hf-neon = "${TUNE_FEATURES:tune-cortexa9-neon} callconvention-hard"
+TUNE_FEATURES:tune-cortexa9thf-neon = "${TUNE_FEATURES:tune-cortexa9t-neon} callconvention-hard"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9hf = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} cortexa9hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9thf = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} cortexa9hf-vfp cortexa9t2hf-vfp"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9hf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} cortexa9hf-vfp cortexa9hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9thf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} cortexa9hf-vfp cortexa9hf-neon cortexa9t2hf-vfp cortexa9t2hf-neon"
+
+# VFPv3 Tunes
+AVAILTUNES += "cortexa9-vfpv3 cortexa9t-vfpv3 cortexa9hf-vfpv3 cortexa9thf-vfpv3"
+ARMPKGARCH:tune-cortexa9-vfpv3 = "cortexa9"
+ARMPKGARCH:tune-cortexa9t-vfpv3 = "cortexa9"
+ARMPKGARCH:tune-cortexa9hf-vfpv3 = "cortexa9"
+ARMPKGARCH:tune-cortexa9thf-vfpv3 = "cortexa9"
+# mcpu is used so don't use armv7a as we don't want march
+TUNE_FEATURES:tune-cortexa9-vfpv3 = "${TUNE_FEATURES:tune-cortexa9} vfpv3"
+TUNE_FEATURES:tune-cortexa9t-vfpv3 = "${TUNE_FEATURES:tune-cortexa9t} vfpv3"
+TUNE_FEATURES:tune-cortexa9hf-vfpv3 = "${TUNE_FEATURES:tune-cortexa9hf} vfpv3"
+TUNE_FEATURES:tune-cortexa9thf-vfpv3 = "${TUNE_FEATURES:tune-cortexa9thf} vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3} cortexa9-vfp cortexa9-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9t-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3} cortexa9-vfp cortexa9-vfpv3 cortexa9t2-vfp cortexa9t2-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9hf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3} cortexa9hf-vfp cortexa9hf-vfpv3"
+PACKAGE_EXTRA_ARCHS:tune-cortexa9thf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3} cortexa9hf-vfp cortexa9hf-vfpv3 cortexa9t2hf-vfp cortexa9t2hf-vfpv3"
diff --git a/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc
new file mode 100644
index 0000000..a6cb566
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-M3
+#
+DEFAULTTUNE ?= "cortexm3"
+
+TUNEVALID[cortexm3] = "Enable Cortex-M3 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm3', ' -mcpu=cortex-m3', '', d)}"
+
+require conf/machine/include/arm/arch-armv7m.inc
+
+AVAILTUNES += "cortexm3"
+ARMPKGARCH:tune-cortexm3 = "cortexm3"
+TUNE_FEATURES:tune-cortexm3 = "${TUNE_FEATURES:tune-armv7m} cortexm3"
+PACKAGE_EXTRA_ARCHS:tune-cortexm3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7m} cortexm3"
diff --git a/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc
new file mode 100644
index 0000000..e86622f
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-M4
+#
+DEFAULTTUNE ?= "cortexm4"
+
+TUNEVALID[cortexm4] = "Enable Cortex-M4 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm4', ' -mcpu=cortex-m4', '', d)}"
+
+require conf/machine/include/arm/arch-armv7em.inc
+
+AVAILTUNES += "cortexm4"
+ARMPKGARCH:tune-cortexm4 = "cortexm4"
+TUNE_FEATURES:tune-cortexm4 = "${TUNE_FEATURES:tune-armv7em} cortexm4"
+PACKAGE_EXTRA_ARCHS:tune-cortexm4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7em} cortexm4"
diff --git a/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc
new file mode 100644
index 0000000..6434ec6
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-M7
+#
+DEFAULTTUNE ?= "cortexm7"
+
+TUNEVALID[cortexm7] = "Enable Cortex-M7 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm7', ' -mcpu=cortex-m7', '', d)}"
+
+require conf/machine/include/arm/arch-armv7em.inc
+
+AVAILTUNES += "cortexm7"
+ARMPKGARCH:tune-cortexm7 = "cortexm7"
+TUNE_FEATURES:tune-cortexm7 = "${TUNE_FEATURES:tune-armv7em} cortexm7"
+PACKAGE_EXTRA_ARCHS:tune-cortexm7 = "${PACKAGE_EXTRA_ARCHS:tune-armv7em} cortexm7"
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 0000000..0eed729
--- /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 0000000..0712b3a
--- /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 0000000..ecaaa0d
--- /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 0000000..bfae1f0
--- /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 0000000..7fb824f
--- /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/arm/armv8-2a/tune-cortexa55.inc b/poky/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
new file mode 100644
index 0000000..d130b4b
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
@@ -0,0 +1,13 @@
+DEFAULTTUNE ?= "cortexa55"
+
+TUNEVALID[cortexa55] = "Enable Cortex-A55 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa55', ' -mcpu=cortex-a55', '', d)}"
+
+require conf/machine/include/arm/arch-armv8-2a.inc
+
+# Little Endian base configs
+AVAILTUNES += "cortexa55"
+ARMPKGARCH:tune-cortexa55 = "cortexa55"
+TUNE_FEATURES:tune-cortexa55 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa55"
+PACKAGE_EXTRA_ARCHS:tune-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa55"
+BASE_LIB:tune-cortexa55 = "lib64"
diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc
new file mode 100644
index 0000000..c7b01a2
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc
@@ -0,0 +1,17 @@
+DEFAULTTUNE ?= "cortexa32"
+
+TUNEVALID[cortexa32] = "Enable Cortex-A32 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa32', ' -mcpu=cortex-a32', '', d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Little Endian base configs
+AVAILTUNES += "cortexa32 cortexa32-crypto"
+ARMPKGARCH:tune-cortexa32 = "cortexa32"
+ARMPKGARCH:tune-cortexa32-crypto = "cortexa32"
+TUNE_FEATURES:tune-cortexa32 = "armv8a cortexa32 crc callconvention-hard neon"
+TUNE_FEATURES:tune-cortexa32-crypto = "${TUNE_FEATURES:tune-cortexa32} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa32 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa32 cortexa32hf-neon"
+PACKAGE_EXTRA_ARCHS:tune-cortexa32-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa32 cortexa32hf-neon cortexa32hf-neon-crypto"
+BASE_LIB:tune-cortexa32 = "lib"
+BASE_LIB:tune-cortexa32-crypto = "lib"
diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc
new file mode 100644
index 0000000..33afb19
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc
@@ -0,0 +1,17 @@
+DEFAULTTUNE ?= "cortexa35"
+
+TUNEVALID[cortexa35] = "Enable Cortex-A35 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa35', ' -mcpu=cortex-a35', '', d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Little Endian base configs
+AVAILTUNES += "cortexa35 cortexa35-crypto"
+ARMPKGARCH:tune-cortexa35 = "cortexa35"
+ARMPKGARCH:tune-cortexa35-crypto = "cortexa35"
+TUNE_FEATURES:tune-cortexa35 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa35"
+TUNE_FEATURES:tune-cortexa35-crypto = "${TUNE_FEATURES:tune-cortexa35} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa35 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa35"
+PACKAGE_EXTRA_ARCHS:tune-cortexa35-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa35 cortexa35-crypto"
+BASE_LIB:tune-cortexa35 = "lib64"
+BASE_LIB:tune-cortexa35-crypto = "lib64"
diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc
new file mode 100644
index 0000000..a534ad3
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc
@@ -0,0 +1,17 @@
+DEFAULTTUNE ?= "cortexa53"
+
+TUNEVALID[cortexa53] = "Enable Cortex-A53 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa53', ' -mcpu=cortex-a53', '', d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Little Endian base configs
+AVAILTUNES += "cortexa53 cortexa53-crypto"
+ARMPKGARCH:tune-cortexa53 = "cortexa53"
+ARMPKGARCH:tune-cortexa53-crypto = "cortexa53-crypto"
+TUNE_FEATURES:tune-cortexa53 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa53"
+TUNE_FEATURES:tune-cortexa53-crypto = "${TUNE_FEATURES:tune-cortexa53} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa53"
+PACKAGE_EXTRA_ARCHS:tune-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa53 cortexa53-crypto"
+BASE_LIB:tune-cortexa53 = "lib64"
+BASE_LIB:tune-cortexa53-crypto = "lib64"
diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc
new file mode 100644
index 0000000..7de671a
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc
@@ -0,0 +1,14 @@
+DEFAULTTUNE ?= "cortexa57-cortexa53"
+
+TUNEVALID[cortexa57-cortexa53] = "Enable big.LITTLE Cortex-A57.Cortex-A53 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", " -mcpu=cortex-a57.cortex-a53", "", d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", "cortexa57-cortexa53:", "", d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Little Endian base configs
+AVAILTUNES += "cortexa57-cortexa53"
+ARMPKGARCH:tune-cortexa57-cortexa53 = "cortexa57-cortexa53"
+TUNE_FEATURES:tune-cortexa57-cortexa53 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa57-cortexa53"
+PACKAGE_EXTRA_ARCHS:tune-cortexa57-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa57-cortexa53"
+BASE_LIB:tune-cortexa57-cortexa53 = "lib64"
diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc
new file mode 100644
index 0000000..37650d8
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc
@@ -0,0 +1,17 @@
+DEFAULTTUNE ?= "cortexa57"
+
+TUNEVALID[cortexa57] = "Enable Cortex-A57 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa57', ' -mcpu=cortex-a57', '', d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Little Endian base configs
+AVAILTUNES += "cortexa57 cortexa57-crypto"
+ARMPKGARCH:tune-cortexa57 = "cortexa57"
+ARMPKGARCH:tune-cortexa57-crypto = "cortexa57-crypto"
+TUNE_FEATURES:tune-cortexa57 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa57"
+TUNE_FEATURES:tune-cortexa57-crypto = "${TUNE_FEATURES:tune-cortexa57} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa57 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa57"
+PACKAGE_EXTRA_ARCHS:tune-cortexa57-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa57 cortexa57-crypto"
+BASE_LIB:tune-cortexa57 = "lib64"
+BASE_LIB:tune-cortexa57-crypto = "lib64"
diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc
new file mode 100644
index 0000000..a77ef59
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc
@@ -0,0 +1,19 @@
+DEFAULTTUNE ?= "cortexa72-cortexa53"
+
+TUNEVALID[cortexa72-cortexa53] = "Enable big.LITTLE Cortex-A72.Cortex-A53 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", " -mcpu=cortex-a72.cortex-a53", "", d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", "cortexa72-cortexa53:", "", d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# cortexa72.cortexa53 implies crc support
+AVAILTUNES += "cortexa72-cortexa53 cortexa72-cortexa53-crypto"
+ARMPKGARCH:tune-cortexa72-cortexa53 = "cortexa72-cortexa53"
+ARMPKGARCH:tune-cortexa72-cortexa53-crypto = "cortexa72-cortexa53-crypto"
+TUNE_FEATURES:tune-cortexa72-cortexa53 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa72-cortexa53"
+TUNE_FEATURES:tune-cortexa72-cortexa53-crypto = "${TUNE_FEATURES:tune-cortexa72-cortexa53} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa72-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa72-cortexa53"
+PACKAGE_EXTRA_ARCHS:tune-cortexa72-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72-cortexa53 cortexa72-cortexa53-crypto"
+BASE_LIB:tune-cortexa72-cortexa53 = "lib64"
+BASE_LIB:tune-cortexa72-cortexa53-crypto = "lib64"
+
diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
new file mode 100644
index 0000000..2a510bd
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
@@ -0,0 +1,13 @@
+DEFAULTTUNE ?= "cortexa72"
+
+TUNEVALID[cortexa72] = "Enable Cortex-A72 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa72', ' -mcpu=cortex-a72', '', d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Little Endian base configs
+AVAILTUNES += "cortexa72"
+ARMPKGARCH:tune-cortexa72 = "cortexa72"
+TUNE_FEATURES:tune-cortexa72 = "${TUNE_FEATURES:tune-armv8a-crc-crypto} cortexa72"
+PACKAGE_EXTRA_ARCHS:tune-cortexa72 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72"
+BASE_LIB:tune-cortexa72 = "lib64"
diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc
new file mode 100644
index 0000000..9cebffd
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc
@@ -0,0 +1,19 @@
+DEFAULTTUNE ?= "cortexa73-cortexa53"
+
+TUNEVALID[cortexa73-cortexa53] = "Enable big.LITTLE Cortex-A73.Cortex-A53 specific processor optimizations"
+MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", "cortexa73-cortexa53:", "", d)}"
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", " -mcpu=cortex-a73.cortex-a53", "", d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# cortexa73.cortexa53 implies crc support
+AVAILTUNES += "cortexa73-cortexa53 cortexa73-cortexa53-crypto"
+ARMPKGARCH:tune-cortexa73-cortexa53 = "cortexa73-cortexa53"
+ARMPKGARCH:tune-cortexa73-cortexa53-crypto = "cortexa73-cortexa53-crypto"
+TUNE_FEATURES:tune-cortexa73-cortexa53 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa73-cortexa53"
+TUNE_FEATURES:tune-cortexa73-cortexa53-crypto = "${TUNE_FEATURES:tune-cortexa73-cortexa53} crypto"
+PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa53 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa73-cortexa53"
+PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa73-cortexa53 cortexa73-cortexa53-crypto"
+BASE_LIB:tune-cortexa73-cortexa53 = "lib64"
+BASE_LIB:tune-cortexa73-cortexa53-crypto = "lib64"
+
diff --git a/poky/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc
new file mode 100644
index 0000000..7bc6282
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc
@@ -0,0 +1,19 @@
+DEFAULTTUNE ?= "thunderx"
+AVAILTUNES += "thunderx thunderx_be"
+
+TUNEVALID[thunderx] = "Enable instructions for Cavium ThunderX"
+
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thunderx', ' -mcpu=thunderx', '',d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+ARMPKGARCH:tune-thunderx ?= "thunderx"
+ARMPKGARCH:tune-thunderx_be ?= "thunderx"
+
+TUNE_FEATURES:tune-thunderx = "${TUNE_FEATURES:tune-aarch64} thunderx"
+TUNE_FEATURES:tune-thunderx_be = "${TUNE_FEATURES:tune-thunderx} bigendian"
+BASE_LIB:tune-thunderx = "lib64"
+BASE_LIB:tune-thunderx_be = "lib64"
+
+PACKAGE_EXTRA_ARCHS:tune-thunderx = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} thunderx"
+PACKAGE_EXTRA_ARCHS:tune-thunderx_be = "aarch64_be thunderx_be"
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 0000000..3a97cf8
--- /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 0000000..8a69d2e
--- /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 0000000..aade6ce
--- /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 0000000..7f7ada7
--- /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 0000000..0ea42b1
--- /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 eaddd05..174b9b9 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 @@
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 0000000..1afaf8d
--- /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)}"