AMD的工程师们提出了一种FPGA子系统用户空间接口,以克服目前Linux内核的FPGA管理器子系统的局限性。
AMD-Xilinx工程师正在为现场可编程门阵列子系统提出一种新的系统文件系统接口,允许对现场可编程门阵列进行更多的用户空间控制。建议的接口将处理FPGA配置、驱动程序探测/移除、网桥、用于在操作系统运行时重新编程FPGA的设备树覆盖文件支持,以及主线内核当前未提供的用户空间的其他功能。
在Linux内核邮件列表上发布的“征求意见”解释说:
现有的FPGA管理器子系统在内核中没有任何用户空间接口(除了sysf中的状态/状态)。
从根本上说,现场可编程门阵列是可以重新编程以实现所需硬件功能的半导体器件。可以根据用户需求在运行时使用不同类型的逻辑和IP对FGA进行重新编程,因此需要使用设备树覆盖来在运行时为存在于FPGA中的IP/控制器移除/更新/添加设备。但是我们在内核中没有任何用于在运行时更新设备树的用户界面。有一段时间,潘特利斯·安东尼奥寄来了一部系列片。此补丁引入了用于设备树覆盖的用户界面配置,这是一种动态更改内核的实时设备树的方法。然而,由于各种顾虑,这个补丁系列没有在主流中被接受。
对该配置文件系统界面提出的主要关注之一是安全性,因为它向用户开放了用于修改实时设备树的界面。
因此,为了配置/编程现场可编程门阵列设备,所有主要的现场可编程门阵列供应商都在使用这个配置文件系统系列作为配置现场可编程门阵列的树外补丁,并且从来没有尝试引入通用接口来在上游配置/编程现场可编程门阵列,因此上游内核最终没有适当的对现场可编程门阵列的支持。
这项建议 from AMD hopes to standardize the FPGA subsystem user-space interface in a manner that is suitable for upstreaming into the mainline Linux kernel. We'll see where this work leads for improving FPGA support on Linux.