Linux カーネル FPGA マネージャー サブシステムの現在のさまざまな制限に対応して、AMD ザイリンクスのエンジニアは、Linux カーネル リストにコメントを求める投稿を投稿し、FPGA のユーザー スペース制御を強化する新しい sysfs インターフェイスを導入する Linux カーネル用のパッチを提供する予定です。

この新しい sysfs インターフェイスは、FPGA のコンフィギュレーション、ドライバーの検出と削除、ブリッジング、オペレーティング システムの実行中に FPGA を再プログラミングするためのデバイス ツリー オーバーレイ ファイルのサポートを処理でき、また、現在利用できないメインライン バージョンの Linux カーネルを通じて、より多くのユーザー空間機能を提供することもできます。

AMD の新しい提案では、メインライン Linux カーネルの上流に適した方法で FPGA サブシステムのユーザー空間インターフェイスを標準化することを望んでいます。ただし、これはまだ提案段階にあり、Linux コミュニティでどのように議論されるかによって異なります。

以下は、AMD-Xilinx エンジニアが投稿したコメントのリクエストです。

既存の FPGA マネージャー サブシステムには、sysfs のステータスやその他の状態を除き、カーネル内にユーザー空間インターフェイスがありません。

基本的に FPGA は、必要なハードウェア機能に合わせて再プログラムできる半導体デバイスです。FPGA は、ユーザーのニーズに応じて実行時にさまざまなタイプのロジックと IP で再プログラムできるため、デバイス ツリー オーバーレイを使用して、FPGA 内の既存の IP およびコントローラーのデバイスを実行時に削除/更新/追加する必要があります。

しかし今のところ、LinuxKernel には実行時にデバイス ツリーを更新するためのユーザー インターフェイスがありません。

少し前に、PantelisAntoniou は一連の作品をリリースしました。このパッチでは、カーネルのリアルタイム デバイス ツリーを動的に変更する方法であるデバイス ツリー オーバーレイ用のユーザー インターフェイス configfs が導入されました。しかし、様々な問題により、このシリーズはメインラインで受け入れられない可能性があります。

この configfs インターフェイスによって生じる主な問題の 1 つはセキュリティです。これは、リアルタイム デバイス ツリーを変更するためにインターフェイスがユーザーに公開されるためです。したがって、FPGA デバイスをコンフィギュレーション/プログラムするために、すべての主要な FPGA ベンダーはこの configfs シリーズをツリーからパッチアウトされ、上流の FPGA を設定/プログラムするための共通インターフェイスを導入しようとしなかったため、上流のカーネルは最終的に FPGA に対する適切なサポートを提供できなくなりました。

注: ザイリンクスは、FPGA 分野の大手チップ開発者です。同社は AMD に買収されました。昨年6月、AMDはXilinxの社名をAMD Embeddedに変更すると発表した。

もっと詳しく知る:

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