The MIPS port uses the
mips keyword. It focuses upon commonly available
hardware — mainly SGI, Cobalt, Cavium Octeon and the MIPS Creator CI20 systems — although various embedded and
special purpose boards are also supported.
mips keyword covers a huge range of architectures, CPUs and hardware,
from tiny embedded devices up to server class kit with many tens of CPUs.
o32 ABI was a wonderful invention by SGI that was good at the time, but
later turned out to be a little bit short-sighted and inefficient. The
ABI corrects that problem by pretending to be 32 bit, whilst in reality being 64
n64 is another 64 bit ABI, this time not pretending to be 32 bit, which
is therefore large, fat and yet very powerful.
All of these ABIs can be both big and little endian, since MIPS CPUs come in both flavours, although most hardware does not support both options.
All of these ABIs are popular amongst various applications domains. None of them actually work correctly.
The most commonly seen MIPS ISAs are mips2, mips3, mips4, mips32 and mips64. If you encounter a situation in which you need to know about the differences between these, talk to the MIPS team.
CFLAGS are sometimes used to specify ISA and ABI information, it is
vital that packages honour this setting. See
Not Filtering Variables.
For a package to have the
~mips keyword added, the following additional
items must generally hold:
- The package should work on both big and little endian systems, on both pure 32 bit and pure 64 bit systems and on systems with differing kernel and userland ABIs.
It is generally expected that anyone who does keywording for MIPS should be on
MIPS doesn't currently use stable keywords so don't file stable requests to them.