Khem Raj 26dd24506e qemuboot: Add QB_RNG variable 3 gadi atpakaļ
..
arm 1a2d05b504 cortex-m0plus.inc: Add tuning for cortex M0 plus 3 gadi atpakaļ
m68k 475ca28ab1 conf/machine/include: add m68k architecture definitions 5 gadi atpakaļ
microblaze 78c3885748 microblaze tune: cleanup += 4 gadi atpakaļ
mips ee054e12f6 tune-mips-74k.inc: add tune file for 74kc mips 6 gadi atpakaļ
powerpc b6ac40f1cb powerpc, powerpc64: Append little-endianness to tune arch 4 gadi atpakaļ
riscv 26dd24506e qemuboot: Add QB_RNG variable 3 gadi atpakaļ
sh 924ccf202a meta/conf/machine: use ' inside quoted values 8 gadi atpakaļ
x86 364b3698b7 arch-x86: Add x86-x32 to MACHINEOVERRIDES 6 gadi atpakaļ
README 8df13f5013 tune: README: Typographical corrections 10 gadi atpakaļ
qemu.inc ffbc6dc213 qemu.inc: add vfat to MACHINE_FEATURES 4 gadi atpakaļ
qemuboot-mips.inc 26dd24506e qemuboot: Add QB_RNG variable 3 gadi atpakaļ
qemuboot-x86.inc 26dd24506e qemuboot: Add QB_RNG variable 3 gadi atpakaļ
soc-family.inc dee005b6e1 soc-family.inc: Add a default SOC_FAMILY value 9 gadi atpakaļ
tune-arm1136jf-s.inc e0916a4e03 tune-arm1136jf-s.inc: restore vfp to TUNE_FEATURES_tune-arm1136jfs 4 gadi atpakaļ
tune-arm1176jz-s.inc 0481ef62fb tune-arm1176jz-s.inc: fix typo in PACKAGE_EXTRA_ARCHS_tune-arm1176jzs 4 gadi atpakaļ
tune-arm920t.inc ac83d22eb5 arm-tunes: Remove -march option if mcpu is already added 5 gadi atpakaļ
tune-arm926ejs.inc ac83d22eb5 arm-tunes: Remove -march option if mcpu is already added 5 gadi atpakaļ
tune-arm9tdmi.inc ac83d22eb5 arm-tunes: Remove -march option if mcpu is already added 5 gadi atpakaļ
tune-atom.inc 5f9d56bd64 conf/machine/include: Start to fill out architecture specific tune include files and tune features 13 gadi atpakaļ
tune-c3.inc 924ccf202a meta/conf/machine: use ' inside quoted values 8 gadi atpakaļ
tune-core2.inc 3db567d783 tune-core2: use n270 instead of core2duo 5 gadi atpakaļ
tune-corei7.inc 4b11e44f84 tune-corei7.inc: minor comment tweak to align with tune-core2.inc 6 gadi atpakaļ
tune-cortex-m0plus.inc fe211b1600 cortex-m0plus.inc: change file permissions 3 gadi atpakaļ
tune-cortexa15.inc ac83d22eb5 arm-tunes: Remove -march option if mcpu is already added 5 gadi atpakaļ
tune-cortexa17.inc ac83d22eb5 arm-tunes: Remove -march option if mcpu is already added 5 gadi atpakaļ
tune-cortexa32.inc cde415c640 tune-cortexa*: Cleanups 3 gadi atpakaļ
tune-cortexa35.inc cde415c640 tune-cortexa*: Cleanups 3 gadi atpakaļ
tune-cortexa5.inc ac83d22eb5 arm-tunes: Remove -march option if mcpu is already added 5 gadi atpakaļ
tune-cortexa53.inc cde415c640 tune-cortexa*: Cleanups 3 gadi atpakaļ
tune-cortexa55.inc 0e34eeeeb4 tune-cortexa55.inc: clean-up ARMv8.2a uses 3 gadi atpakaļ
tune-cortexa57-cortexa53.inc 96b556ec50 tune-cortexa57-cortexa53.inc: add CRC and set march 3 gadi atpakaļ
tune-cortexa57.inc cde415c640 tune-cortexa*: Cleanups 3 gadi atpakaļ
tune-cortexa7.inc ac83d22eb5 arm-tunes: Remove -march option if mcpu is already added 5 gadi atpakaļ
tune-cortexa72-cortexa53.inc cde415c640 tune-cortexa*: Cleanups 3 gadi atpakaļ
tune-cortexa72.inc 08433cc58a armv8/tunes: Set TUNE_PKGARCH_64 based on ARMPKGARCH 4 gadi atpakaļ
tune-cortexa73-cortexa53.inc cde415c640 tune-cortexa*: Cleanups 3 gadi atpakaļ
tune-cortexa8.inc ac83d22eb5 arm-tunes: Remove -march option if mcpu is already added 5 gadi atpakaļ
tune-cortexa9.inc ac83d22eb5 arm-tunes: Remove -march option if mcpu is already added 5 gadi atpakaļ
tune-ep9312.inc 62afb4e79f tune-ep9312.inc: fix TUNEVALID description 4 gadi atpakaļ
tune-i586-nlp.inc 924ccf202a meta/conf/machine: use ' inside quoted values 8 gadi atpakaļ
tune-i586.inc 924ccf202a meta/conf/machine: use ' inside quoted values 8 gadi atpakaļ
tune-i686.inc c08f76ba06 tune-i686: Add new tune for better support of 686-class CPUs. 6 gadi atpakaļ
tune-iwmmxt.inc ac83d22eb5 arm-tunes: Remove -march option if mcpu is already added 5 gadi atpakaļ
tune-mcf5441x.inc 89e7192b60 conf/machine/include: add mcf5441x cpu type tuning 5 gadi atpakaļ
tune-microblaze.inc 295a99a31c conf/machine/include/microblaze: Add MicroBlaze architecture includes 6 gadi atpakaļ
tune-mips32.inc 4aa6cdfe9f tune-mips32*.inc: use consistent comments across all three .inc files 7 gadi atpakaļ
tune-mips32r2.inc 4aa6cdfe9f tune-mips32*.inc: use consistent comments across all three .inc files 7 gadi atpakaļ
tune-mips32r6.inc 4aa6cdfe9f tune-mips32*.inc: use consistent comments across all three .inc files 7 gadi atpakaļ
tune-mips64.inc ccacfd3460 tune-mips*: Ensure tunes are inherited in order 9 gadi atpakaļ
tune-mips64r2.inc 4c10376bdf arch-mips: Add mips64r2 tunes 7 gadi atpakaļ
tune-mips64r6.inc 5a7f2f9abb arch-mips: Fix tune configuration for mipsisa64r6el-n32-nf 7 gadi atpakaļ
tune-octeon.inc 924ccf202a meta/conf/machine: use ' inside quoted values 8 gadi atpakaļ
tune-power5.inc e0fd699d39 powerpc-tunes: Introduce bigendian tune 4 gadi atpakaļ
tune-power6.inc e0fd699d39 powerpc-tunes: Introduce bigendian tune 4 gadi atpakaļ
tune-power7.inc e0fd699d39 powerpc-tunes: Introduce bigendian tune 4 gadi atpakaļ
tune-power9.inc 08e1d688bc tune-power9: Add power9 tunings 4 gadi atpakaļ
tune-ppc476.inc e0fd699d39 powerpc-tunes: Introduce bigendian tune 4 gadi atpakaļ
tune-ppc603e.inc e0fd699d39 powerpc-tunes: Introduce bigendian tune 4 gadi atpakaļ
tune-ppc7400.inc e0fd699d39 powerpc-tunes: Introduce bigendian tune 4 gadi atpakaļ
tune-ppce300c2.inc e0fd699d39 powerpc-tunes: Introduce bigendian tune 4 gadi atpakaļ
tune-ppce300c3.inc 924ccf202a meta/conf/machine: use ' inside quoted values 8 gadi atpakaļ
tune-ppce500.inc e0fd699d39 powerpc-tunes: Introduce bigendian tune 4 gadi atpakaļ
tune-ppce500mc.inc e0fd699d39 powerpc-tunes: Introduce bigendian tune 4 gadi atpakaļ
tune-ppce500v2.inc e0fd699d39 powerpc-tunes: Introduce bigendian tune 4 gadi atpakaļ
tune-ppce5500.inc e0fd699d39 powerpc-tunes: Introduce bigendian tune 4 gadi atpakaļ
tune-ppce6500.inc e0fd699d39 powerpc-tunes: Introduce bigendian tune 4 gadi atpakaļ
tune-sh3.inc 924ccf202a meta/conf/machine: use ' inside quoted values 8 gadi atpakaļ
tune-sh4.inc 924ccf202a meta/conf/machine: use ' inside quoted values 8 gadi atpakaļ
tune-strongarm1100.inc ac83d22eb5 arm-tunes: Remove -march option if mcpu is already added 5 gadi atpakaļ
tune-supersparc.inc 3a3c69a1bc conf/machine/include: Set TUNE_CCARGS instead of TARGET_CC_ARCH 13 gadi atpakaļ
tune-thunderx.inc 13cc0f7c0b tune-thunderx: Set the correct PACKAGE_EXTRA_ARCHS_tune-thunderx 5 gadi atpakaļ
tune-xscale.inc ac83d22eb5 arm-tunes: Remove -march option if mcpu is already added 5 gadi atpakaļ
x86-base.inc 61b7d0c61b qemu: bump default reference kernel to v5.8 3 gadi atpakaļ

README

2012/03/30 - Mark Hatle
- 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 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 .
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-.
See TUNE_FEATURES_tune- for more information.

TUNE_FEATURES_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-. If an architecture deviates from the
default it will be listed in the architecture README.

PACKAGE_EXTRA_ARCHS_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- - 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.