クリティカルな問題
PCI Express* 向け P タイル / H タイル Avalon®・ストリーミング・インテル® FPGA IPおよび PCI Express* 向け P タイル / H タイル Avalon®・メモリー・マップド・インテル® FPGA IPは、多機能またはシングルルート I/O 仮想化 (SR-IOV) 機能が有効になっている場合に、オプションのルーティング ID 解釈 (ARI) 機能を実装します。ARI 機能には、ホスト BIOS が列挙プロセスを実行するのに役立つ next Function Number と呼ばれるフィールドが含まれています。ARI が有効で、P タイルの場合は物理機能 (PF) の数が 8 未満、H タイルの場合は 4 未満の場合、次のファンクション番号は PF 1 の値を誤って表示します。
その結果、ルートポートが不正な次のファンクション番号で指す非既存の PF にコンフィグレーション要求を発行するため、AER が有効になっている場合、エンドポイントの次のエラーステータスビットが設定される可能性があります。
- 修正可能なエラーが検出されました (デバイス・ステータス・レジスター)
- サポートされていないリクエスト検出 (デバイス・ステータス・レジスター)
- アドバイザリー致命的でないエラーステータス (修正可能なエラー・ステータス・レジスター)
- サポートされていないリクエスト・エラー・ステータス (訂正不能なエラー・ステータス・レジスター)
- Advisory Non-Fatal Error Mask Bit が [0] に設定されている場合のみ設定 (修正可能なエラーマスクレジスター)
以下のビットを設定して AER が有効になっている場合、ERR_CORメッセージがルートポートに送信されます。
- アドバイザリー「致命的でないエラーマスク」を「0」に設定 (修正可能なエラーマスクレジスター)
- 修正可能なエラー報告有効を [1] に設定 (デバイス・コントロール・レジスター)
- [サポートされていないリクエストレポートを有効にする] を [1] に設定 (デバイスコントロールレジスター)
ルートポートでは、サポートされていないリクエストの完了ステータスを受信すると、次のビットが設定されます。
- マスター・スプリントの受領 (セカンダリー・ステータス・レジスター)
また、ルートポートでは、ERR_CORを受信すると次のビットが設定され、AER が有効になります。
- 受け取ったERR_COR (ルートエラー・ステータス・レジスター)
PCI Express* の P タイル / H タイル Avalon® ストリーミング・インテル® FPGA IPおよび PCI Express* 向け P タイル / H タイル Avalon® Memory Mapped インテル® FPGA IPの場合、ソフトウェアは列挙が行われるたびに検出されたエラーを無視できます。列挙の後にエンドポイントで次のエラーステータスビットが設定されている場合、ソフトウェアでは無視しても安全です。
- 修正可能なエラーが検出されました (デバイス・ステータス・レジスター)
- サポートされていないリクエスト検出 (デバイス・ステータス・レジスター)
- アドバイザリー致命的でないエラーステータス (修正可能なエラー・ステータス・レジスター)
- サポートされていないリクエスト・エラー・ステータス (訂正不能なエラー・ステータス・レジスター)
- アドバイザリーの致命的でないエラー・マスク・ビット (修正可能なエラー・マスク・レジスター) が 「0」に設定されている場合のみ
簡単にするために、回避策は次の手順で実行できます。
- 列挙が完了したら、すべての PCIe エンドポイント関数の以下のエラーレジスター (すべてのビットを分けて) をクリアします。
- デバイス・ステータス・レジスター
- 訂正可能なエラー・ステータス・レジスター
- 訂正不能なエラー・ステータス・レジスター
- 上記の PCIe エンドポイント機能に関連する PCIe ルートポートの以下のエラーレジスター (すべてのビットを唴唴的に) クリアします。
- セカンダリー・ステータス・レジスター
- ルートエラー・ステータス・レジスター
- PCI 列挙プロセスごとにステップ 1 とステップ 2 を繰り返します。
エラーのランタイム・ポーリングが実行されている場合、この問題を他の信頼性エラーと区別するために、ポーリング・ソフトウェアで「修正可能なエラーが検出されました」、「サポートされていないリクエストの検出」、「アドバイザリー非致命的エラーステータス」および「サポートされていないリクエストエラーステータス」をチェックできます。これらの 4 ビットのみが設定されている場合、エンドポイントのエラーは PCI Express* の P タイル / H タイル Avalon® ストリーミング・インテル® FPGA IPまたは PCI Express* の P タイル / H タイル・Avalon®メモリー・マップド・インテル® FPGA IPに関連していると見なすことができます。上記のステップ 1 およびステップ 2 に記載されているエラーステータスビットをクリアすることが適切です。
P タイルの場合、ユーザーロジックはコンフィグレーション・インターセプト・インターフェイス (CII) を使用して、ルートポートが Configuration Read を発行したときに ARI の次のファンクション番号を正しく宣伝できます。