Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 1 | 2016/09/30 - Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> |
| 2 | - Add Release 6 support |
| 3 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 4 | 2012/03/30 - Mark Hatle <mark.hatle@windriver.com> |
| 5 | - Initial Version |
| 6 | |
| 7 | MIPS currently defines 12 ABIs. Combinations of: |
| 8 | *) Big/Little Endian |
| 9 | *) Hardware/Software Floating Point |
| 10 | *) o32, n32, n64 ABI |
| 11 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 12 | Release 6 of the ISA is a major revision and doesn't build up on previous |
| 13 | releases of the ISA. |
| 14 | |
| 15 | For more details about tuples, check https://wiki.debian.org/Multiarch/Tuples |
| 16 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 17 | TUNE_ARCH, the GNU canonical arch, is defined as: |
| 18 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 19 | "mips${MIPSPKGSFX_32R6}${MIPSPKGSFX_64R6}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 20 | |
| 21 | The package arch is defined in such a way to generated a standard naming |
| 22 | scheme. The scheme is: <mips variant>[-nf][-n32] |
| 23 | |
| 24 | TUNE_PKGARCH is defined as: |
| 25 | |
| 26 | ${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI} |
| 27 | |
| 28 | The following is a list of MIPS specific variables: |
| 29 | |
| 30 | MIPSPKGSFX_BYTE - This is defined as either blank and "64" for MIPS64 CPUs. |
| 31 | |
| 32 | MIPSPKGSFX_ENDIAN - For bigendian hardware this is blank, otherwise it's |
| 33 | defined as "el". |
| 34 | |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 35 | MIPSPKGSFX_ENDIAN2 - For bigendian hardware this is "eb", otherwise it's |
| 36 | defined as "el". |
| 37 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 38 | MIPSPKGSFX_VARIANT_tune-<tune> - In the default tunings it is set to the |
| 39 | same value as TUNE_ARCH. In custom, optimized tunings, the value should |
| 40 | be modified to more precisely describe the tuning. |
| 41 | |
| 42 | MIPSPKGSFX_FPU - The value is set to "" or "-nf", where "-nf" indicates |
| 43 | that the tune is using a non-floating point ABI. |
| 44 | |
| 45 | MIPSPKGSFX_ABI - This is used to specify an alternative ABI when the previous |
| 46 | values are not enough to distringuish the package. "-n32" is added when |
| 47 | building for N32 ABI. |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 48 | |
| 49 | MIPSPKGSFX_R6 - This is used to specify the presence of release 6. |
| 50 | "r6" is added in the tuple for release 6 of the isa. |
| 51 | |
| 52 | MIPSPKGSFX_64R6 - This is used to specify "isa" in the tuple. |
| 53 | Release 6 onwards we use "mipsisa64" instead of just "mips64". |
| 54 | |
| 55 | MIPSPKGSFX_32R6 - This is used to specify "isa32" in the tuple. |
| 56 | Release 6 onwards we use "mipsisa32" instead of just "mips". |