記事 ID: 000076835 コンテンツタイプ: トラブルシューティング 最終改訂日: 2020/07/29

DMA 対応の インテル® Stratix® 10 PCIe* Avalon®-MM のデザイン例で Linux がクラッシュすることがありますが、どうしてですか?

環境

  • インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション
  • Avalon-MM インテル® Stratix® 10 PCI Express* のハード IP
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    詳細

    この問題は、インテル® Stratix® 10 PCIe* Avalon®-MM ハード IP コンフィグレーション GUI の [Avalon-MM 設定] タブの [アクセス可能な PCIe メモリー空間 (TXS) のアドレス幅] オプション値がデフォルトで 32 に設定されていることが原因である可能性がありますが、ソフトウェアでは DMA 記述子とデータのアドレスが 64 ビット OS の上位 32 ビットまたは下位 32 ビットのアドレス範囲にある可能性があります。アドレスが上限 32 ビットのアドレス範囲に入ると、DMA は記述子とデータのフェッチに失敗し、DMA ドライバーのタイムアウトと Linux のクラッシュを引き起こします。

    解決方法

    この問題を回避するには、デザイン例の GUI で「アクセス可能な PCIe メモリー空間 (TXS) のアドレス幅」オプションを 64 に変更し、DMA が 64 ビット・メモリー空間全体にアクセスし、ディスクリプターとデータを正しく取得できるようにします。

    関連製品

    本記事の適用対象: 1 製品

    インテル® Stratix® 10 FPGA & SoC FPGA

    このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。