AMD賽靈思工程師提出適用於Linux系統的FPGA子系統使用者介面空間
針對Linux 核心FPGA 管理器子系統目前存在的各類限制,AMD-Xilinx 工程師在Linux 核心列表上發布了徵求意見,計劃為Linux 核心提供補丁引入一種新的sysfs 接口,從而可以對FPGA 進行更多的用戶空間控制。
這個新的sysfs 介面可以處理FPGA 配置、驅動程式探測和刪除、橋接、用於在作業系統運行時重新編程FPGA 的設備樹覆蓋檔案支持,同時還可以透過主線版本的Linux Kernel 提供更多目前沒有的使用者空間其他功能。
AMD 的這個新提案希望能夠以適合上游到主線Linux Kernel 的方式標準化FPGA 子系統用戶空間接口,不過目前這還只是提案階段,接下來還要看Linux 社區如何討論。
以下是AMD-Xilinx 工程師發布的徵求意見:
現有的FPGA 管理器子系統在內核中沒有任何用戶空間接口,除了sysfs 中的狀態和其他狀態。
基本上FPGA 是可以針對所需硬體功能重新編程的半導體裝置,FPGA 可以根據使用者需要在運行時使用不同類型的邏輯和IP 進行重新編程,因此需要使用設備樹覆蓋來在運行時為FPGA 重存在的IP 和控制器刪除/ 更新/ 新增設備。
但就目前來說Linux Kernel 中沒有任何使用者介面來在運行時更新設備樹。
不久前Pantelis Antoniou 發布了一系列作品,該補丁引入了用於設備樹覆蓋的用戶界面configfs,這是一張動態更改內核實時設備樹的方法,然而由於各種問題,該系列不定並未在主線中被接受。
這個configfs 介面造成的主要問題之一就是安全性,因為它是針對使用者開放了用於修改即時設備樹的介面。因此為了配置/ 編程FPGA 設備,所有主要FPGA 供應商都使用這個configfs 系列作為配置FPGA 的樹外補丁,並且從未嘗試引入通用介面配置/ 編程上游FPGA 以及上游核心最終都沒有對FPGA 提供適當的支援。
註:賽靈思是FPGA 領域的主要晶片開發商,此前該公司已經被AMD 收購,去年6 月AMD 宣布將賽靈思更名為AMD 嵌入式。
了解更多: