Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | 2012/03/30 - Mark Hatle <mark.hatle@windriver.com> |
| 2 | - Initial Version |
| 3 | |
| 4 | MIPS currently defines 12 ABIs. Combinations of: |
| 5 | *) Big/Little Endian |
| 6 | *) Hardware/Software Floating Point |
| 7 | *) o32, n32, n64 ABI |
| 8 | |
| 9 | TUNE_ARCH, the GNU canonical arch, is defined as: |
| 10 | |
| 11 | mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN} |
| 12 | |
| 13 | The package arch is defined in such a way to generated a standard naming |
| 14 | scheme. The scheme is: <mips variant>[-nf][-n32] |
| 15 | |
| 16 | TUNE_PKGARCH is defined as: |
| 17 | |
| 18 | ${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI} |
| 19 | |
| 20 | The following is a list of MIPS specific variables: |
| 21 | |
| 22 | MIPSPKGSFX_BYTE - This is defined as either blank and "64" for MIPS64 CPUs. |
| 23 | |
| 24 | MIPSPKGSFX_ENDIAN - For bigendian hardware this is blank, otherwise it's |
| 25 | defined as "el". |
| 26 | |
| 27 | MIPSPKGSFX_VARIANT_tune-<tune> - In the default tunings it is set to the |
| 28 | same value as TUNE_ARCH. In custom, optimized tunings, the value should |
| 29 | be modified to more precisely describe the tuning. |
| 30 | |
| 31 | MIPSPKGSFX_FPU - The value is set to "" or "-nf", where "-nf" indicates |
| 32 | that the tune is using a non-floating point ABI. |
| 33 | |
| 34 | MIPSPKGSFX_ABI - This is used to specify an alternative ABI when the previous |
| 35 | values are not enough to distringuish the package. "-n32" is added when |
| 36 | building for N32 ABI. |