1

ユーザー空間から PCI BAR0 を介して FPGA メモリにアクセスする必要があるプロジェクトに取り組んでいます。

以前のカーネルで行っていたのは、 /sys/bus/pci/devices/my_device/にあるresource0という名前のファイルを開き、FPGA メモリをユーザー空間に公開するmmap()関数を使用することでした。

残念ながら、カーネル バージョン 4.7 (アーキテクチャ ARM64) では、何らかの理由で resource0 ファイルが作成されていないようです。

lspciを使用すると、システムが FPGA の PCI BAR を認識していることがわかります。さらに、/sys/bus/pci/devices/my_device/ディレクトリを検索すると、 resourceという名前のファイルがあり、特に PCI BAR のアドレスが書き込まれていることがわかります。

似たような状況に詳しい人はいますか?Linuxにresource0ファイルを作成させるにはどうすればよいですか?

4

1 に答える 1

3

私はあなたの懸念を理解しています。アップストリームで受け入れられなかった Tree パッチからこれを試すことができます。

https://patchwork.codeaurora.org/patch/2059/

http://lists.infradead.org/pipermail/linux-arm-kernel/2015-July/359435.html

これは、PCI リソース ファイルをユーザー空間にマップするのに役立ちます。

于 2016-08-12T15:38:25.293 に答える