Linux 将停止 VMEbus 支持,将其恢复暂存状态
80 年代初 Linux 为摩托罗拉 68000 系列引入了 Versa 模块 Eurocard “VMEbus” 标准。然而,十年前 Linux 的 VME 子系统从 staging tree (staging tree 是主线的分支,用来放置一些因未充分测试等原因而未能进入 Linux 内核的新驱动程序和新文件系统)中升级后,VME 的硬件驱动程序却一直未能离开 staging tree,并且代码已经年久失修,在过去的 5 年里无人维护。因此,Linux 的 VME 子系统支持将返回 Linux 内核 staging 暂存区。
开发者 Arnd Bergmann 正通过补丁删除 CA91CX42 Universe-II 驱动程序,准备将整个 VME 子系统移回暂存区,相关驱动则彻底移除。伯格曼指出:
Universe-II 使用古老的 virt_to_bus () 接口,与大多数现代机器不兼容。由于没有人对此进行清理,因此该驱动程序很可能没有实际用户。该芯片于 1997 年推出,仅支持 32 位传统 PCI。它在 2004 年被 TSI148 取代,目前已经停产,而旧版 Universe II 的一个版本在 25 年后仍在生产中。
vme_vmivme7805 板使用 Universe-II,因此在此过程中也将其移除,但基于 TSI148 的 PCI 附加卡理论上仍然可以工作。
其补丁总结:驱动程序和子系统本身的维护在 2017 年已停止,目前已没有硬件驱动程序处于暂存状态,只剩下有限的用户级访问代码。
与此同时,VME Linux 网页 自 2003 年以来一直没有更新。有兴趣重新了解 VME 总线的人可以看到这个 CERN 演示文稿。
目前,这些降级 VME 代码的补丁正处于 “阶段测试” 阶段,应该会在 Linux 5.20 版本实现,当然,如果到时候还有 VMEbus 忠实粉丝提出异议,则事情会另作讨论。