AMD赛灵思工程师提出适用于Linux系统的FPGA子系统用户接口空间

站长云网 2024-01-05 蓝点网 站长云网

针对Linux内核FPGA管理器子系统当前存在的各类限制,AMD-Xilinx工程师在Linux内核列表上发布了征求意见,计划为Linux内核提供补丁引入一种新的sysfs接口,从而可以对FPGA进行更多的用户空间控制。

这个新的sysfs接口可以处理FPGA配置、驱动程序探测和删除、桥接、用于在操作系统运行时重新编程FPGA的设备树覆盖文件支持,同时还可以通过主线版本的LinuxKernel提供更多当前没有的用户空间其他功能。

AMD的这个新提案希望能够以适合上游到主线LinuxKernel的方式标准化FPGA子系统用户空间接口,不过目前这还只是提案阶段,接下来还要看Linux社区如何讨论。

下面是AMD-Xilinx工程师发布的征求意见:

现有的FPGA管理器子系统在内核中没有任何用户空间接口,除了sysfs中的状态和其他状态。

基本上FPGA是可以针对所需硬件功能重新编程的半导体器件,FPGA可以根据用户需要在运行时使用不同类型的逻辑和IP进行重新编程,因此需要使用设备树覆盖来在运行时为FPGA重存在的IP和控制器删除/更新/添加设备。

但就目前来说LinuxKernel中没有任何用户界面来在运行时更新设备树。

不久前PantelisAntoniou发布了一系列作品,该补丁引入了用于设备树覆盖的用户界面configfs,这是一张动态更改内核实时设备树的方法,然而由于各种问题,该系列不定并未在主线中被接受。

这个configfs接口引起的主要问题之一就是安全性,因为它面向用户开放了用于修改实时设备树的接口。因此为了配置/编程FPGA设备,所有主要FPGA供应商都使用这个configfs系列作为配置FPGA的树外补丁,并且从未尝试引入通用接口配置/编程上游FPGA以及上游内核最终都没有对FPGA提供适当的支持。

注:赛灵思是FPGA领域的主要芯片开发商,此前该公司已经被AMD收购,去年6月份AMD宣布将赛灵思更名为AMD嵌入式。

了解更多:

https://lore.kernel.org/lkml/DM6PR12MB3993D5ECA50B27682AEBE19FCD67A@DM6PR12MB3993.namprd12.prod.outlook.com/

责任编辑:站长云网