generic-poky/meta/conf/machine/include/mips
Peter Kjellerstedt 254bfb1071 recipes: Make use of the new bb.utils.filter() function
(From OE-Core rev: 0a1427bf9aeeda6bee2cc0af8da4ea5fd90aef6f)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-01 11:17:45 +00:00
..
README arch-mips: Add MACHINEOVERRIDES variables to reduce duplication 2016-11-15 15:19:52 +00:00
arch-mips.inc recipes: Make use of the new bb.utils.filter() function 2017-03-01 11:17:45 +00:00
feature-mips-mips16e.inc meta: remove True option to getVar calls 2016-12-16 10:23:23 +00:00
tune-mips-24k.inc tune-mips-24k: add QEMU_EXTRAOPTIONS for DSP and MIPS16e cores 2016-08-01 11:47:11 +01:00

README

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