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