架构特定说明 — MIPS
MIPS 移植使用 mips
关键词。它专注于常用硬件 - 主要包括 SGI、Cobalt、Cavium Octeon 和 MIPS Creator CI20 系统 - 尽管也支持各种嵌入式和专用板卡。
mips
关键词涵盖了各种架构、CPU 和硬件,从微小的嵌入式设备到具有数十个 CPU 的服务器级套件。
注意:术语:ABI 代表“应用程序二进制接口”。它指的是诸如调用约定(调用函数时用于传递参数的寄存器)和数据类型大小等问题。ISA 代表“指令集架构”,并指的是给定 CPU 可用的指令以及寄存器的数量和类型。
MIPS ABI
o32
ABI 是 SGI 发明的一个很棒的产物,在当时很不错,但后来被证明有点短视且效率低下。n32
ABI 通过假装是 32 位来解决这个问题,而实际上是 64 位。n64
是另一个 64 位 ABI,这次没有假装是 32 位,因此它很大、很胖,但功能非常强大。
所有这些 ABI 都可以是大端和小端,因为 MIPS CPU 两种都有,尽管大多数硬件不支持这两种选项。
所有这些 ABI 在各种应用领域都很流行。它们实际上都不能正常工作。
在 MIPS 上不丢弃 CFLAGS
因为 CFLAGS
有时用于指定 ISA 和 ABI 信息,所以软件包必须尊重此设置。请参阅 不筛选变量。
MIPS 额外的关键词要求
注意:本节是对 关键词和稳定性 中指南的补充,它讨论了 MIPS 架构的额外要求。
为了给软件包添加 ~mips
关键词,以下额外项目通常必须成立
- 软件包应该在大小端系统上都能工作,在纯 32 位和纯 64 位系统上都能工作,以及在内核和用户空间 ABI 不同的系统上都能工作。
通常期望任何为 MIPS 添加关键词的人都在 mips@
别名上。
MIPS 目前不使用稳定关键词,因此不要向它们提交稳定性请求。