インテルのみ表示可能 — GUID: xeu1612984569164
Ixiasoft
1. PCI Express向けRタイル Avalon® Streamingインテル FPGA IPについて
2. IPアーキテクチャーおよび機能の説明
3. 高度な機能
4. インターフェイス
5. パラメーター
6. トラブルシューティング/デバッグ
7. PCI Express* 向けRタイル Avalon® StreamingインテルFPGA IPユーザーガイドのアーカイブ
8. PCI Express向けRタイル Avalon® Streaming インテルFPGA IPユーザーガイドの文書改訂履歴
A. コンフィグレーション・スペース・レジスター
B. ルートポートの列挙
C. エンドポイント・モードでのアドレス変換サービス (ATS) の実装
D. TLPバイパスモードでのユーザー・アプリケーションへのパケット転送
3.2.2.5.1. VirtIO Common Configuration Capability Register (アドレス: 0x012)
3.2.2.5.2. VirtIO Common Configuration BAR Indicator Register (アドレス: 0x013)
3.2.2.5.3. VirtIO Common Configuration BAR Offset Register (アドレス: 0x014)
3.2.2.5.4. VirtIO Common Configuration Structure Length Register (アドレス: 0x015)
3.2.2.5.5. VirtIO Notifications Capability Register (アドレス: 0x016)
3.2.2.5.6. VirtIO Notifications BAR Indicator Register (アドレス: 0x017)
3.2.2.5.7. VirtIO Notifications BAR Offset Register (アドレス: 0x018)
3.2.2.5.8. VirtIO Notifications Structure Length Register (アドレス: 0x019)
3.2.2.5.9. VirtIO Notifications Notify Off Multiplier Register (アドレス: 0x01A)
3.2.2.5.10. VirtIO ISR Status Capability Register Register (アドレス: 0x02F)
3.2.2.5.11. VirtIO ISR Status BAR Indicator Register (アドレス: 0x030)
3.2.2.5.12. VirtIO ISR Status BAR Offset Register (アドレス: 0x031)
3.2.2.5.13. VirtIO ISR Status Structure Length Register (アドレス: 0x032)
3.2.2.5.14. VirtIO Device Specific Capability Register (アドレス: 0x033)
3.2.2.5.15. VirtIO Device Specific BAR Indicator Register (アドレス: 0x034)
3.2.2.5.16. VirtIO Device Specific BAR Offset Register (アドレス0x035)
3.2.2.5.17. VirtIO Device Specific Structure Length Register (アドレス: 0x036)
3.2.2.5.18. VirtIO PCI Configuration Access Capability Register (アドレス: 0x037)
3.2.2.5.19. VirtIO PCI Configuration Access BAR Indicator Register (アドレス: 0x038)
3.2.2.5.20. VirtIO PCI Configuration Access BAR Offset Register (アドレス: 0x039)
3.2.2.5.21. VirtIO PCI Configuration Access Structure Length Register (アドレス: 0x03A)
3.2.2.5.22. VirtIO PCI Configuration Access Data Register (アドレス: 0x03B)
4.3.1. Avalon® Streamingインターフェイス
4.3.2. 精密時間測定インターフェイス (エンドポイントのみ)
4.3.3. 割り込みインターフェイス
4.3.4. ハードIPリコンフィグレーション・インターフェイス
4.3.5. エラー・インターフェイス
4.3.6. コンプリーション・タイムアウト・インターフェイス
4.3.7. コンフィグレーション・インターセプト・インターフェイス
4.3.8. パワー・マネジメント・インターフェイス
4.3.9. ハードIPステータス・インターフェイス
4.3.10. ページ・リクエスト・サービス (PRS) インターフェイス (エンドポイントのみ)
4.3.11. ファンクション・レベル・リセット (FLR) インターフェイス (エンドポイントのみ)
4.3.12. SR-IOV VFエラー・フラグ・インターフェイス (エンドポイントのみ)
4.3.13. 汎用VSECインターフェイス
5.2.3.1. Deviceの機能
5.2.3.2. VirtIOのパラメーター
5.2.3.3. Linkの機能
5.2.3.4. Legacy Interrupt Pin Register
5.2.3.5. MSI機能
5.2.3.6. MSI-Xの機能
5.2.3.7. Slotの機能
5.2.3.8. Latency Tolerance Reporting (LTR)
5.2.3.9. Process Address Space ID (PASID)
5.2.3.10. Device Serial Numberの機能
5.2.3.11. Page Request Service (PRS)
5.2.3.12. Access Control Service (ACS)
5.2.3.13. Power Management
5.2.3.14. Vendor Specific Extended Capability (VSEC) Register
5.2.3.15. TLP Processing Hints (TPH)
5.2.3.16. Address Translation Services (ATS) の機能
5.2.3.17. Precision Time Management (PTM)
インテルのみ表示可能 — GUID: xeu1612984569164
Ixiasoft
4.3.3.3.1. MSI-X割り込みの実装
PCI Local Bus Specification のセクション6.8.2に、MSI-X機能およびテーブル構造体についての説明があります。MSI-X機能構造体は、MSI-Xテーブル構造体とMSI-X保留ビット配列 (PBA) レジスターを指し示します。BIOSにより、開始アドレスオフセットと、MSI-XテーブルおよびPBAレジスターの開始アドレスへのポインターに関連付けられたBARをセットアップします。
MSI-X割り込みコンポーネント
- ホスト・ソフトウェアでは、次の手順に従ってアプリケーション層でのMSI-X割り込みのセットアップを行います。
- ホスト・ソフトウェアでは、0x050レジスターで Message Control レジスターを読み出し、MSI-Xテーブルのサイズを決定します。テーブルエントリーの数は、<value read> + 1 です。
最大テーブルサイズは2048エントリーです。16バイトの各エントリーは、次の図で示しているとおり、4つのフィールドに分割されます。MSI-Xテーブルは、コンフィグレーション済みの任意のBARでアクセス可能です。MSI-Xテーブルのベースアドレスは、4KBバウンダリーにアライメントされている必要があります。
- ホストにより、MSI-Xテーブルをセットアップします。MSI-Xアドレス、データ、および各エントリーのマスクビットのプログラムが、下図で示しているとおりに行われます。
図 33. MSI-Xテーブルの形式
- ホストにより、<n th >エントリーのアドレスを計算します。それには次の式が使われます。
nth_address = base address[BAR] + 16<n>
- ホスト・ソフトウェアでは、0x050レジスターで Message Control レジスターを読み出し、MSI-Xテーブルのサイズを決定します。テーブルエントリーの数は、<value read> + 1 です。
- アプリケーション層に割り込みが発生すると、アプリケーション層により、IRQソースモジュールに対する割り込みリクエストが駆動されます。
- IRQソースにより、MSI-X PBAテーブルに適切なビットを設定します。
PBAでは、qwordまたはdwordアクセスを使用できます。qwordアクセスの場合、IRQソースでは、次の式を使用して<m th > ビットのアドレスを計算します。 それには、次の式を使用します。
qword address = <PBA base addr> + 8(floor(<m>/64)) qword bit = <m> mod 64
図 34. MSI-X PBA Table - IRQプロセッサーでは、MSI-Xテーブルのエントリーを読み出します。
- 割り込みが、MSI-XテーブルのVector_Controlフィールドによってマスキングされている場合、割り込みは保留状態のままになります。
- 割り込みがマスキングされていなければ、IRQプロセッサーでは、メモリー書き込みリクエストをTXスレーブ・インターフェイスに送信します。MSI-Xテーブルのアドレスとデータが使われます。 Message Upper Address = 0の場合、IRQプロセッサーでは、3 dwordのヘッダーを作成します。 Message Upper Address > 0の場合は、4 dwordのヘッダーを作成します。
- ホスト割り込みサービスルーチンにより、TLPを割り込みとして検出し、それを処理します。