移除对已淘汰硬件的支持
Arnd Bergmann 提交了一个补丁,用于移除 Linux 对多种架构的支持,包括 blackfin、cris、frv、m32r、metag、mn10300、score 和 tile。 为了做到这一点,他直接与每个端口的前维护者合作,以确保代码移除正确完成,并且不会破坏主线内核或任何其他地方的任何东西。
最终结果是,没有人再使用这些架构了。 他分析了发生这种情况的原因,并表示
似乎虽然这八种架构非常不同,但它们都遭受了相同的命运:有一家公司负责一个 SoC 产品线、一个 CPU 微架构和一个软件生态系统,这比从第三方(通常是 ARM、MIPS 或 RISC-V)许可更新的现成 CPU 内核成本更高。 似乎所有 SoC 产品线仍然存在,但到目前为止已经好几年没有使用定制的 CPU 架构了。 相比之下,保持流行并积极维护内核端口的 CPU 指令集往往被多个被许可方使用。
Linus Torvalds 不反对从内核中移除这些架构,但他确实表示:“我希望看到每个架构的移除都是独立于其他架构的,这样如果有人想复活任何特定的架构,他/她可以通过回滚来做到这一点。”
Linus 将补丁拉入主线内核树,并高兴地注意到它从内核中移除了 50 万行代码。
Linus 并不是唯一一个希望确保可以轻松复活这些架构的人。 Geert Uytterhoeven 想确切地知道需要什么,因为他对以前移除后来又复活的 arch/h8300 架构感兴趣,该架构目前仍在内核中并且运行良好。 他指出:“实际上,复活可能不会作为纯粹的回滚来实现,而是作为添加一个使用现代功能实现的新架构来实现。”
对此,Pavel Machek 抱怨道:“通过坚持使用新功能而不是纯粹的回滚+增量更新,你几乎可以肯定复活将不可能实现。”
但 Arnd 指出,“现在其他架构已经消失了,很多更改可以更容易地完成,但这些更改将与纯粹的回滚不兼容,所以时间越长,就越难做到这一点。”
他补充说:“一些架构(例如 tile 或 cris)一直保持更新,但其他架构已经腐烂到不太可能在许多版本中的任何真实硬件上工作的程度,但理论上回滚仍然可以用作起点。”
无论如何,Arnd 的补丁正在进入内核,而这些架构目前已经死亡。 但即便如此,看到它们被移除还是很奇怪。 在遥远的未来,肯定会有一天,硬件爱好者决定为它们编写模拟器; 然后他们将不得不在内核 git 存储库的古老日志中翻找,以找到支持它们的 Linux 版本,而这些 Linux 版本将只能在古老的硬件上运行,而这些硬件本身也只能以模拟形式存在。 因此,他们将拥有运行在古老内核之上的古老硬件,而古老的内核又运行在由最新的 Quantum Sine-Qua-Non Ultra Linux (QSQNUL) 模拟的模拟古老 CPU 之上,并由黑洞涡轮机和小狗的心脏提供动力。
这将会发生。
注意:如果您在上面被提及,并想在评论区上方发布回复,请将您的回复文本发送至 ljeditor@linuxjournal.com。