从Linux6.1开始,最初的Rust基础设施被添加到了Linux内核中从那时起,为了使内核驱动程序能够用Rust编程语言编写,已经有很多其他的管道和内务合并。随着即将到来的Linux6.8内核周期,第一个Rust网络驱动程序将被引入。
本周与Net-next.git合并,领先于Linux6.8落地“网状铁锈”分支。这是网络PHY驱动程序所必需的铁锈抽象。有用于Phylib代码的Rust绑定,以及启用用Rust编写的PHY驱动程序所需的其他位。
这项工作的最终结果是添加了一个铁锈版本的ASix PHY驱动程序。现有的ax88796b C驱动程序代码是用Rust编程语言重写的。Rust版本等同于C版本,除非用户使用Rust版本构建内核,否则C版本仍将是默认版本。
这个铁锈ASix PHY驱动器大约135行铁锈代码加上各种构建系统位。可以使用“AX88796B_RUST_PHY”KCONFIG开关启用此Rust ASix PHY驱动程序,该开关将把驱动程序构建为ax88796b_rust。
AX88796B驱动程序用于支持X-Surf 100 AX88796B封装中的ASix Electronics PHY。AX88796B是一款100M快速以太网控制器,用于从暖通空调控制到安全系统和其他工业控制系统的嵌入式和工业应用。因此,这并不是最令人兴奋的网络硬件(并且该硬件已经得到了C驱动程序的支持),但是这个Rust PHY驱动程序是一个开始,它使接口/绑定上的球滚动到位,以便开发出其他内存安全的网络驱动程序。已经有了网络子系统中的其他Rust事件. Look for this new driver in Linux 6.8.