Linux システムの PCIe に FPGA カードを接続しています。FPGA を再プログラムするecho 1 > /sys/bus/pci/rescan
と、カードが に表示されlspci
ます。
ただし、BAR リージョンにはメモリが割り当てられていません。
Region 0: Memory at <unassigned> (64-bit, prefetchable) [disabled] [size=32M]
Region 2: Memory at <unassigned> (64-bit, prefetchable) [disabled] [size=64M]
pci=
Linux ブート コマンド ラインでさまざまなフラグを試しましたが、あまり効果がありませんでした。
私の疑いでは、BAR 領域が大きすぎるため、ブート時に存在しなかったため、Linux がアドレス空間で適切に整列された範囲を見つけて BAR をマップできないのではないかと考えています。
これは正しい理論ですか?デバイス用にスペースを予約するように Linux に指示することはできますか?