Initial commit
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
2012/03/30 - Mark Hatle <mark.hatle@windriver.com>
|
||||
- Initial Revision
|
||||
|
||||
|
||||
Introduction
|
||||
============
|
||||
The individual CPU, and ABI tunings are contained in this directory. A
|
||||
number of local and global variables are used to control the way the
|
||||
tunings are setup and how they work together to specify an optimized
|
||||
configuration.
|
||||
|
||||
The following is brief summary of the generic components that are used
|
||||
in these tunings.
|
||||
|
||||
AVAILTUNES - This is a list of all of the tuning definitions currently
|
||||
available in the system. Not all tunes in this list may be compatible
|
||||
with the machine configuration, or each other in a multilib
|
||||
configuration. Each tuning file can add to this list using "+=", but
|
||||
should never replace the list using "=".
|
||||
|
||||
DEFAULTTUNE - This specifies the tune to use for a particular build.
|
||||
Each tune should specify a reasonable default, which can be overriden by
|
||||
a machine or multilib configuration. The specified tune must be listed
|
||||
in the AVAILTUNES.
|
||||
|
||||
TUNEVALID[feature] - The <feature> is defined with a human readable
|
||||
explanation for what it does. All architectural, cpu, abi, etc tuning
|
||||
features must be defined using TUNEVALID.
|
||||
|
||||
TUNECONFLICTS[feature] - A list of features which conflict with <feature>.
|
||||
New sanity checks will try to reject combinations in which a single
|
||||
tuning ends up with features which conflict with each other.
|
||||
|
||||
TUNE_FEATURES - This is automatically defined as TUNE_FEATURES:tune-<tune>.
|
||||
See TUNE_FEATURES:tune-<tune> for more information.
|
||||
|
||||
TUNE_FEATURES:tune-<tune> - Specify the features used to describe a
|
||||
specific tune. This is a list of features that a tune support, each
|
||||
feature must be in the TUNEVALID list. Note: the tune and a given
|
||||
feature name may be the same, but they have different purposes. Only
|
||||
features may be used to change behavior, while tunes are used to
|
||||
describe an overall set of features.
|
||||
|
||||
ABIEXTENSION - An ABI extension may be specified by a specific feature
|
||||
or other tuning setting, such as TARGET_FPU. Any ABI extensions either
|
||||
need to be defined in the architectures base arch file, i.e.
|
||||
ABIEXTENSION = "eabi" in the arm case, or appended to in specific tune
|
||||
files with a ".=". Spaces are not allowed in this variable.
|
||||
|
||||
TUNE_CCARGS - Setup the cflags based on the TUNE_FEATURES settings.
|
||||
These should be additive when defined using "+=". All items in this
|
||||
list should be dynamic! i.e.
|
||||
${@bb.utils.contains("TUNE_FEATURES", "feature", "cflag", "!cflag", d)}
|
||||
|
||||
TUNE_ARCH - The GNU canonical arch for a specific architecture. i.e.
|
||||
arm, armeb, mips, mips64, etc. This value is used by bitbake to setup
|
||||
configure. TUNE_ARCH definitions are specific to a given architecture.
|
||||
They may be a single static definition, or may be dynamically adjusted.
|
||||
See each architecture's README for details for that CPU family.
|
||||
|
||||
TUNE_PKGARCH - The package architecture used by the packaging systems to
|
||||
define the architecture, abi and tuning of a particular package.
|
||||
Similarly to TUNE_ARCH, the definition of TUNE_PKGARCH is specific to
|
||||
each architecture. See each architectures README for details for that
|
||||
CPU family.
|
||||
|
||||
PACKAGE_EXTRA_ARCHS - Lists all runtime compatible package
|
||||
architectures. By default this is equal to
|
||||
PACKAGE_EXTRA_ARCHS:tune-<tune>. If an architecture deviates from the
|
||||
default it will be listed in the architecture README.
|
||||
|
||||
PACKAGE_EXTRA_ARCHS:tune-<tune> - List all of the package architectures
|
||||
that are compatible with this specific tune. The package arch of this
|
||||
tune must be in the list.
|
||||
|
||||
TARGET_FPU - The FPU setting for a given tune, hard (generate floating
|
||||
point instructions), soft (generate internal gcc calls), "other"
|
||||
architecture specific floating point. This is synchronized with the
|
||||
compiler and other toolchain items. This should be dynamically
|
||||
configured in the same way that TUNE_CCARGS is.
|
||||
|
||||
BASE_LIB:tune-<tune> - The "/lib" location for a specific ABI. This is
|
||||
used in a multilib configuration to place the libraries in the correct,
|
||||
non-conflicting locations.
|
||||
|
||||
|
||||
Best Practice
|
||||
=============
|
||||
The tune infrastructure is designed to be hierarchical. When writing a
|
||||
new tune file for a "fast-forward" CPU architecture (one that supports
|
||||
everything from a previous generation), it is recommended to require the
|
||||
previous generation tune file and specify PACKAGE_EXTRA_ARCHS using the
|
||||
previous generation's override and appending the new tune. Note that
|
||||
only one previous tune file should be included to avoid mutiple includes
|
||||
of the base arch which could lead to a broken configuration due to
|
||||
multiple prepend and append assignments.
|
||||
|
||||
For example, for x86, there is a common x86/arch-x86.inc which is
|
||||
included in the base i586 tune file. The core2 tune builds
|
||||
on that, and corei7 builds on core2.
|
||||
@@ -0,0 +1,40 @@
|
||||
2012/03/30 - Mark Hatle <mark.hatle@windriver.com>
|
||||
- Initial Revision
|
||||
|
||||
The ARM architecture definitions are split among a number of files.
|
||||
The primary definitions for the variables are handled by the core
|
||||
arch-arm.inc file.
|
||||
|
||||
TUNE_ARCH is set to either "arm" or "armeb" depending on the value
|
||||
of the existence of the "bigendian" feature in a given tune.
|
||||
|
||||
A small set of ARM specific variables have been defined to allow
|
||||
TUNE_PKGARCH to be automatically defined. Optimized tunings must NOT
|
||||
change the definiton of TUNE_PKGARCH. TUNE_PKGACH:tune-<tune> will be
|
||||
ignored. The format of the package arch is enforced by the TUNE_PKGARCH
|
||||
default. The format must be of the form:
|
||||
<armversion>[t][e][hf][b][-vfp][-neon]
|
||||
|
||||
TUNE_PKGARCH is defined as:
|
||||
${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}
|
||||
|
||||
ARMPKGARCH - This is the core package arch component specified by each
|
||||
tuning. This is the primary identifier of a tuning. Usual values are:
|
||||
arm, armv4, armv5, armv6, armv7a, etc.
|
||||
|
||||
ARMPKGSFX_THUMB - This is the thumb specific suffix. Curently it is
|
||||
defined in feature-arm-thumb.inc.
|
||||
|
||||
ARMPKGSFX_DSP - This is the DSP specific suffix. Currently this is set
|
||||
to 'e' when on armv5 and the dsp feature is enabled.
|
||||
|
||||
ARMPKGSFX_EABI - This is the eabi specific suffix. There are currently
|
||||
two defined ABIs specificed, standard EABI and Hard Float (VFP) EABI.
|
||||
When the callconvention-hard is enabled, "hf" is specified, otherwise it
|
||||
is blank.
|
||||
|
||||
ARMPKGSFX_ENDIAN - This is the endian specific suffix. It is defined in
|
||||
the core arch-arm.inc file.
|
||||
|
||||
ARMPKGSFX_FPU - This is the FPU specific suffix. The suffix indicates
|
||||
specific FPU optimizations. 'vfp' and 'neon' are both defined.
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
TUNEVALID[bigendian] = "Enable big-endian mode."
|
||||
|
||||
ARMPKGARCH = "${ARMPKGARCH:tune-${DEFAULTTUNE}}"
|
||||
ARMPKGSFX_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'b', '', d)}"
|
||||
ARMPKGSFX_FPU ??= ""
|
||||
ARMPKGSFX_DSP ??= ""
|
||||
ARMPKGSFX_EABI ??= ""
|
||||
ARMPKGSFX_THUMB ??= ""
|
||||
|
||||
TUNE_ARCH = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'armeb', 'arm', d)}"
|
||||
TUNE_PKGARCH = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}"
|
||||
|
||||
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}"
|
||||
@@ -0,0 +1,44 @@
|
||||
DEFAULTTUNE ?= "aarch64"
|
||||
|
||||
require conf/machine/include/arm/arch-armv7ve.inc
|
||||
|
||||
TUNEVALID[aarch64] = "Enable instructions for aarch64"
|
||||
TUNECONFLICTS[aarch64] = "armv4 armv5 armv6 armv7 armv7a"
|
||||
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'aarch64:', '', d)}"
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "aarch64 aarch64_be"
|
||||
ARMPKGARCH:tune-aarch64 ?= "aarch64"
|
||||
ARMPKGARCH:tune-aarch64_be ?= "aarch64"
|
||||
TUNE_FEATURES:tune-aarch64 = "aarch64"
|
||||
TUNE_FEATURES:tune-aarch64_be = "${TUNE_FEATURES:tune-aarch64} bigendian"
|
||||
TUNE_PKGARCH_64:tune-aarch64 = "aarch64"
|
||||
TUNE_PKGARCH_64:tune-aarch64_be = "aarch64_be"
|
||||
BASE_LIB:tune-aarch64 = "lib64"
|
||||
BASE_LIB:tune-aarch64_be = "lib64"
|
||||
|
||||
PACKAGE_EXTRA_ARCHS:tune-aarch64 = "aarch64"
|
||||
PACKAGE_EXTRA_ARCHS:tune-aarch64_be = "aarch64_be"
|
||||
|
||||
ARMPKGSFX_ENDIAN_64 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '_be', '', d)}"
|
||||
TUNE_ARCH_64 = "aarch64${ARMPKGSFX_ENDIAN_64}"
|
||||
TUNE_PKGARCH_64 = "${ARMPKGARCH}${ARMPKGSFX_ENDIAN_64}"
|
||||
ABIEXTENSION_64 = ""
|
||||
TARGET_FPU_64 = ""
|
||||
|
||||
# Duplicated from arch-arm.inc
|
||||
TUNE_ARCH_32 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'armeb', 'arm', d)}"
|
||||
TUNE_PKGARCH_32 = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}"
|
||||
ABIEXTENSION_32 = "eabi"
|
||||
TARGET_FPU_32 = "${@d.getVar('TUNE_CCARGS_MFLOAT') or 'soft'}"
|
||||
|
||||
TUNE_ARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_ARCH_64}', '${TUNE_ARCH_32}', d)}"
|
||||
TUNE_PKGARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_PKGARCH_64}', '${TUNE_PKGARCH_32}', d)}"
|
||||
ABIEXTENSION = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${ABIEXTENSION_64}', '${ABIEXTENSION_32}', d)}"
|
||||
TARGET_FPU = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TARGET_FPU_64}', '${TARGET_FPU_32}', d)}"
|
||||
|
||||
# Emit branch protection (PAC/BTI) instructions. On hardware that doesn't
|
||||
# support these they're meaningless NOP instructions, so there's very little
|
||||
# reason not to.
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', ' -mbranch-protection=standard', '', d)}"
|
||||
@@ -0,0 +1,34 @@
|
||||
DEFAULTTUNE ?= "armv4"
|
||||
|
||||
TUNEVALID[arm] = "Enable ARM instruction set"
|
||||
TUNEVALID[armv4] = "Enable instructions for ARMv4"
|
||||
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
|
||||
FIX_V4BX_ARMV4 = "${@bb.utils.contains('TUNE_FEATURES', 'armv4', '--fix-v4bx', '', d)}"
|
||||
FIX_V4BX_ARMV5 = "${@bb.utils.contains('TUNE_FEATURES', 'armv5', '', '${FIX_V4BX_ARMV4}', d)}"
|
||||
FIX_V4BX = "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '', '${FIX_V4BX_ARMV5}', d)}"
|
||||
TARGET_LD_KERNEL_ARCH += "${FIX_V4BX}"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv4', 'armv4:', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-arm.inc
|
||||
require conf/machine/include/arm/feature-arm-thumb.inc
|
||||
|
||||
# Little Endian
|
||||
AVAILTUNES += "armv4 armv4t"
|
||||
ARMPKGARCH:tune-armv4 ?= "armv4"
|
||||
ARMPKGARCH:tune-armv4t ?= "armv4"
|
||||
TUNE_FEATURES:tune-armv4 = "arm armv4"
|
||||
TUNE_FEATURES:tune-armv4t = "${TUNE_FEATURES:tune-armv4} thumb"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv4 = "arm armv4"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv4t = "${PACKAGE_EXTRA_ARCHS:tune-armv4} armv4t"
|
||||
|
||||
# Big Endian
|
||||
AVAILTUNES += "armv4b armv4tb"
|
||||
ARMPKGARCH:tune-armv4b ?= "armv4"
|
||||
ARMPKGARCH:tune-armv4tb ?= "armv4"
|
||||
TUNE_FEATURES:tune-armv4b = "${TUNE_FEATURES:tune-armv4} bigendian"
|
||||
TUNE_FEATURES:tune-armv4tb = "${TUNE_FEATURES:tune-armv4t} bigendian"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv4b = "armeb armv4b"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv4tb = "${PACKAGE_EXTRA_ARCHS:tune-armv4b} armv4tb"
|
||||
@@ -0,0 +1,53 @@
|
||||
# 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"
|
||||
|
||||
require conf/machine/include/arm/arch-armv5.inc
|
||||
|
||||
# Little Endian
|
||||
AVAILTUNES += "armv5e armv5te"
|
||||
ARMPKGARCH:tune-armv5e ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5te ?= "armv5"
|
||||
TUNE_FEATURES:tune-armv5e = "${TUNE_FEATURES:tune-armv5} dsp"
|
||||
TUNE_FEATURES:tune-armv5te = "${TUNE_FEATURES:tune-armv5t} dsp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5e = "${PACKAGE_EXTRA_ARCHS:tune-armv5} armv5e"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5te = "${PACKAGE_EXTRA_ARCHS:tune-armv5t} armv5e armv5te"
|
||||
|
||||
# Little Endian + VFP/DSP
|
||||
AVAILTUNES += "armv5e-vfp armv5te-vfp armv5ehf-vfp armv5tehf-vfp"
|
||||
ARMPKGARCH:tune-armv5e-vfp ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5te-vfp ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5ehf-vfp ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5tehf-vfp ?= "armv5"
|
||||
TUNE_FEATURES:tune-armv5e-vfp = "${TUNE_FEATURES:tune-armv5e} vfp"
|
||||
TUNE_FEATURES:tune-armv5te-vfp = "${TUNE_FEATURES:tune-armv5te} vfp"
|
||||
TUNE_FEATURES:tune-armv5ehf-vfp = "${TUNE_FEATURES:tune-armv5e-vfp} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv5tehf-vfp = "${TUNE_FEATURES:tune-armv5te-vfp} callconvention-hard"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5e-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5-vfp} armv5e armv5e-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5te-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5t-vfp} armv5e armv5te armv5e-vfp armv5te-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5ehf-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5hf-vfp} armv5ehf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5tehf-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp"
|
||||
|
||||
# Big Endian
|
||||
AVAILTUNES += "armv5eb armv5teb"
|
||||
ARMPKGARCH:tune-armv5eb ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5teb ?= "armv5"
|
||||
TUNE_FEATURES:tune-armv5eb = "${TUNE_FEATURES:tune-armv5e} bigendian"
|
||||
TUNE_FEATURES:tune-armv5teb = "${TUNE_FEATURES:tune-armv5te} bigendian"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5eb = "${PACKAGE_EXTRA_ARCHS:tune-armv5b} armv5eb"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5teb = "${PACKAGE_EXTRA_ARCHS:tune-armv5tb} armv5eb armv5teb"
|
||||
|
||||
# Big Endian + VFP/DSP
|
||||
AVAILTUNES += "armv5eb-vfp armv5teb-vfp armv5ehfb-vfp armv5tehfb-vfp"
|
||||
ARMPKGARCH:tune-armv5eb-vfp ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5teb-vfp ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5ehfb-vfp ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5tehfb-vfp ?= "armv5"
|
||||
TUNE_FEATURES:tune-armv5eb-vfp = "${TUNE_FEATURES:tune-armv5e-vfp} bigendian"
|
||||
TUNE_FEATURES:tune-armv5teb-vfp = "${TUNE_FEATURES:tune-armv5te-vfp} bigendian"
|
||||
TUNE_FEATURES:tune-armv5ehfb-vfp = "${TUNE_FEATURES:tune-armv5ehf-vfp} bigendian"
|
||||
TUNE_FEATURES:tune-armv5tehfb-vfp = "${TUNE_FEATURES:tune-armv5tehf-vfp} bigendian"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5eb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5b-vfp} armv5eb armv5eb-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5teb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5tb-vfp} armv5eb armv5teb armv5eb-vfp armv5teb-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5ehfb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5hfb-vfp} armv5ehfb-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5tehfb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5thfb-vfp} armv5ehfb-vfp armv5tehfb-vfp"
|
||||
@@ -0,0 +1,57 @@
|
||||
DEFAULTTUNE ?= "armv5"
|
||||
|
||||
TUNEVALID[armv5] = "Enable instructions for ARMv5"
|
||||
TUNECONFLICTS[armv5] = "armv4"
|
||||
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
|
||||
require conf/machine/include/arm/feature-arm-vfp.inc
|
||||
|
||||
# Little Endian
|
||||
AVAILTUNES += "armv5 armv5t"
|
||||
ARMPKGARCH:tune-armv5 ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5t ?= "armv5"
|
||||
TUNE_FEATURES:tune-armv5 = "arm armv5"
|
||||
TUNE_FEATURES:tune-armv5t = "${TUNE_FEATURES:tune-armv5} thumb"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5 = "${PACKAGE_EXTRA_ARCHS:tune-armv4} armv5"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5t = "${PACKAGE_EXTRA_ARCHS:tune-armv4t} armv5 armv5t"
|
||||
|
||||
# Little Endian + VFP/DSP
|
||||
AVAILTUNES += "armv5-vfp armv5t-vfp armv5hf-vfp armv5thf-vfp"
|
||||
ARMPKGARCH:tune-armv5-vfp ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5t-vfp ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5hf-vfp ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5thf-vfp ?= "armv5"
|
||||
TUNE_FEATURES:tune-armv5-vfp = "${TUNE_FEATURES:tune-armv5} vfp"
|
||||
TUNE_FEATURES:tune-armv5t-vfp = "${TUNE_FEATURES:tune-armv5t} vfp"
|
||||
TUNE_FEATURES:tune-armv5hf-vfp = "${TUNE_FEATURES:tune-armv5-vfp} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv5thf-vfp = "${TUNE_FEATURES:tune-armv5t-vfp} callconvention-hard"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5} armv5-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5t-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5t} armv5-vfp armv5t-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5hf-vfp = "armv5hf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5thf-vfp = "armv5hf-vfp armv5thf-vfp"
|
||||
|
||||
# Big Endian
|
||||
AVAILTUNES += "armv5b armv5tb"
|
||||
ARMPKGARCH:tune-armv5b ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5tb ?= "armv5"
|
||||
TUNE_FEATURES:tune-armv5b = "${TUNE_FEATURES:tune-armv5} bigendian"
|
||||
TUNE_FEATURES:tune-armv5tb = "${TUNE_FEATURES:tune-armv5t} bigendian"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5b = "${PACKAGE_EXTRA_ARCHS:tune-armv4b} armv5b"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5tb = "${PACKAGE_EXTRA_ARCHS:tune-armv4tb} armv5b armv5tb"
|
||||
|
||||
# Big Endian + VFP/DSP
|
||||
AVAILTUNES += "armv5b-vfp armv5tb-vfp armv5hfb-vfp armv5thfb-vfp"
|
||||
ARMPKGARCH:tune-armv5b-vfp ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5tb-vfp ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5hfb-vfp ?= "armv5"
|
||||
ARMPKGARCH:tune-armv5thfb-vfp ?= "armv5"
|
||||
TUNE_FEATURES:tune-armv5b-vfp = "${TUNE_FEATURES:tune-armv5-vfp} bigendian"
|
||||
TUNE_FEATURES:tune-armv5tb-vfp = "${TUNE_FEATURES:tune-armv5t-vfp} bigendian"
|
||||
TUNE_FEATURES:tune-armv5hfb-vfp = "${TUNE_FEATURES:tune-armv5hf-vfp} bigendian"
|
||||
TUNE_FEATURES:tune-armv5thfb-vfp = "${TUNE_FEATURES:tune-armv5thf-vfp} bigendian"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5b-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5b} armv5b-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5tb-vfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5tb} armv5b-vfp armv5tb-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5hfb-vfp = "armv5hfb-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv5thfb-vfp = "armv5hfb-vfp armv5thfb-vfp"
|
||||
@@ -0,0 +1,50 @@
|
||||
DEFAULTTUNE ?= "armv6hf"
|
||||
|
||||
TUNEVALID[armv6] = "Enable instructions for ARMv6"
|
||||
TUNECONFLICTS[armv6] = "armv4 armv5"
|
||||
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
|
||||
|
||||
# Little Endian
|
||||
AVAILTUNES += "armv6-novfp armv6t-novfp armv6 armv6t armv6hf armv6thf"
|
||||
ARMPKGARCH:tune-armv6-novfp ?= "armv6"
|
||||
ARMPKGARCH:tune-armv6t-novfp ?= "armv6"
|
||||
ARMPKGARCH:tune-armv6 ?= "armv6"
|
||||
ARMPKGARCH:tune-armv6t ?= "armv6"
|
||||
ARMPKGARCH:tune-armv6hf ?= "armv6"
|
||||
ARMPKGARCH:tune-armv6thf ?= "armv6"
|
||||
TUNE_FEATURES:tune-armv6-novfp = "arm armv6"
|
||||
TUNE_FEATURES:tune-armv6t-novfp = "${TUNE_FEATURES:tune-armv6-novfp} thumb"
|
||||
TUNE_FEATURES:tune-armv6 = "${TUNE_FEATURES:tune-armv6-novfp} vfp"
|
||||
TUNE_FEATURES:tune-armv6t = "${TUNE_FEATURES:tune-armv6t-novfp} vfp"
|
||||
TUNE_FEATURES:tune-armv6hf = "${TUNE_FEATURES:tune-armv6} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv6thf = "${TUNE_FEATURES:tune-armv6t} callconvention-hard"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv6-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5e} armv6"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv6t-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} armv6 armv6t"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv6 = "${PACKAGE_EXTRA_ARCHS:tune-armv5e-vfp} armv6 armv6-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv6t = "${PACKAGE_EXTRA_ARCHS:tune-armv5te-vfp} armv6 armv6t armv6-vfp armv6t-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv6hf = "${PACKAGE_EXTRA_ARCHS:tune-armv5ehf-vfp} armv6hf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv6thf = "${PACKAGE_EXTRA_ARCHS:tune-armv5tehf-vfp} armv6hf-vfp armv6thf-vfp"
|
||||
|
||||
# Big Endian
|
||||
AVAILTUNES += "armv6b-novfp armv6tb-novfp armv6b armv6tb armv6hfb armv6thfb"
|
||||
ARMPKGARCH:tune-armv6b-novfp ?= "armv6"
|
||||
ARMPKGARCH:tune-armv6tb-novfp ?= "armv6"
|
||||
ARMPKGARCH:tune-armv6b ?= "armv6"
|
||||
ARMPKGARCH:tune-armv6tb ?= "armv6"
|
||||
ARMPKGARCH:tune-armv6hfb ?= "armv6"
|
||||
ARMPKGARCH:tune-armv6thfb ?= "armv6"
|
||||
TUNE_FEATURES:tune-armv6b-novfp = "${TUNE_FEATURES:tune-armv6-novfp} bigendian"
|
||||
TUNE_FEATURES:tune-armv6tb-novfp = "${TUNE_FEATURES:tune-armv6t-novfp} bigendian"
|
||||
TUNE_FEATURES:tune-armv6b = "${TUNE_FEATURES:tune-armv6} bigendian"
|
||||
TUNE_FEATURES:tune-armv6tb = "${TUNE_FEATURES:tune-armv6t} bigendian"
|
||||
TUNE_FEATURES:tune-armv6hfb = "${TUNE_FEATURES:tune-armv6hf} bigendian"
|
||||
TUNE_FEATURES:tune-armv6thfb = "${TUNE_FEATURES:tune-armv6thf} bigendian"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv6b-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5eb} armv6b"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv6tb-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5teb} armv6b armv6tb"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv6b = "${PACKAGE_EXTRA_ARCHS:tune-armv5eb-vfp} armv6b armv6b-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv6tb = "${PACKAGE_EXTRA_ARCHS:tune-armv5teb-vfp} armv6b armv6tb armv6b-vfp armv6tb-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv6hfb = "${PACKAGE_EXTRA_ARCHS:tune-armv5ehfb-vfp} armv6hfb-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv6thfb = "${PACKAGE_EXTRA_ARCHS:tune-armv5tehfb-vfp} armv6hfb-vfp armv6thfb-vfp"
|
||||
@@ -0,0 +1,19 @@
|
||||
# Tuning for ARMV6-m defined in ARM v6-M ArchitectureReference Manual
|
||||
# at https://static.docs.arm.com/ddi0419/d/DDI0419D_armv6m_arm.pdf
|
||||
DEFAULTTUNE ?= "armv6m"
|
||||
|
||||
TUNEVALID[armv6m] = "Enable instructions for ARMv6-m"
|
||||
TUNECONFLICTS[armv6m] = "armv4 armv5 armv6 armv7a"
|
||||
|
||||
# Use armv6s-m instead of armv6-m to avoid gcc bug "SVC is not permitted on this architecture".
|
||||
# SVC is a valid instruction.
|
||||
TUNE_CCARGS_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
|
||||
|
||||
# Little Endian
|
||||
AVAILTUNES += "armv6m"
|
||||
ARMPKGARCH:tune-armv6m = "armv6m"
|
||||
TUNE_FEATURES:tune-armv6m = "armv6m"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv6m = "armv6m"
|
||||
@@ -0,0 +1,167 @@
|
||||
DEFAULTTUNE ?= "armv7athf"
|
||||
ARM_INSTRUCTION_SET ?= "thumb"
|
||||
|
||||
TUNEVALID[armv7a] = "Enable instructions for ARMv7-a"
|
||||
TUNECONFLICTS[armv7a] = "armv4 armv5 armv6 armv7"
|
||||
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"
|
||||
ARMPKGARCH:tune-armv7a ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7at ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7a-vfpv3d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7at-vfpv3d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7a-vfpv3 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7at-vfpv3 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7a-vfpv4d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7at-vfpv4d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7a-neon ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7at-neon ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7a-neon-vfpv4 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7at-neon-vfpv4 ?= "armv7a"
|
||||
TUNE_FEATURES:tune-armv7a = "arm armv7a vfp"
|
||||
TUNE_FEATURES:tune-armv7at = "${TUNE_FEATURES:tune-armv7a} thumb"
|
||||
TUNE_FEATURES:tune-armv7a-vfpv3d16 = "${TUNE_FEATURES:tune-armv7a} vfpv3d16"
|
||||
TUNE_FEATURES:tune-armv7at-vfpv3d16 = "${TUNE_FEATURES:tune-armv7at} vfpv3d16"
|
||||
TUNE_FEATURES:tune-armv7a-vfpv3 = "${TUNE_FEATURES:tune-armv7a-vfpv3d16} vfpv3"
|
||||
TUNE_FEATURES:tune-armv7at-vfpv3 = "${TUNE_FEATURES:tune-armv7at-vfpv3d16} vfpv3"
|
||||
TUNE_FEATURES:tune-armv7a-vfpv4d16 = "${TUNE_FEATURES:tune-armv7a} vfpv4d16"
|
||||
TUNE_FEATURES:tune-armv7at-vfpv4d16 = "${TUNE_FEATURES:tune-armv7at} vfpv4d16"
|
||||
TUNE_FEATURES:tune-armv7a-neon = "${TUNE_FEATURES:tune-armv7a} neon"
|
||||
TUNE_FEATURES:tune-armv7at-neon = "${TUNE_FEATURES:tune-armv7at} neon"
|
||||
TUNE_FEATURES:tune-armv7a-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7a-neon} vfpv4"
|
||||
TUNE_FEATURES:tune-armv7at-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7at-neon} vfpv4"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7a = "${PACKAGE_EXTRA_ARCHS:tune-armv6} armv7a armv7a-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7at = "${PACKAGE_EXTRA_ARCHS:tune-armv6t} armv7a armv7a-vfp armv7at2-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7a-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7a-vfpv3d16 armv7at2-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv3d16} armv7a-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv3d16} armv7a-vfpv3 armv7at2-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7a-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7a-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7at-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7a-vfpv4d16 armv7at2-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7a-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7a-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7at-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7a-neon armv7at2-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7a-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7a-neon} armv7a-neon-vfpv4"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7at-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7at-neon} armv7a-neon-vfpv4 armv7at2-neon-vfpv4"
|
||||
|
||||
# HF Tunes
|
||||
AVAILTUNES += "armv7ahf armv7athf armv7ahf-vfpv3d16 armv7athf-vfpv3d16 armv7ahf-vfpv3 armv7athf-vfpv3 armv7ahf-vfpv4d16 armv7athf-vfpv4d16 armv7ahf-neon armv7athf-neon armv7ahf-neon-vfpv4 armv7athf-neon-vfpv4"
|
||||
ARMPKGARCH:tune-armv7ahf ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7athf ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ahf-vfpv3d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7athf-vfpv3d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ahf-vfpv3 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7athf-vfpv3 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ahf-vfpv4d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7athf-vfpv4d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ahf-neon ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7athf-neon ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ahf-neon-vfpv4 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7athf-neon-vfpv4 ?= "armv7a"
|
||||
TUNE_FEATURES:tune-armv7ahf = "${TUNE_FEATURES:tune-armv7a} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7athf = "${TUNE_FEATURES:tune-armv7at} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7ahf-vfpv3d16 = "${TUNE_FEATURES:tune-armv7a-vfpv3d16} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7athf-vfpv3d16 = "${TUNE_FEATURES:tune-armv7at-vfpv3d16} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7ahf-vfpv3 = "${TUNE_FEATURES:tune-armv7a-vfpv3} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7athf-vfpv3 = "${TUNE_FEATURES:tune-armv7at-vfpv3} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7ahf-vfpv4d16 = "${TUNE_FEATURES:tune-armv7a-vfpv4d16} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7athf-vfpv4d16 = "${TUNE_FEATURES:tune-armv7at-vfpv4d16} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7ahf-neon = "${TUNE_FEATURES:tune-armv7a-neon} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7athf-neon = "${TUNE_FEATURES:tune-armv7at-neon} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7ahf-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7a-neon-vfpv4} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7athf-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7at-neon-vfpv4} callconvention-hard"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ahf = "${PACKAGE_EXTRA_ARCHS:tune-armv6hf} armv7ahf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7athf = "${PACKAGE_EXTRA_ARCHS:tune-armv6thf} armv7ahf-vfp armv7at2hf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7ahf-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7ahf-vfpv3d16 armv7at2hf-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv3d16} armv7ahf-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv3d16} armv7ahf-vfpv3 armv7at2hf-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ahf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7ahf-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7athf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7ahf-vfpv4d16 armv7at2hf-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7ahf-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7ahf-neon armv7at2hf-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf-neon} armv7ahf-neon-vfpv4"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf-neon} armv7ahf-neon-vfpv4 armv7at2hf-neon-vfpv4"
|
||||
|
||||
# Big Endian
|
||||
AVAILTUNES += "armv7ab armv7atb armv7ab-vfpv3d16 armv7atb-vfpv3d16 armv7ab-vfpv3 armv7atb-vfpv3 armv7ab-vfpv4d16 armv7atb-vfpv4d16 armv7ab-neon armv7atb-neon armv7ab-neon-vfpv4 armv7atb-neon-vfpv4"
|
||||
ARMPKGARCH:tune-armv7ab ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7atb ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ab-vfpv3d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7atb-vfpv3d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ab-vfpv3 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7atb-vfpv3 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ab-vfpv4d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7atb-vfpv4d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ab-neon ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7atb-neon ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ab-neon-vfpv4 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7atb-neon-vfpv4 ?= "armv7a"
|
||||
TUNE_FEATURES:tune-armv7ab = "${TUNE_FEATURES:tune-armv7a} bigendian"
|
||||
TUNE_FEATURES:tune-armv7atb = "${TUNE_FEATURES:tune-armv7at} bigendian"
|
||||
TUNE_FEATURES:tune-armv7ab-vfpv3d16 = "${TUNE_FEATURES:tune-armv7a-vfpv3d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7atb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7at-vfpv3d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7ab-vfpv3 = "${TUNE_FEATURES:tune-armv7a-vfpv3} bigendian"
|
||||
TUNE_FEATURES:tune-armv7atb-vfpv3 = "${TUNE_FEATURES:tune-armv7at-vfpv3} bigendian"
|
||||
TUNE_FEATURES:tune-armv7ab-vfpv4d16 = "${TUNE_FEATURES:tune-armv7a-vfpv4d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7atb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7at-vfpv4d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7ab-neon = "${TUNE_FEATURES:tune-armv7a-neon} bigendian"
|
||||
TUNE_FEATURES:tune-armv7atb-neon = "${TUNE_FEATURES:tune-armv7at-neon} bigendian"
|
||||
TUNE_FEATURES:tune-armv7ab-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7a-neon-vfpv4} bigendian"
|
||||
TUNE_FEATURES:tune-armv7atb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7at-neon-vfpv4} bigendian"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ab = "${PACKAGE_EXTRA_ARCHS:tune-armv6b} armv7ab-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7atb = "${PACKAGE_EXTRA_ARCHS:tune-armv6tb} armv7ab-vfp armv7at2b-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7ab-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7ab-vfpv3d16 armv7at2b-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv3d16} armv7ab-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv3d16} armv7ab-vfpv3 armv7at2b-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ab-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7ab-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7atb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7ab-vfpv4d16 armv7at2b-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ab-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7ab-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7atb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7ab-neon armv7at2b-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ab-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab-neon} armv7ab-neon-vfpv4"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7atb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb-neon} armv7ab-neon-vfpv4 armv7at2b-neon-vfpv4"
|
||||
|
||||
# Big Endian + HF
|
||||
AVAILTUNES += "armv7ahfb armv7athfb armv7ahfb-vfpv3d16 armv7athfb-vfpv3d16 armv7ahfb-vfpv3 armv7athfb-vfpv3 armv7ahfb-vfpv4d16 armv7athfb-vfpv4d16 armv7ahfb-neon armv7athfb-neon armv7ahfb-neon-vfpv4 armv7athfb-neon-vfpv4"
|
||||
ARMPKGARCH:tune-armv7ahfb ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7athfb ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ahfb-vfpv3d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7athfb-vfpv3d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ahfb-vfpv3 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7athfb-vfpv3 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ahfb-vfpv4d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7athfb-vfpv4d16 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ahfb-neon ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7athfb-neon ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7ahfb-neon-vfpv4 ?= "armv7a"
|
||||
ARMPKGARCH:tune-armv7athfb-neon-vfpv4 ?= "armv7a"
|
||||
TUNE_FEATURES:tune-armv7ahfb = "${TUNE_FEATURES:tune-armv7ahf} bigendian"
|
||||
TUNE_FEATURES:tune-armv7athfb = "${TUNE_FEATURES:tune-armv7athf} bigendian"
|
||||
TUNE_FEATURES:tune-armv7ahfb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7ahf-vfpv3d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7athfb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7athf-vfpv3d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7ahfb-vfpv3 = "${TUNE_FEATURES:tune-armv7ahf-vfpv3} bigendian"
|
||||
TUNE_FEATURES:tune-armv7athfb-vfpv3 = "${TUNE_FEATURES:tune-armv7athf-vfpv3} bigendian"
|
||||
TUNE_FEATURES:tune-armv7ahfb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7ahf-vfpv4d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7athfb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7athf-vfpv4d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7ahfb-neon = "${TUNE_FEATURES:tune-armv7ahf-neon} bigendian"
|
||||
TUNE_FEATURES:tune-armv7athfb-neon = "${TUNE_FEATURES:tune-armv7athf-neon} bigendian"
|
||||
TUNE_FEATURES:tune-armv7ahfb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7ahf-neon-vfpv4} bigendian"
|
||||
TUNE_FEATURES:tune-armv7athfb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7athf-neon-vfpv4} bigendian"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ahfb = "${PACKAGE_EXTRA_ARCHS:tune-armv6hfb} armv7ahfb-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7athfb = "${PACKAGE_EXTRA_ARCHS:tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7ahfb-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7ahfb-vfpv3d16 armv7at2hfb-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv3d16} armv7ahfb-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv3d16} armv7ahfb-vfpv3 armv7at2hfb-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7ahfb-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7athfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7ahfb-vfpv4d16 armv7at2hfb-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7ahfb-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7athfb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7ahfb-neon armv7at2hfb-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb-neon} armv7ahfb-neon-vfpv4"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7athfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb-neon} armv7ahfb-neon-vfpv4 armv7at2hfb-neon-vfpv4"
|
||||
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Defaults for ARMv7e-m
|
||||
#
|
||||
DEFAULTTUNE ?= "armv7em"
|
||||
|
||||
TUNEVALID[armv7em] = "Enable instructions for ARMv7e-m"
|
||||
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"
|
||||
|
||||
require conf/machine/include/arm/arch-armv7m.inc
|
||||
|
||||
AVAILTUNES += "armv7em"
|
||||
ARMPKGARCH:tune-armv7em = "armv7em"
|
||||
TUNE_FEATURES:tune-armv7em = "armv7em"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7em = "armv7em"
|
||||
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Defaults for ARMv7-m
|
||||
#
|
||||
DEFAULTTUNE ?= "armv7m"
|
||||
|
||||
TUNEVALID[armv7m] = "Enable instructions for ARMv7-m"
|
||||
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"
|
||||
|
||||
require conf/machine/include/arm/arch-armv6m.inc
|
||||
|
||||
AVAILTUNES += "armv7m"
|
||||
ARMPKGARCH:tune-armv7m = "armv7m"
|
||||
TUNE_FEATURES:tune-armv7m = "armv7m"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7m = "armv7m"
|
||||
@@ -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"
|
||||
@@ -0,0 +1,164 @@
|
||||
DEFAULTTUNE ?= "armv7vethf"
|
||||
|
||||
TUNEVALID[armv7ve] = "Enable instructions for ARMv7ve"
|
||||
TUNECONFLICTS[armv7ve] = "armv4 armv5 armv6 armv7 armv7a"
|
||||
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
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "armv7ve armv7vet armv7ve-vfpv3d16 armv7vet-vfpv3d16 armv7ve-vfpv3 armv7vet-vfpv3 armv7ve-vfpv4d16 armv7vet-vfpv4d16 armv7ve-neon armv7vet-neon armv7ve-neon-vfpv4 armv7vet-neon-vfpv4"
|
||||
ARMPKGARCH:tune-armv7ve ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vet ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7ve-vfpv3d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vet-vfpv3d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7ve-vfpv3 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vet-vfpv3 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7ve-vfpv4d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vet-vfpv4d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7ve-neon ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vet-neon ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7ve-neon-vfpv4 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vet-neon-vfpv4 ?= "armv7ve"
|
||||
TUNE_FEATURES:tune-armv7ve = "arm armv7ve vfp"
|
||||
TUNE_FEATURES:tune-armv7vet = "${TUNE_FEATURES:tune-armv7ve} thumb"
|
||||
TUNE_FEATURES:tune-armv7ve-vfpv3d16 = "${TUNE_FEATURES:tune-armv7ve} vfpv3d16"
|
||||
TUNE_FEATURES:tune-armv7vet-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vet} vfpv3d16"
|
||||
TUNE_FEATURES:tune-armv7ve-vfpv3 = "${TUNE_FEATURES:tune-armv7ve-vfpv3d16} vfpv3"
|
||||
TUNE_FEATURES:tune-armv7vet-vfpv3 = "${TUNE_FEATURES:tune-armv7vet-vfpv3d16} vfpv3"
|
||||
TUNE_FEATURES:tune-armv7ve-vfpv4d16 = "${TUNE_FEATURES:tune-armv7ve} vfpv4d16"
|
||||
TUNE_FEATURES:tune-armv7vet-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vet} vfpv4d16"
|
||||
TUNE_FEATURES:tune-armv7ve-neon = "${TUNE_FEATURES:tune-armv7ve} neon"
|
||||
TUNE_FEATURES:tune-armv7vet-neon = "${TUNE_FEATURES:tune-armv7vet} neon"
|
||||
TUNE_FEATURES:tune-armv7ve-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7ve-neon} vfpv4"
|
||||
TUNE_FEATURES:tune-armv7vet-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vet-neon} vfpv4"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ve = "${PACKAGE_EXTRA_ARCHS:tune-armv7a} armv7ve armv7ve-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vet = "${PACKAGE_EXTRA_ARCHS:tune-armv7at} armv7ve armv7ve-vfp armv7vet2-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} armv7ve-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} armv7ve-vfpv3d16 armv7vet2-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv3d16} armv7ve-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv3d16} armv7ve-vfpv3 armv7vet2-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ve-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} armv7ve-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vet-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} armv7ve-vfpv4d16 armv7vet2-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve} armv7ve-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet} armv7ve-neon armv7vet2-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7ve-neon} armv7ve-neon-vfpv4"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vet-neon} armv7ve-neon-vfpv4 armv7vet2-neon-vfpv4"
|
||||
|
||||
# HF Tunes
|
||||
AVAILTUNES += "armv7vehf armv7vethf armv7vehf-vfpv3d16 armv7vethf-vfpv3d16 armv7vehf-vfpv3 armv7vethf-vfpv3 armv7vehf-vfpv4d16 armv7vethf-vfpv4d16 armv7vehf-neon armv7vethf-neon armv7vehf-neon-vfpv4 armv7vethf-neon-vfpv4"
|
||||
ARMPKGARCH:tune-armv7vehf ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vethf ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vehf-vfpv3d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vethf-vfpv3d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vehf-vfpv3 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vethf-vfpv3 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vehf-vfpv4d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vethf-vfpv4d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vehf-neon ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vethf-neon ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vehf-neon-vfpv4 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vethf-neon-vfpv4 ?= "armv7ve"
|
||||
TUNE_FEATURES:tune-armv7vehf = "${TUNE_FEATURES:tune-armv7ve} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7vethf = "${TUNE_FEATURES:tune-armv7vet} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7vehf-vfpv3d16 = "${TUNE_FEATURES:tune-armv7ve-vfpv3d16} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7vethf-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vet-vfpv3d16} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7vehf-vfpv3 = "${TUNE_FEATURES:tune-armv7ve-vfpv3} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7vethf-vfpv3 = "${TUNE_FEATURES:tune-armv7vet-vfpv3} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7vehf-vfpv4d16 = "${TUNE_FEATURES:tune-armv7ve-vfpv4d16} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7vethf-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vet-vfpv4d16} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7vehf-neon = "${TUNE_FEATURES:tune-armv7ve-neon} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7vethf-neon = "${TUNE_FEATURES:tune-armv7vet-neon} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7vehf-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7ve-neon-vfpv4} callconvention-hard"
|
||||
TUNE_FEATURES:tune-armv7vethf-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vet-neon-vfpv4} callconvention-hard"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vehf = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahf} armv7vehf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vethf = "${PACKAGE_EXTRA_ARCHS:tune-armv7athf} armv7vehf-vfp armv7vet2hf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} armv7vehf-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} armv7vehf-vfpv3d16 armv7vet2hf-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv3d16} armv7vehf-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv3d16} armv7vehf-vfpv3 armv7vet2hf-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vehf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} armv7vehf-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vethf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} armv7vehf-vfpv4d16 armv7vet2hf-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf} armv7vehf-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf} armv7vehf-neon armv7vet2hf-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehf-neon} armv7vehf-neon-vfpv4"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethf-neon} armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4"
|
||||
|
||||
# Big Endian
|
||||
AVAILTUNES += "armv7veb armv7vetb armv7veb-vfpv3d16 armv7vetb-vfpv3d16 armv7veb-vfpv3 armv7vetb-vfpv3 armv7veb-vfpv4d16 armv7vetb-vfpv4d16 armv7veb-neon armv7vetb-neon armv7veb-neon-vfpv4 armv7vetb-neon-vfpv4"
|
||||
ARMPKGARCH:tune-armv7veb ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vetb ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7veb-vfpv3d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vetb-vfpv3d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7veb-vfpv3 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vetb-vfpv3 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7veb-vfpv4d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vetb-vfpv4d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7veb-neon ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vetb-neon ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7veb-neon-vfpv4 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vetb-neon-vfpv4 ?= "armv7ve"
|
||||
TUNE_FEATURES:tune-armv7veb = "${TUNE_FEATURES:tune-armv7ve} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vetb = "${TUNE_FEATURES:tune-armv7vet} bigendian"
|
||||
TUNE_FEATURES:tune-armv7veb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7ve-vfpv3d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vetb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vet-vfpv3d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7veb-vfpv3 = "${TUNE_FEATURES:tune-armv7ve-vfpv3} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vetb-vfpv3 = "${TUNE_FEATURES:tune-armv7vet-vfpv3} bigendian"
|
||||
TUNE_FEATURES:tune-armv7veb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7ve-vfpv4d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vetb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vet-vfpv4d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7veb-neon = "${TUNE_FEATURES:tune-armv7ve-neon} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vetb-neon = "${TUNE_FEATURES:tune-armv7vet-neon} bigendian"
|
||||
TUNE_FEATURES:tune-armv7veb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7ve-neon-vfpv4} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vetb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vet-neon-vfpv4} bigendian"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7veb = "${PACKAGE_EXTRA_ARCHS:tune-armv7ab} armv7veb-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vetb = "${PACKAGE_EXTRA_ARCHS:tune-armv7atb} armv7veb-vfp armv7vet2b-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb} armv7veb-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb} armv7veb-vfpv3d16 armv7vet2b-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv3d16} armv7veb-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv3d16} armv7veb-vfpv3 armv7vet2b-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7veb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb} armv7veb-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vetb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb} armv7veb-vfpv4d16 armv7vet2b-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7veb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb} armv7veb-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vetb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb} armv7veb-neon armv7vet2b-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7veb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7veb-neon} armv7veb-neon-vfpv4"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vetb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vetb-neon} armv7veb-neon-vfpv4 armv7vet2b-neon-vfpv4"
|
||||
|
||||
# Big Endian + HF
|
||||
AVAILTUNES += "armv7vehfb armv7vethfb armv7vehfb-vfpv3d16 armv7vethfb-vfpv3d16 armv7vehfb-vfpv3 armv7vethfb-vfpv3 armv7vehfb-vfpv4d16 armv7vethfb-vfpv4d16 armv7vehfb-neon armv7vethfb-neon armv7vehfb-neon-vfpv4 armv7vethfb-neon-vfpv4"
|
||||
ARMPKGARCH:tune-armv7vehfb ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vethfb ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vehfb-vfpv3d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vethfb-vfpv3d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vehfb-vfpv3 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vethfb-vfpv3 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vehfb-vfpv4d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vethfb-vfpv4d16 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vehfb-neon ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vethfb-neon ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vehfb-neon-vfpv4 ?= "armv7ve"
|
||||
ARMPKGARCH:tune-armv7vethfb-neon-vfpv4 ?= "armv7ve"
|
||||
TUNE_FEATURES:tune-armv7vehfb = "${TUNE_FEATURES:tune-armv7vehf} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vethfb = "${TUNE_FEATURES:tune-armv7vethf} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vehfb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vehf-vfpv3d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vethfb-vfpv3d16 = "${TUNE_FEATURES:tune-armv7vethf-vfpv3d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vehfb-vfpv3 = "${TUNE_FEATURES:tune-armv7vehf-vfpv3} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vethfb-vfpv3 = "${TUNE_FEATURES:tune-armv7vethf-vfpv3} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vehfb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vehf-vfpv4d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vethfb-vfpv4d16 = "${TUNE_FEATURES:tune-armv7vethf-vfpv4d16} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vehfb-neon = "${TUNE_FEATURES:tune-armv7vehf-neon} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vethfb-neon = "${TUNE_FEATURES:tune-armv7vethf-neon} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vehfb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vehf-neon-vfpv4} bigendian"
|
||||
TUNE_FEATURES:tune-armv7vethfb-neon-vfpv4 = "${TUNE_FEATURES:tune-armv7vethf-neon-vfpv4} bigendian"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vehfb = "${PACKAGE_EXTRA_ARCHS:tune-armv7ahfb} armv7vehfb-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vethfb = "${PACKAGE_EXTRA_ARCHS:tune-armv7athfb} armv7vehfb-vfp armv7vet2hfb-vfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb} armv7vehfb-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb} armv7vehfb-vfpv3d16 armv7vet2hfb-vfpv3d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv3d16} armv7vehfb-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv3d16} armv7vehfb-vfpv3 armv7vet2hfb-vfpv3"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb} armv7vehfb-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb} armv7vehfb-vfpv4d16 armv7vet2hfb-vfpv4d16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb} armv7vehfb-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-neon = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb} armv7vehfb-neon armv7vet2hfb-neon"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vehfb-neon} armv7vehfb-neon-vfpv4"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7vethfb-neon} armv7vehfb-neon-vfpv4 armv7vet2hfb-neon-vfpv4"
|
||||
@@ -0,0 +1,18 @@
|
||||
#
|
||||
#
|
||||
# Defaults for ARMv8.1-M.main
|
||||
#
|
||||
DEFAULTTUNE ?= "armv8-1m-main"
|
||||
|
||||
TUNEVALID[armv8-1m-main] = "Enable instructions for ARMv8.1-m.main"
|
||||
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"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8m-main.inc
|
||||
|
||||
AVAILTUNES += "armv8-1m-main"
|
||||
ARMPKGARCH:tune-armv8-1m-main = "armv8-1m-main"
|
||||
TUNE_FEATURES:tune-armv8-1m-main = "armv8-1m-main"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8-1m-main = "armv8-1m-main"
|
||||
@@ -0,0 +1,19 @@
|
||||
DEFAULTTUNE ?= "armv8-2a"
|
||||
|
||||
TUNEVALID[armv8-2a] = "Enable instructions for ARMv8.2-a"
|
||||
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)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "armv8-2a armv8-2a-crypto"
|
||||
ARMPKGARCH:tune-armv8-2a ?= "armv8-2a"
|
||||
ARMPKGARCH:tune-armv8-2a-crypto ?= "armv8-2a"
|
||||
TUNE_FEATURES:tune-armv8-2a = "aarch64 armv8-2a"
|
||||
TUNE_FEATURES:tune-armv8-2a-crypto = "${TUNE_FEATURES:tune-armv8-2a} crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8-2a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-2a"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} armv8-2a-crypto"
|
||||
BASE_LIB:tune-armv8-2a = "lib64"
|
||||
BASE_LIB:tune-armv8-2a-crypto = "lib64"
|
||||
@@ -0,0 +1,19 @@
|
||||
DEFAULTTUNE ?= "armv8-4a"
|
||||
|
||||
TUNEVALID[armv8-4a] = "Enable instructions for ARMv8.4-a"
|
||||
TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', ' -march=armv8.4-a', '', d)}"
|
||||
# TUNE crypto will be handled by arch-armv8a.inc below
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', 'armv8-4a:', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "armv8-4a armv8-4a-crypto"
|
||||
ARMPKGARCH:tune-armv8-4a ?= "armv8-4a"
|
||||
ARMPKGARCH:tune-armv8-4a-crypto ?= "armv8-4a"
|
||||
TUNE_FEATURES:tune-armv8-4a = "aarch64 armv8-4a"
|
||||
TUNE_FEATURES:tune-armv8-4a-crypto = "${TUNE_FEATURES:tune-armv8-4a} crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8-4a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-4a"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a} armv8-4a-crypto"
|
||||
BASE_LIB:tune-armv8-4a = "lib64"
|
||||
BASE_LIB:tune-armv8-4a-crypto = "lib64"
|
||||
@@ -0,0 +1,19 @@
|
||||
DEFAULTTUNE ?= "armv8-5a"
|
||||
|
||||
TUNEVALID[armv8-5a] = "Enable instructions for ARMv8.5-a"
|
||||
TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-5a', ' -march=armv8.5-a', '', d)}"
|
||||
# TUNE crypto will be handled by arch-armv8a.inc below
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-5a', 'armv8-5a:', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "armv8-5a armv8-5a-crypto"
|
||||
ARMPKGARCH:tune-armv8-5a ?= "armv8-5a"
|
||||
ARMPKGARCH:tune-armv8-5a-crypto ?= "armv8-5a"
|
||||
TUNE_FEATURES:tune-armv8-5a = "aarch64 armv8-5a"
|
||||
TUNE_FEATURES:tune-armv8-5a-crypto = "${TUNE_FEATURES:tune-armv8-5a} crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8-5a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-5a"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a} armv8-5a-crypto"
|
||||
BASE_LIB:tune-armv8-5a = "lib64"
|
||||
BASE_LIB:tune-armv8-5a-crypto = "lib64"
|
||||
@@ -0,0 +1,28 @@
|
||||
DEFAULTTUNE ?= "armv8a-crc"
|
||||
|
||||
TUNEVALID[armv8a] = "Enable instructions for ARMv8-a"
|
||||
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"
|
||||
ARMPKGARCH:tune-armv8a ?= "armv8a"
|
||||
ARMPKGARCH:tune-armv8a-crc ?= "armv8a"
|
||||
ARMPKGARCH:tune-armv8a-crypto ?= "armv8a"
|
||||
ARMPKGARCH:tune-armv8a-crc-crypto ?= "armv8a"
|
||||
TUNE_FEATURES:tune-armv8a = "aarch64 armv8a"
|
||||
TUNE_FEATURES:tune-armv8a-crc = "${TUNE_FEATURES:tune-armv8a} crc"
|
||||
TUNE_FEATURES:tune-armv8a-crypto = "${TUNE_FEATURES:tune-armv8a} crypto"
|
||||
TUNE_FEATURES:tune-armv8a-crc-crypto = "${TUNE_FEATURES:tune-armv8a-crc} crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8a = "aarch64 armv8a"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8a-crc = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8a-crc"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8a-crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} armv8a-crypto armv8a-crc-crypto"
|
||||
BASE_LIB:tune-armv8a = "lib64"
|
||||
BASE_LIB:tune-armv8a-crc = "lib64"
|
||||
BASE_LIB:tune-armv8a-crypto = "lib64"
|
||||
BASE_LIB:tune-armv8a-crc-crypto = "lib64"
|
||||
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Defaults for ARMv8-m.base
|
||||
#
|
||||
DEFAULTTUNE ?= "armv8m-base"
|
||||
|
||||
TUNEVALID[armv8m-base] = "Enable instructions for ARMv8-m.base"
|
||||
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"
|
||||
|
||||
require conf/machine/include/arm/arch-armv7m.inc
|
||||
|
||||
AVAILTUNES += "armv8m-base"
|
||||
ARMPKGARCH:tune-armv8m-base = "armv8m-base"
|
||||
TUNE_FEATURES:tune-armv8m-base = "armv8m-base"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8m-base = "armv8m-base"
|
||||
@@ -0,0 +1,28 @@
|
||||
#
|
||||
# Defaults for ARMv8-m.main
|
||||
#
|
||||
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_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"
|
||||
|
||||
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"
|
||||
ARMPKGARCH:tune-armv8m-maine-vfpv5spd16 = "armv8m-main"
|
||||
TUNE_FEATURES:tune-armv8m-main = "armv8m-main"
|
||||
TUNE_FEATURES:tune-armv8m-maine = "${TUNE_FEATURES:tune-armv8m-main} dsp"
|
||||
TUNE_FEATURES:tune-armv8m-main-vfpv5spd16 = "${TUNE_FEATURES:tune-armv8m-main} vfpv5spd16"
|
||||
TUNE_FEATURES:tune-armv8m-maine-vfpv5spd16 = "${TUNE_FEATURES:tune-armv8m-main-vfpv5spd16} dsp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8m-main = "armv8m-main"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8m-maine = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-maine"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8m-main-vfpv5spd16 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-main-fpv5-spd16"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-maine-fpv5-spd16"
|
||||
@@ -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"
|
||||
@@ -0,0 +1,28 @@
|
||||
DEFAULTTUNE ?= "armv9a-crc"
|
||||
|
||||
TUNEVALID[armv9a] = "Enable instructions for ARMv9-a"
|
||||
TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', ' -march=armv9-a', '', d)}"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', 'armv9a:', '', 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 += "armv9a armv9a-crc armv9a-crc-crypto armv9a-crypto"
|
||||
ARMPKGARCH:tune-armv9a ?= "armv9a"
|
||||
ARMPKGARCH:tune-armv9a-crc ?= "armv9a"
|
||||
ARMPKGARCH:tune-armv9a-crypto ?= "armv9a"
|
||||
ARMPKGARCH:tune-armv9a-crc-crypto ?= "armv9a"
|
||||
TUNE_FEATURES:tune-armv9a = "aarch64 armv9a"
|
||||
TUNE_FEATURES:tune-armv9a-crc = "${TUNE_FEATURES:tune-armv9a} crc"
|
||||
TUNE_FEATURES:tune-armv9a-crypto = "${TUNE_FEATURES:tune-armv9a} crypto"
|
||||
TUNE_FEATURES:tune-armv9a-crc-crypto = "${TUNE_FEATURES:tune-armv9a-crc} crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv9a = "aarch64 armv9a"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv9a-crc = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crc"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crc} armv9a-crypto armv9a-crc-crypto"
|
||||
BASE_LIB:tune-armv9a = "lib64"
|
||||
BASE_LIB:tune-armv9a-crc = "lib64"
|
||||
BASE_LIB:tune-armv9a-crypto = "lib64"
|
||||
BASE_LIB:tune-armv9a-crc-crypto = "lib64"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -0,0 +1,14 @@
|
||||
#
|
||||
# Tune Settings for Cortex-M55
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexm55"
|
||||
|
||||
TUNEVALID[cortexm55] = "Enable Cortex-M55 specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm55', ' -mcpu=cortex-m55', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8-1m-main.inc
|
||||
|
||||
AVAILTUNES += "cortexm55"
|
||||
ARMPKGARCH:tune-cortexm55 = "cortexm55"
|
||||
TUNE_FEATURES:tune-cortexm55 = "${TUNE_FEATURES:tune-armv8-1m-main} cortexm55"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexm55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-1m-main} cortexm55"
|
||||
@@ -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"
|
||||
@@ -0,0 +1,16 @@
|
||||
#
|
||||
# Tune Settings for Cortex-A65
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexa65"
|
||||
|
||||
TUNEVALID[cortexa65] = "Enable Cortex-A65 specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa65', ' -mcpu=cortex-a65', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8-2a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "cortexa65"
|
||||
ARMPKGARCH:tune-cortexa65 = "cortexa65"
|
||||
TUNE_FEATURES:tune-cortexa65 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa65"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa65 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa65"
|
||||
BASE_LIB:tune-cortexa65 = "lib64"
|
||||
@@ -0,0 +1,16 @@
|
||||
#
|
||||
# Tune Settings for Cortex-A65AE
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexa65ae"
|
||||
|
||||
TUNEVALID[cortexa65ae] = "Enable Cortex-A65AE specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa65ae', ' -mcpu=cortex-a65ae', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8-2a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "cortexa65ae"
|
||||
ARMPKGARCH:tune-cortexa65ae = "cortexa65ae"
|
||||
TUNE_FEATURES:tune-cortexa65ae = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa65ae"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa65ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa65ae"
|
||||
BASE_LIB:tune-cortexa65ae = "lib64"
|
||||
@@ -0,0 +1,20 @@
|
||||
#
|
||||
# Tune Settings for big.LITTLE Cortex-A75 - Cortex-A55
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexa75-cortexa55"
|
||||
|
||||
TUNEVALID[cortexa75-cortexa55] = "Enable big.LITTLE Cortex-A75.Cortex-A55 specific processor optimizations"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", "cortexa75-cortexa55:", "", d)}"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", " -mcpu=cortex-a75.cortex-a55", "", d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8-2a.inc
|
||||
|
||||
AVAILTUNES += "cortexa75-cortexa55 cortexa75-cortexa55-crypto"
|
||||
ARMPKGARCH:tune-cortexa75-cortexa55 = "cortexa75-cortexa55"
|
||||
ARMPKGARCH:tune-cortexa75-cortexa55-crypto = "cortexa75-cortexa55-crypto"
|
||||
TUNE_FEATURES:tune-cortexa75-cortexa55 = "${TUNE_FEATURES:tune-armv8-2a} cortexa75-cortexa55"
|
||||
TUNE_FEATURES:tune-cortexa75-cortexa55-crypto = "${TUNE_FEATURES:tune-cortexa75-cortexa55} crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa75-cortexa55"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75-cortexa55 cortexa75-cortexa55-crypto"
|
||||
BASE_LIB:tune-cortexa75-cortexa55 = "lib64"
|
||||
BASE_LIB:tune-cortexa75-cortexa55-crypto = "lib64"
|
||||
@@ -0,0 +1,16 @@
|
||||
#
|
||||
# Tune Settings for Cortex-A75
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexa75"
|
||||
|
||||
TUNEVALID[cortexa75] = "Enable Cortex-A75 specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa75', ' -mcpu=cortex-a75', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8-2a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "cortexa75"
|
||||
ARMPKGARCH:tune-cortexa75 = "cortexa75"
|
||||
TUNE_FEATURES:tune-cortexa75 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa75"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa75 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75"
|
||||
BASE_LIB:tune-cortexa75 = "lib64"
|
||||
@@ -0,0 +1,20 @@
|
||||
#
|
||||
# Tune Settings for big.LITTLE Cortex-A76 - Cortex-A55
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexa76-cortexa55"
|
||||
|
||||
TUNEVALID[cortexa76-cortexa55] = "Enable big.LITTLE Cortex-A76.Cortex-A55 specific processor optimizations"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", "cortexa76-cortexa55:", "", d)}"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", " -mcpu=cortex-a76.cortex-a55", "", d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8-2a.inc
|
||||
|
||||
AVAILTUNES += "cortexa76-cortexa55 cortexa76-cortexa55-crypto"
|
||||
ARMPKGARCH:tune-cortexa76-cortexa55 = "cortexa76-cortexa55"
|
||||
ARMPKGARCH:tune-cortexa76-cortexa55-crypto = "cortexa76-cortexa55-crypto"
|
||||
TUNE_FEATURES:tune-cortexa76-cortexa55 = "${TUNE_FEATURES:tune-armv8-2a} cortexa76-cortexa55"
|
||||
TUNE_FEATURES:tune-cortexa76-cortexa55-crypto = "${TUNE_FEATURES:tune-cortexa76-cortexa55} crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa76-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa76-cortexa55"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa76-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76-cortexa55 cortexa76-cortexa55-crypto"
|
||||
BASE_LIB:tune-cortexa76-cortexa55 = "lib64"
|
||||
BASE_LIB:tune-cortexa76-cortexa55-crypto = "lib64"
|
||||
@@ -0,0 +1,16 @@
|
||||
#
|
||||
# Tune Settings for Cortex-A76
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexa76"
|
||||
|
||||
TUNEVALID[cortexa76] = "Enable Cortex-A76 specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa76', ' -mcpu=cortex-a76', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8-2a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "cortexa76"
|
||||
ARMPKGARCH:tune-cortexa76 = "cortexa76"
|
||||
TUNE_FEATURES:tune-cortexa76 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa76"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa76 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76"
|
||||
BASE_LIB:tune-cortexa76 = "lib64"
|
||||
@@ -0,0 +1,16 @@
|
||||
#
|
||||
# Tune Settings for Cortex-A76AE
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexa76ae"
|
||||
|
||||
TUNEVALID[cortexa76ae] = "Enable Cortex-A76AE specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa76ae', ' -mcpu=cortex-a76ae', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8-2a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "cortexa76ae"
|
||||
ARMPKGARCH:tune-cortexa76ae = "cortexa76ae"
|
||||
TUNE_FEATURES:tune-cortexa76ae = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa76ae"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa76ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76ae"
|
||||
BASE_LIB:tune-cortexa76ae = "lib64"
|
||||
@@ -0,0 +1,16 @@
|
||||
#
|
||||
# Tune Settings for Cortex-A77
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexa77"
|
||||
|
||||
TUNEVALID[cortexa77] = "Enable Cortex-A77 specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa77', ' -mcpu=cortex-a77', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8-2a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "cortexa77"
|
||||
ARMPKGARCH:tune-cortexa77 = "cortexa77"
|
||||
TUNE_FEATURES:tune-cortexa77 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa77"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa77 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa77"
|
||||
BASE_LIB:tune-cortexa77 = "lib64"
|
||||
@@ -0,0 +1,16 @@
|
||||
#
|
||||
# Tune Settings for Neoverse-E1
|
||||
#
|
||||
DEFAULTTUNE ?= "neoversee1"
|
||||
|
||||
TUNEVALID[neoversee1] = "Enable Neoverse-E1 specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversee1', ' -mcpu=neoverse-e1', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8-2a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "neoversee1"
|
||||
ARMPKGARCH:tune-neoversee1 = "neoversee1"
|
||||
TUNE_FEATURES:tune-neoversee1 = "${TUNE_FEATURES:tune-armv8-2a-crypto} neoversee1"
|
||||
PACKAGE_EXTRA_ARCHS:tune-neoversee1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} neoversee1"
|
||||
BASE_LIB:tune-neoversee1 = "lib64"
|
||||
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Tune Settings for Neoverse-N1
|
||||
#
|
||||
DEFAULTTUNE ?= "neoversen1"
|
||||
|
||||
TUNEVALID[neoversen1] = "Enable Neoverse-N1 specific processor optimizations"
|
||||
# Note: Neoverse was called Ares, and GCC will accept "ares" in place of "neoverse-n1"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversen1', ' -mcpu=neoverse-n1', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8-2a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "neoversen1"
|
||||
ARMPKGARCH:tune-neoversen1 = "neoversen1"
|
||||
TUNE_FEATURES:tune-neoversen1 = "${TUNE_FEATURES:tune-armv8-2a-crypto} neoversen1"
|
||||
PACKAGE_EXTRA_ARCHS:tune-neoversen1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} neoversen1"
|
||||
BASE_LIB:tune-neoversen1 = "lib64"
|
||||
@@ -0,0 +1,13 @@
|
||||
DEFAULTTUNE ?= "octeontx2"
|
||||
|
||||
TUNEVALID[octeontx2] = "Enable Marvell octeontx2 specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'octeontx2', ' -mcpu=octeontx2', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8-2a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "octeontx2"
|
||||
ARMPKGARCH:tune-octeontx2 = "octeontx2"
|
||||
TUNE_FEATURES:tune-octeontx2 = "${TUNE_FEATURES:tune-armv8-2a-crypto} octeontx2"
|
||||
PACKAGE_EXTRA_ARCHS:tune-octeontx2 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} octeontx2"
|
||||
BASE_LIB:tune-octeontx2 = "lib64"
|
||||
@@ -0,0 +1,14 @@
|
||||
#
|
||||
# Tune Settings for Cortex-M23
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexm23"
|
||||
|
||||
TUNEVALID[cortexm23] = "Enable Cortex-M23 specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm23', ' -mcpu=cortex-m23', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8m-base.inc
|
||||
|
||||
AVAILTUNES += "cortexm23"
|
||||
ARMPKGARCH:tune-cortexm23 = "cortexm23"
|
||||
TUNE_FEATURES:tune-cortexm23 = "${TUNE_FEATURES:tune-armv8m-base} cortexm23"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexm23 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-base} cortexm23"
|
||||
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Tune Settings for Cortex-M33
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexm33"
|
||||
|
||||
TUNEVALID[cortexm33] = "Enable Cortex-M33 specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm33', ' -mcpu=cortex-m33', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8m-main.inc
|
||||
|
||||
# GCC thnks that DSP and VFP are required, but Arm docs say it is
|
||||
# optional. So forcing below so that compiling works, but this should
|
||||
# be fixed in GCC
|
||||
AVAILTUNES += "cortexm33"
|
||||
ARMPKGARCH:tune-cortexm33 = "cortexm33"
|
||||
TUNE_FEATURES:tune-cortexm33 = "${TUNE_FEATURES:tune-armv8m-maine-vfpv5spd16} cortexm33"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexm33 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16} cortexm33e-fpv5-spd16"
|
||||
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Tune Settings for Cortex-M35P
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexm35p"
|
||||
|
||||
TUNEVALID[cortexm35p] = "Enable Cortex-M35p specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm35p', ' -mcpu=cortex-m35p', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8m-main.inc
|
||||
|
||||
# GCC thnks that DSP and VFP are required, but Arm docs say it is
|
||||
# optional. So forcing below so that compiling works, but this should
|
||||
# be fixed in GCC
|
||||
AVAILTUNES += "cortexm35p"
|
||||
ARMPKGARCH:tune-cortexm35p = "cortexm35p"
|
||||
TUNE_FEATURES:tune-cortexm35p = "${TUNE_FEATURES:tune-armv8m-maine-vfpv5spd16} cortexm35p"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexm35p = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16} cortexm35pe-fpv5-spd16"
|
||||
@@ -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"
|
||||
@@ -0,0 +1,20 @@
|
||||
#
|
||||
# Tune Settings for Cortex-A34
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexa34"
|
||||
|
||||
TUNEVALID[cortexa34] = "Enable Cortex-A34 specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa34', ' -mcpu=cortex-a34', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "cortexa34 cortexa34-crypto"
|
||||
ARMPKGARCH:tune-cortexa34 = "cortexa34"
|
||||
ARMPKGARCH:tune-cortexa34-crypto = "cortexa34"
|
||||
TUNE_FEATURES:tune-cortexa34 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa34"
|
||||
TUNE_FEATURES:tune-cortexa34-crypto = "${TUNE_FEATURES:tune-cortexa34} crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa34 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa34"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa34-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa34 cortexa34-crypto"
|
||||
BASE_LIB:tune-cortexa34 = "lib64"
|
||||
BASE_LIB:tune-cortexa34-crypto = "lib64"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
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 cortexa72-crypto"
|
||||
ARMPKGARCH:tune-cortexa72 = "cortexa72"
|
||||
ARMPKGARCH:tune-cortexa72-crypto = "cortexa72"
|
||||
TUNE_FEATURES:tune-cortexa72 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa72"
|
||||
TUNE_FEATURES:tune-cortexa72-crypto = "${TUNE_FEATURES:tune-cortexa72} crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa72 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa72"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa72-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa72 cortexa72-crypto"
|
||||
BASE_LIB:tune-cortexa72 = "lib64"
|
||||
BASE_LIB:tune-cortexa72-crypto = "lib64"
|
||||
@@ -0,0 +1,21 @@
|
||||
#
|
||||
# Tune Settings for big.LITTLE Cortex-A73 - Cortex-A35
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexa73-cortexa35"
|
||||
|
||||
TUNEVALID[cortexa73-cortexa35] = "Enable big.LITTLE Cortex-A73.Cortex-A35 specific processor optimizations"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa35", "cortexa73-cortexa35:", "", d)}"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa35", " -mcpu=cortex-a73.cortex-a35", "", d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8a.inc
|
||||
|
||||
# cortexa73.cortexa35 implies crc support
|
||||
AVAILTUNES += "cortexa73-cortexa35 cortexa73-cortexa35-crypto"
|
||||
ARMPKGARCH:tune-cortexa73-cortexa35 = "cortexa73-cortexa35"
|
||||
ARMPKGARCH:tune-cortexa73-cortexa35-crypto = "cortexa73-cortexa35-crypto"
|
||||
TUNE_FEATURES:tune-cortexa73-cortexa35 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa73-cortexa35"
|
||||
TUNE_FEATURES:tune-cortexa73-cortexa35-crypto = "${TUNE_FEATURES:tune-cortexa73-cortexa35} crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa35 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa73-cortexa35"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa73-cortexa35-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa73-cortexa35 cortexa73-cortexa35-crypto"
|
||||
BASE_LIB:tune-cortexa73-cortexa35 = "lib64"
|
||||
BASE_LIB:tune-cortexa73-cortexa35-crypto = "lib64"
|
||||
@@ -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"
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#
|
||||
# Tune Settings for Cortex-A73
|
||||
#
|
||||
DEFAULTTUNE ?= "cortexa73"
|
||||
|
||||
TUNEVALID[cortexa73] = "Enable Cortex-A73 specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa73', ' -mcpu=cortex-a73', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "cortexa73 cortexa73-crypto"
|
||||
ARMPKGARCH:tune-cortexa73 = "cortexa73"
|
||||
ARMPKGARCH:tune-cortexa73-crypto = "cortexa73"
|
||||
TUNE_FEATURES:tune-cortexa73 = "${TUNE_FEATURES:tune-armv8a-crc} cortexa73"
|
||||
TUNE_FEATURES:tune-cortexa73-crypto = "${TUNE_FEATURES:tune-cortexa73} crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa73 = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc} cortexa73"
|
||||
PACKAGE_EXTRA_ARCHS:tune-cortexa73-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8a-crc-crypto} cortexa73 cortexa73-crypto"
|
||||
BASE_LIB:tune-cortexa73 = "lib64"
|
||||
BASE_LIB:tune-cortexa73-crypto = "lib64"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -0,0 +1,20 @@
|
||||
#
|
||||
# Tune Settings for Neoverse-N2
|
||||
#
|
||||
DEFAULTTUNE ?= "neoversen2"
|
||||
|
||||
TUNEVALID[neoversen2] = "Enable Neoverse-N2 specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversen2', ' -mcpu=neoverse-n2', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv9a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "neoversen2 neoversen2-crypto"
|
||||
ARMPKGARCH:tune-neoversen2 = "neoversen2"
|
||||
ARMPKGARCH:tune-neoversen2-crypto = "neoversen2-crypto"
|
||||
TUNE_FEATURES:tune-neoversen2 = "${TUNE_FEATURES:tune-armv9a} neoversen2"
|
||||
TUNE_FEATURES:tune-neoversen2-crypto = "${TUNE_FEATURES:tune-neoversen2} crypto"
|
||||
PACKAGE_EXTRA_ARCHS:tune-neoversen2 = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} neoversen2"
|
||||
PACKAGE_EXTRA_ARCHS:tune-neoversen2-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto} neoversen2 neoversen2-crypto"
|
||||
BASE_LIB:tune-neoversen2 = "lib64"
|
||||
BASE_LIB:tune-neoversen2-crypto = "lib64"
|
||||
@@ -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)}"
|
||||
@@ -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)}"
|
||||
@@ -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)}"
|
||||
@@ -0,0 +1,2 @@
|
||||
TUNEVALID[idiv] = "ARM-state integer division instructions"
|
||||
TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'idiv', '+idiv', '', d)}"
|
||||
@@ -0,0 +1,26 @@
|
||||
# GCC supports following options:
|
||||
# 'vfp', 'vfpv3', 'vfpv3-fp16', 'vfpv3-d16', 'vfpv3-d16-fp16', 'vfpv3xd', 'vfpv3xd-fp16', 'neon', 'neon-fp16', 'vfpv4', 'vfpv4-d16', 'fpv4-sp-d16', 'neon-vfpv4', 'fpv5-d16', 'fpv5-sp-d16', 'fp-armv8', 'neon-fp-armv8', and 'crypto-neon-fp-armv8'
|
||||
|
||||
# Only some combinations are supported here.
|
||||
# 'vfp', -mfloat-abi parameter and 'hf' suffix is implemented in feature-arm-vfp.inc
|
||||
|
||||
TUNEVALID[neon] = "Enable Neon SIMD accelerator unit."
|
||||
TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'neon', ' neon', '', d)}"
|
||||
|
||||
TUNEVALID[vfpv3d16] = "Enable Vector Floating Point Version 3 with 16 registers (vfpv3-d16) unit."
|
||||
TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', ' vfpv3-d16', '', d)}"
|
||||
|
||||
TUNEVALID[vfpv3] = "Enable Vector Floating Point Version 3 with 32 registers (vfpv3) unit."
|
||||
TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv3', ' vfpv3', '' , d)}"
|
||||
|
||||
TUNEVALID[vfpv4] = "Enable Vector Floating Point Version 4 (vfpv4) unit."
|
||||
TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv4', ' vfpv4', '', d)}"
|
||||
TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv4', 'neon' ], ' neon-vfpv4', '', d)}"
|
||||
|
||||
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)}"
|
||||
@@ -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)}"
|
||||
@@ -0,0 +1,33 @@
|
||||
|
||||
TUNEVALID[thumb] = "Support Thumb instructions"
|
||||
|
||||
# If the device supports ARM, then respect ARM_THUMB_OPT (which can be "arm" or "thumb")
|
||||
# If the device doesn't support ARM, then always set "thumb" even when
|
||||
# some recipe explicitly sets ARM_INSTRUCTION_SET to "arm"
|
||||
ARM_THUMB_OPT = "${@['arm', 'thumb'][d.getVar('ARM_INSTRUCTION_SET') == 'thumb']}"
|
||||
ARM_M_OPT = "${@bb.utils.contains('TUNE_FEATURES', 'arm', '${ARM_THUMB_OPT}', 'thumb', d)}"
|
||||
|
||||
python () {
|
||||
if bb.utils.contains('TUNE_FEATURES', 'thumb', False, True, d):
|
||||
return
|
||||
selected = d.getVar('ARM_INSTRUCTION_SET')
|
||||
if selected == None:
|
||||
return
|
||||
used = d.getVar('ARM_M_OPT')
|
||||
if selected != used:
|
||||
pn = d.getVar('PN')
|
||||
bb.warn("Recipe '%s' selects ARM_INSTRUCTION_SET to be '%s', but tune configuration overrides it to '%s'" % (pn, selected, used))
|
||||
}
|
||||
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ' -m${ARM_M_OPT}', '', d)}"
|
||||
|
||||
ARM_THUMB_SUFFIX = "t2"
|
||||
ARM_THUMB_SUFFIX:armv4 = "t"
|
||||
ARM_THUMB_SUFFIX:armv5 = "t"
|
||||
ARM_THUMB_SUFFIX:armv6 = "t"
|
||||
|
||||
# Add suffix from ARM_THUMB_SUFFIX only if after all this we still set ARM_M_OPT to thumb
|
||||
ARMPKGSFX_THUMB .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${ARM_THUMB_SUFFIX}', '', d) if d.getVar('ARM_M_OPT') == 'thumb' else ''}"
|
||||
|
||||
# what about armv7m devices which don't support -marm (e.g. Cortex-M3)?
|
||||
TARGET_CC_KERNEL_ARCH += "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '-mno-thumb-interwork -marm', '', d)}"
|
||||
@@ -0,0 +1,15 @@
|
||||
# This is only for VFPv1 or VFPv2, other vfp* tunes are defined in
|
||||
# feature-arm-neon.inc, because they are available only for armv7*
|
||||
# and this .inc file is included from armv5
|
||||
|
||||
TUNEVALID[vfp] = "Enable Vector Floating Point (vfp) unit."
|
||||
TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfp', ' vfp', '', d)}"
|
||||
|
||||
TUNE_CCARGS .= "${@ (' -mfpu=%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1]) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
|
||||
# The following deals with both vfpv3-d16 and vfpv4-d16
|
||||
ARMPKGSFX_FPU = "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1].replace('-d16', 'd16')) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
|
||||
|
||||
TUNEVALID[callconvention-hard] = "Enable EABI hard float call convention, requires VFP."
|
||||
TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d) if (d.getVar('TUNE_CCARGS_MFPU') != '') else '' }"
|
||||
TUNE_CCARGS .= "${@ ' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}"
|
||||
ARMPKGSFX_EABI = "${@ 'hf' if (d.getVar('TUNE_CCARGS_MFLOAT') == 'hard') else ''}"
|
||||
@@ -0,0 +1,7 @@
|
||||
# LoongArch Architecture definition
|
||||
|
||||
DEFAULTTUNE ?= "loongarch64"
|
||||
|
||||
TUNE_ARCH = "${TUNE_ARCH:tune-${DEFAULTTUNE}}"
|
||||
TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
|
||||
TUNE_CCARGS:append = "${@bb.utils.contains('TUNE_FEATURES', 'loongarch64', ' -march=la464 -mabi=lp64d', ' ', d)}"
|
||||
@@ -0,0 +1,35 @@
|
||||
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
|
||||
|
||||
require conf/machine/include/qemu.inc
|
||||
require conf/machine/include/loongarch/tune-loongarch.inc
|
||||
|
||||
MACHINE_FEATURES = "screen keyboard ext2 ext3 serial"
|
||||
|
||||
KERNEL_IMAGETYPE = "vmlinuz"
|
||||
KERNEL_IMAGETYPES += "vmlinuz"
|
||||
KEEPUIMAGE = "no"
|
||||
|
||||
SERIAL_CONSOLES ?= "115200;ttyS0 115200;hvc0"
|
||||
|
||||
IMAGE_FSTYPES += "ext4 wic.qcow2"
|
||||
|
||||
WKS_FILE ?= "qemuloongarch.wks"
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS += " kernel-modules"
|
||||
|
||||
#EXTRA_IMAGEDEPENDS += "opensbi"
|
||||
|
||||
UBOOT_ENTRYPOINT_loongarch32 = "0x80400000"
|
||||
UBOOT_ENTRYPOINT_loongarch64 = "0x80200000"
|
||||
|
||||
# qemuboot options
|
||||
QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi"
|
||||
QB_MACHINE = "-machine virt"
|
||||
QB_DEFAULT_BIOS = "fw_jump.elf"
|
||||
QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
|
||||
QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
|
||||
QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"
|
||||
QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
|
||||
QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
|
||||
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
|
||||
QB_OPT_APPEND = " -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-device,rng=rng0"
|
||||
@@ -0,0 +1,13 @@
|
||||
require conf/machine/include/loongarch/arch-loongarch.inc
|
||||
|
||||
TUNEVALID[loongarch64] = "Enable 64-bit LoongArch optimizations"
|
||||
|
||||
TUNEVALID[littleendian] = "Little endian mode"
|
||||
|
||||
AVAILTUNES += "loongarch64"
|
||||
|
||||
# Default
|
||||
TUNE_FEATURES:tune-loongarch64 = "loongarch64"
|
||||
TUNE_ARCH:tune-loongarch64 = "loongarch64"
|
||||
TUNE_PKGARCH:tune-loongarch64 = "loongarch64"
|
||||
PACKAGE_EXTRA_ARCHS:tune-loongarch64 = "loongarch64"
|
||||
@@ -0,0 +1,8 @@
|
||||
# m68k Architecture definitions
|
||||
|
||||
DEFAULTTUNE ?= "m68k"
|
||||
|
||||
# Architecture name
|
||||
TUNE_ARCH = "m68k"
|
||||
|
||||
TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}"
|
||||
@@ -0,0 +1,13 @@
|
||||
DEFAULTTUNE ?= "mcf5441x"
|
||||
|
||||
require conf/machine/include/m68k/arch-m68k.inc
|
||||
|
||||
TUNEVALID[mcf5441x] = "Enable coldfire specific processor optimizations"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mcf5441x', ' -mcpu=54418', '', d)}"
|
||||
|
||||
AVAILTUNES += "mcf5441x"
|
||||
TUNE_FEATURES:tune-mcf5441x = "mcf5441x"
|
||||
TUNE_ARCH:tune-mcf5441x = "mcf5441x"
|
||||
TUNE_PKGARCH:tune-mcf5441x = "mcf5441x"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mcf5441x = "m68k mcf5441x"
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
# MicroBlaze architecture tune feature configuration
|
||||
|
||||
# Architecture feature and override
|
||||
TUNEVALID[microblaze] = "MicroBlaze"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "microblaze", "microblaze:", "", d)}"
|
||||
|
||||
# 64-bit
|
||||
TUNEVALID[64-bit] = "64-bit MicroBlaze"
|
||||
TUNECONFLICTS[64-bit] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2 v9.3 v9.4 v9.5 v9.6 v10.0"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "64-bit", "microblaze64:", "", d)}"
|
||||
|
||||
# Endian
|
||||
TUNEVALID[bigendian] = "Use Microblaze Big Endian"
|
||||
TUNECONFLICTS[bigendian] = "v10.0"
|
||||
|
||||
MBPKGARCH_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "eb", "el", d)}"
|
||||
|
||||
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mbig-endian", " -mlittle-endian", d)}"
|
||||
|
||||
# General features
|
||||
TUNEVALID[barrel-shift] = "Enable Hardware Barrel Shifter"
|
||||
TUNEVALID[pattern-compare] = "Enable Pattern Compare Instructions"
|
||||
TUNEVALID[reorder] = "Enable Reorder Instructions"
|
||||
TUNECONFLICTS[reorder] = "v8.00 v8.10 v8.20"
|
||||
|
||||
# Core configuration tune optimizations
|
||||
TUNEVALID[frequency-optimized] = "Enabling tuning for frequency optimized core (AREA_OPTIMIZED_2)"
|
||||
TUNECONFLICTS[frequency-optimized] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2 v9.3 v9.4 v9.5 v9.6"
|
||||
|
||||
# Feature compiler args
|
||||
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "barrel-shift", " -mxl-barrel-shift", " -mno-xl-barrel-shift", d)}"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "pattern-compare", " -mxl-pattern-compare", " -mno-xl-pattern-compare", d)}"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "frequency-optimized", " -mxl-frequency", "", d)}"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "64-bit", " -m64", "", d)}"
|
||||
|
||||
# Disable reorder for v8.30 if pattern-compare is not enabled
|
||||
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "reorder", \
|
||||
bb.utils.contains("TUNE_FEATURES", "v8.30", \
|
||||
bb.utils.contains("TUNE_FEATURES", "pattern-compare", \
|
||||
" -mxl-reorder", " -mno-xl-reorder", d), \
|
||||
" -mxl-reorder", d), " -mno-xl-reorder", d)}"
|
||||
|
||||
# Feature package architecture formatting
|
||||
MBPKGARCH_TUNE = ""
|
||||
MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "barrel-shift", "-bs", "", d)}"
|
||||
MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "pattern-compare", "-cmp", "", d)}"
|
||||
MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "reorder", "-re", "", d)}"
|
||||
MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "frequency-optimized", "-fo", "", d)}"
|
||||
|
||||
# Additional features
|
||||
require conf/machine/include/microblaze/feature-microblaze-versions.inc
|
||||
require conf/machine/include/microblaze/feature-microblaze-math.inc
|
||||
|
||||
# Architecture name, either 'microblaze' or 'microblazeel' depending on endianess
|
||||
TUNE_ARCH = "microblaze${@bb.utils.contains("TUNE_FEATURES", "bigendian", "", "el", d)}"
|
||||
|
||||
# Add 64-bit to the PKGARCH if enabled.
|
||||
MBPKGARCH_SIZE = "${@bb.utils.contains("TUNE_FEATURES", "64-bit", "64", "", d)}"
|
||||
|
||||
# Package Architecture formatting
|
||||
TUNE_PKGARCH = "microblaze${MBPKGARCH_SIZE}${MBPKGARCH_ENDIAN}${MBPKGARCH_VERSION}${MBPKGARCH_TUNE}${MBPKGARCH_MATH}"
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# This include describes the math features (integer and floating point) that
|
||||
# are available for the MicroBlaze ISA
|
||||
|
||||
TUNEVALID[multiply-low] = "Hardware multipler with 32 bit result"
|
||||
TUNEVALID[multiply-high] = "Hardware multipler with 64 bit result"
|
||||
TUNEVALID[divide-hard] = "Hardware divider"
|
||||
TUNEVALID[fpu-soft] = "Software FPU"
|
||||
TUNEVALID[fpu-hard] = "Hardware FPU in basic mode"
|
||||
TUNEVALID[fpu-hard-extended] = "Hardware FPU in extended mode (conversion and square root instructions)"
|
||||
|
||||
TUNECONFLICTS[fpu-soft] = "fpu-hard fpu-hard-extended"
|
||||
TUNECONFLICTS[fpu-hard] = "fpu-soft"
|
||||
TUNECONFLICTS[fpu-hard-extended] = "fpu-soft"
|
||||
|
||||
# Compiler args
|
||||
TUNE_CCARGS .= "${@bb.utils.contains_any('TUNE_FEATURES', ['multiply-low', 'multiply-high'], ' -mno-xl-soft-mul', ' -mxl-soft-mul', d)}"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'multiply-high', ' -mxl-multiply-high', '', d)}"
|
||||
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'divide-hard', ' -mno-xl-soft-div', ' -mxl-soft-div', d)}"
|
||||
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-soft', '', '', d)}"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains_any('TUNE_FEATURES', ['fpu-hard', 'fpu-hard-extended'], ' -mhard-float', '', d)}"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard-extended', ' -mxl-float-convert -mxl-float-sqrt', '', d)}"
|
||||
|
||||
# Set target fpu (bitbake known target) to soft or hard (basic or extended)
|
||||
TARGET_FPU = "${@bb.utils.contains_any('TUNE_FEATURES', 'fpu-hard fpu-hard-extended', 'fpu-hard', 'fpu-soft', d)}"
|
||||
|
||||
# Package Architecture formatting
|
||||
MBPKGARCH_MATH = ""
|
||||
MBPKGARCH_MATH .= "${@bb.utils.contains('TUNE_FEATURES', 'multiply-high', '-mh', bb.utils.contains('TUNE_FEATURES', 'multiply-low', '-ml', '', d), d)}"
|
||||
MBPKGARCH_MATH .= "${@bb.utils.contains('TUNE_FEATURES', 'divide-hard', '-div', '', d)}"
|
||||
MBPKGARCH_MATH .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard-extended', '-fe', bb.utils.contains('TUNE_FEATURES', 'fpu-hard', '-fb', '', d), d)}"
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
# MicroBlaze versions are defined as features, the features are setup to
|
||||
# conflict with other versions as well as unavailable features for particular
|
||||
# versions.
|
||||
#
|
||||
# Versions before v9.0 of MicroBlaze use a versioning scheme of "vX.YY.Z"
|
||||
# (where Z = [abc]). For v8.* versions of MicroBlaze the revision (Z) changes
|
||||
# did not affect ABI and are ignored by this tune configuration. Though this
|
||||
# format is expected by GCC including the revision, but this is defaulted to
|
||||
# ".a".
|
||||
#
|
||||
# Since v9.0 of MicroBlaze the revision (Z) part of versions was entirely
|
||||
# dropped and the version scheme was changed to "vX.Y".
|
||||
|
||||
def microblaze_current_version(d, gcc = False):
|
||||
import re
|
||||
# find the current version, and convert it to major/minor integers
|
||||
version = None
|
||||
for t in (d.getVar("TUNE_FEATURES") or "").split():
|
||||
m = re.search("^v(\d+)\.(\d+)", t)
|
||||
if m:
|
||||
version = int(m.group(1)), int(m.group(2))
|
||||
break
|
||||
|
||||
# format the version string in generic or GCC specific formats
|
||||
if version:
|
||||
if version[0] <= 8:
|
||||
return ("v%d.%02d" % version[0:2]) + (".a" if gcc else "")
|
||||
else:
|
||||
return "v%d.%d" % version[0:2]
|
||||
return ""
|
||||
|
||||
# MicroBlaze versions
|
||||
TUNEVALID[v8.00] = "MicroBlaze version 8.00"
|
||||
TUNEVALID[v8.10] = "MicroBlaze version 8.10"
|
||||
TUNEVALID[v8.20] = "MicroBlaze version 8.20"
|
||||
TUNEVALID[v8.30] = "MicroBlaze version 8.30"
|
||||
TUNEVALID[v8.40] = "MicroBlaze version 8.40"
|
||||
TUNEVALID[v8.50] = "MicroBlaze version 8.50"
|
||||
TUNEVALID[v9.0] = "MicroBlaze version 9.0"
|
||||
TUNEVALID[v9.1] = "MicroBlaze version 9.1"
|
||||
TUNEVALID[v9.2] = "MicroBlaze version 9.2"
|
||||
TUNEVALID[v9.3] = "MicroBlaze version 9.3"
|
||||
TUNEVALID[v9.4] = "MicroBlaze version 9.4"
|
||||
TUNEVALID[v9.5] = "MicroBlaze version 9.5"
|
||||
TUNEVALID[v9.6] = "MicroBlaze version 9.6"
|
||||
TUNEVALID[v10.0] = "MicroBlaze version 10.0"
|
||||
TUNEVALID[v11.0] = "MicroBlaze version 11.0"
|
||||
|
||||
# Version conflict matrix
|
||||
TUNECONFLICTS[v8.00] = ""
|
||||
TUNECONFLICTS[v8.10] = "v8.00"
|
||||
TUNECONFLICTS[v8.20] = "v8.00 v8.10"
|
||||
TUNECONFLICTS[v8.30] = "v8.00 v8.10 v8.20"
|
||||
TUNECONFLICTS[v8.40] = "v8.00 v8.10 v8.20 v8.30"
|
||||
TUNECONFLICTS[v8.50] = "v8.00 v8.10 v8.20 v8.30 v8.40"
|
||||
TUNECONFLICTS[v9.0] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50"
|
||||
TUNECONFLICTS[v9.1] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0"
|
||||
TUNECONFLICTS[v9.2] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1"
|
||||
TUNECONFLICTS[v9.3] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2"
|
||||
TUNECONFLICTS[v9.4] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2 v9.3"
|
||||
TUNECONFLICTS[v9.5] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2 v9.3 v9.4"
|
||||
TUNECONFLICTS[v9.6] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2 v9.3 v9.4 v9.5"
|
||||
TUNECONFLICTS[v10.0] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2 v9.3 v9.4 v9.5 v9.6"
|
||||
TUNECONFLICTS[v11.0] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2 v9.3 v9.4 v9.5 v9.6 v10.0"
|
||||
|
||||
# Version flags
|
||||
TUNE_CCARGS += "${@'-mcpu=%s' % (microblaze_current_version(d, True)) if microblaze_current_version(d, True) != '' else ''}"
|
||||
MBPKGARCH_VERSION = "${@'-%s' % (microblaze_current_version(d, True)) if microblaze_current_version(d, True) != '' else ''}"
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
DEFAULTTUNE ?= "microblaze"
|
||||
|
||||
require conf/machine/include/microblaze/arch-microblaze.inc
|
||||
|
||||
AVAILTUNES += "microblaze"
|
||||
TUNE_FEATURES:tune-microblaze = "microblaze"
|
||||
PACKAGE_EXTRA_ARCHS:tune-microblaze = "${TUNE_PKGARCH}"
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
2016/09/30 - Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
|
||||
- Add Release 6 support
|
||||
|
||||
2012/03/30 - Mark Hatle <mark.hatle@windriver.com>
|
||||
- Initial Version
|
||||
|
||||
MIPS currently defines 12 ABIs. Combinations of:
|
||||
*) Big/Little Endian
|
||||
*) Hardware/Software Floating Point
|
||||
*) o32, n32, n64 ABI
|
||||
|
||||
Release 6 of the ISA is a major revision and doesn't build up on previous
|
||||
releases of the ISA.
|
||||
|
||||
For more details about tuples, check https://wiki.debian.org/Multiarch/Tuples
|
||||
|
||||
TUNE_ARCH, the GNU canonical arch, is defined as:
|
||||
|
||||
"mips${MIPSPKGSFX_32R6}${MIPSPKGSFX_64R6}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}"
|
||||
|
||||
The package arch is defined in such a way to generated a standard naming
|
||||
scheme. The scheme is: <mips variant>[-nf][-n32]
|
||||
|
||||
TUNE_PKGARCH is defined as:
|
||||
|
||||
${MIPSPKGSFX_VARIANT:tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}
|
||||
|
||||
The following is a list of MIPS specific variables:
|
||||
|
||||
MIPSPKGSFX_BYTE - This is defined as either blank and "64" for MIPS64 CPUs.
|
||||
|
||||
MIPSPKGSFX_ENDIAN - For bigendian hardware this is blank, otherwise it's
|
||||
defined as "el".
|
||||
|
||||
MIPSPKGSFX_ENDIAN2 - For bigendian hardware this is "eb", otherwise it's
|
||||
defined as "el".
|
||||
|
||||
MIPSPKGSFX_VARIANT:tune-<tune> - In the default tunings it is set to the
|
||||
same value as TUNE_ARCH. In custom, optimized tunings, the value should
|
||||
be modified to more precisely describe the tuning.
|
||||
|
||||
MIPSPKGSFX_FPU - The value is set to "" or "-nf", where "-nf" indicates
|
||||
that the tune is using a non-floating point ABI.
|
||||
|
||||
MIPSPKGSFX_ABI - This is used to specify an alternative ABI when the previous
|
||||
values are not enough to distringuish the package. "-n32" is added when
|
||||
building for N32 ABI.
|
||||
|
||||
MIPSPKGSFX_R6 - This is used to specify the presence of release 6.
|
||||
"r6" is added in the tuple for release 6 of the isa.
|
||||
|
||||
MIPSPKGSFX_64R6 - This is used to specify "isa" in the tuple.
|
||||
Release 6 onwards we use "mipsisa64" instead of just "mips64".
|
||||
|
||||
MIPSPKGSFX_32R6 - This is used to specify "isa32" in the tuple.
|
||||
Release 6 onwards we use "mipsisa32" instead of just "mips".
|
||||
@@ -0,0 +1,151 @@
|
||||
# MIPS Architecture definition
|
||||
# 12 defined ABIs, all combinations of:
|
||||
# *) Big/Little Endian
|
||||
# *) Hardware/Software Floating Point
|
||||
# *) o32, n32, n64 ABI
|
||||
|
||||
DEFAULTTUNE ?= "mips"
|
||||
|
||||
# Endianess
|
||||
TUNEVALID[bigendian] = "Enable big-endian mode"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', ' -meb', ' -mel', d)}"
|
||||
|
||||
# ABI flags
|
||||
TUNEVALID[o32] = "MIPS o32 ABI"
|
||||
TUNECONFLICTS[o32] = "n32 n64"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'o32', ' -mabi=32', '', d)}"
|
||||
|
||||
TUNEVALID[n32] = "MIPS64 n32 ABI"
|
||||
TUNECONFLICTS[n32] = "o32 n64"
|
||||
ABIEXTENSION .= "${@bb.utils.filter('TUNE_FEATURES', 'n32', d)}"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'n32', ' -mabi=n32', '', d)}"
|
||||
|
||||
# user mode qemu doesn't support mips64 n32: "Invalid ELF image for this architecture"
|
||||
MACHINE_FEATURES_BACKFILL_CONSIDERED:append = " ${@bb.utils.contains('TUNE_FEATURES', 'n32', 'qemu-usermode', '', d)}"
|
||||
|
||||
TUNEVALID[n64] = "MIPS64 n64 ABI"
|
||||
TUNECONFLICTS[n64] = "o32 n32"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'n64', ' -mabi=64', '', d)}"
|
||||
|
||||
# Floating point
|
||||
TUNEVALID[fpu-hard] = "Use hardware FPU"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard', ' -mhard-float', ' -msoft-float', d)}"
|
||||
TARGET_FPU = "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard', '', 'soft', d)}"
|
||||
|
||||
# MIPS r6 ABI
|
||||
TUNEVALID[r6] = "Use r6"
|
||||
TUNEVALID[mipsisa64r6] = "Use 64r6"
|
||||
TUNEVALID[mipsisa32r6] = "Use 32r6"
|
||||
|
||||
# Package naming
|
||||
MIPSPKGSFX_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '', 'el', d)}"
|
||||
MIPSPKGSFX_ENDIAN2 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'eb', 'el', d)}"
|
||||
MIPSPKGSFX_BYTE = "${@bb.utils.contains('TUNE_FEATURES', 'n64' , '64', '', d)}"
|
||||
MIPSPKGSFX_BYTE .= "${@bb.utils.contains('TUNE_FEATURES', 'n32' , '64', '', d)}"
|
||||
MIPSPKGSFX_FPU = "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard' , '', '-nf', d)}"
|
||||
MIPSPKGSFX_ABI = "${@bb.utils.contains('TUNE_FEATURES', 'n32', '-n32', '', d)}"
|
||||
MIPSPKGSFX_R6 = "${@bb.utils.filter('TUNE_FEATURES', 'r6', d)}"
|
||||
MIPSPKGSFX_64R6 = "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', 'isa', '', d)}"
|
||||
MIPSPKGSFX_32R6 = "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa32r6', 'isa32', '', d)}"
|
||||
|
||||
TUNE_ARCH = "mips${MIPSPKGSFX_32R6}${MIPSPKGSFX_64R6}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}"
|
||||
TUNE_PKGARCH = "${MIPSPKGSFX_VARIANT:tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}"
|
||||
|
||||
# Various Global Machine Overrides
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'n64', 'mipsarchn64${MIPSPKGSFX_ENDIAN2}:', '', d)}"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'o32', 'mipsarcho32${MIPSPKGSFX_ENDIAN2}:', '', d)}"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'n32', 'mipsarchn32${MIPSPKGSFX_ENDIAN2}:', '', d)}"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'n64', 'mipsarchn64:', '', d)}"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'o32', 'mipsarcho32:', '', d)}"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'n32', 'mipsarchn32:', '', d)}"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'r6', 'mipsarchr6:', '', d)}"
|
||||
MACHINEOVERRIDES =. "mipsarch${MIPSPKGSFX_ENDIAN2}:"
|
||||
MACHINEOVERRIDES =. "mipsarch:"
|
||||
|
||||
# Base tunes
|
||||
AVAILTUNES += "mips mips64-n32 mips64 mipsel mips64el-n32 mips64el mips-nf mips64-nf-n32 mips64-nf mipsel-nf mips64el-nf-n32 mips64el-nf"
|
||||
TUNE_FEATURES:tune-mips = "o32 bigendian fpu-hard"
|
||||
BASE_LIB:tune-mips = "lib"
|
||||
MIPSPKGSFX_VARIANT:tune-mips = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mips = "mips"
|
||||
|
||||
TUNE_FEATURES:tune-mips64-n32 = "n32 bigendian fpu-hard"
|
||||
BASE_LIB:tune-mips64-n32 = "lib32"
|
||||
MIPSPKGSFX_VARIANT:tune-mips64-n32 = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mips64-n32 = "mips64-n32"
|
||||
|
||||
TUNE_FEATURES:tune-mips64 = "n64 bigendian fpu-hard"
|
||||
BASE_LIB:tune-mips64 = "lib64"
|
||||
MIPSPKGSFX_VARIANT:tune-mips64 = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mips64 = "mips64"
|
||||
|
||||
TUNE_FEATURES:tune-mipsel = "o32 fpu-hard"
|
||||
BASE_LIB:tune-mipsel = "lib"
|
||||
MIPSPKGSFX_VARIANT:tune-mipsel = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mipsel = "mipsel"
|
||||
|
||||
TUNE_FEATURES:tune-mips64el-n32 = "n32 fpu-hard"
|
||||
BASE_LIB:tune-mips64el-n32 = "lib32"
|
||||
MIPSPKGSFX_VARIANT:tune-mips64el-n32 = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mips64el-n32 = "mips64el-n32"
|
||||
|
||||
TUNE_FEATURES:tune-mips64el = "n64 fpu-hard"
|
||||
BASE_LIB:tune-mips64el = "lib64"
|
||||
MIPSPKGSFX_VARIANT:tune-mips64el = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mips64el = "mips64el"
|
||||
|
||||
TUNE_FEATURES:tune-mips-nf = "o32 bigendian"
|
||||
BASE_LIB:tune-mips-nf = "lib"
|
||||
MIPSPKGSFX_VARIANT:tune-mips-nf = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mips-nf = "mips-nf"
|
||||
|
||||
TUNE_FEATURES:tune-mips64-nf-n32 = "n32 bigendian"
|
||||
BASE_LIB:tune-mips64-nf-n32 = "lib32"
|
||||
MIPSPKGSFX_VARIANT:tune-mips64-nf-n32 = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mips64-nf-n32 = "mips64-nf-n32"
|
||||
|
||||
TUNE_FEATURES:tune-mips64-nf = "n64 bigendian"
|
||||
BASE_LIB:tune-mips64-nf = "lib64"
|
||||
MIPSPKGSFX_VARIANT:tune-mips64-nf = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mips64-nf = "mips64-nf"
|
||||
|
||||
TUNE_FEATURES:tune-mipsel-nf = "o32"
|
||||
BASE_LIB:tune-mipsel-nf = "lib"
|
||||
MIPSPKGSFX_VARIANT:tune-mipsel-nf = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mipsel-nf = "mipsel-nf"
|
||||
|
||||
TUNE_FEATURES:tune-mips64el-nf-n32 = "n32"
|
||||
BASE_LIB:tune-mips64el-nf-n32 = "lib32"
|
||||
MIPSPKGSFX_VARIANT:tune-mips64el-nf-n32 = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mips64el-nf-n32 = "mips64el-nf-n32"
|
||||
|
||||
TUNE_FEATURES:tune-mips64el-nf = "n64"
|
||||
BASE_LIB:tune-mips64el-nf = "lib64"
|
||||
MIPSPKGSFX_VARIANT:tune-mips64el-nf = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mips64el-nf = "mips64el-nf"
|
||||
|
||||
# MIPS 64 + o32
|
||||
AVAILTUNES += "mips64-o32 mips64el-o32"
|
||||
|
||||
TUNE_FEATURES:tune-mips64-o32 = "o32 bigendian fpu-hard"
|
||||
BASE_LIB:tune-mips64-o32 = "lib"
|
||||
MIPSPKGSFX_VARIANT:tune-mips64-o32 = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mips64-o32 = "mips mips64-o32"
|
||||
|
||||
TUNE_FEATURES:tune-mips64el-o32 = "o32 fpu-hard"
|
||||
BASE_LIB:tune-mips64el-o32 = "lib"
|
||||
MIPSPKGSFX_VARIANT:tune-mips64el-o32 = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mips64el-o32 = "mipsel mips64el-o32"
|
||||
|
||||
# MIPS 64 o32 and Soft Float
|
||||
AVAILTUNES += "mips64-nf-o32 mips64el-nf-o32"
|
||||
|
||||
TUNE_FEATURES:tune-mips64-nf-o32 = "o32 bigendian"
|
||||
BASE_LIB:tune-mips64-nf-o32 = "lib"
|
||||
MIPSPKGSFX_VARIANT:tune-mips64-nf-o32 = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mips64-nf-o32 = "mips-nf mips64-nf-o32"
|
||||
|
||||
TUNE_FEATURES:tune-mips64el-nf-o32 = "o32"
|
||||
BASE_LIB:tune-mips64el-nf-o32 = "lib"
|
||||
MIPSPKGSFX_VARIANT:tune-mips64el-nf-o32 = "${TUNE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:tune-mips64el-nf-o32 = "mipsel-nf mips64el-nf-o32"
|
||||
@@ -0,0 +1,17 @@
|
||||
TUNEVALID[mips16e] = "Build target packages with MIPS16e ASE instructions"
|
||||
MIPS_MIPS16E_OPT = "${@['mno-mips16', 'mips16'][d.getVar('MIPS_INSTRUCTION_SET') == 'mips16e']}"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ' -${MIPS_MIPS16E_OPT}', '', d)}"
|
||||
|
||||
MIPSPKGSFX_MIPS16E .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', '-m16', '', d) if d.getVar('MIPS_MIPS16E_OPT') == 'mips16' else ''}"
|
||||
|
||||
# Whether to compile with code to allow interworking between the two
|
||||
# instruction sets. This allows mips16e code to be executed on a primarily
|
||||
# mips32/64 system and vice versa. It is strongly recommended that DISTROs not
|
||||
# turn this off - the actual cost is very small.
|
||||
TUNEVALID[no-interlink-compressed] = "Disable mixing of standard and MIPS16e code"
|
||||
MIPS16_TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'no-interlink-compressed', ' -mno-interlink-compressed', ' -minterlink-compressed', d)}"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ' ${MIPS16_TUNE_CCARGS}', '', d)}"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', 'mips16e:', '', d)}"
|
||||
|
||||
# show status (if compiling in MIPS16e mode)
|
||||
BUILDCFG_VARS += "${@['', 'MIPS_INSTRUCTION_SET'][d.getVar('MIPS_INSTRUCTION_SET') == 'mips16e']}"
|
||||
@@ -0,0 +1,8 @@
|
||||
# For runqemu
|
||||
IMAGE_CLASSES += "qemuboot"
|
||||
QB_MACHINE = "-machine malta"
|
||||
QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 console=tty"
|
||||
QB_OPT_APPEND = "-usb -device usb-tablet"
|
||||
|
||||
# For graphics to work we need to define the VGA device as well as the necessary USB devices
|
||||
QB_GRAPHICS = "-vga std"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user