IOMMU
IOMMUは、デバイス起点のメモリアクセスを変換および制限します。その保護およびパススルー動作は、プラットフォームのトポロジー、ファームウェア、OS、およびドライバーの設定に依存します。
確認しておくべき要点
IOMMUは、デバイス起点のメモリアクセスを変換および制限します。その保護およびパススルー動作は、プラットフォームのトポロジー、ファームウェア、OS、およびドライバーの設定に依存します。
仕組み
デバイスは、I/O変換ユニットによって解釈されるアドレスを使用してDMAトランザクションを発行します。OSまたはハイパーバイザーは、それらの要求を許可されたシステムメモリに関連付けるドメインとマッピングを設定します。デバイスの識別情報、共有される変換境界、および割り込み処理が実用的な分離性に影響します。
有用な場面
仮想マシンは、そのIOMMU分離グループを適用するフレームワークを介してサポート対象デバイスを受け取ることができます。グループを共有する複数のデバイスは、プラットフォームが望ましい境界で独立した分離を確立できないため、一括して割り当てる必要がある場合があります。
サポートと有効化の確認方法
プラットフォームのIOMMU記述、およびOS/ハイパーバイザーの有効化ステータス、グループ、デバイス割り当て要件を検査してください。IntelではVT-dを検証し、AMDでは文書化されているAMD I/O仮想化機能を使用してください。該当するデバイスの正確なリセット動作およびドライバーの動作を確認してください。
仮想化された展開には複数のレイヤーが存在します。物理機能、ファームウェアの許可、アクティブなホストハイパーバイザー、公開されたゲスト機能、およびゲストOSのサポートです。関連する場合はネステッド仮想化を含め、操作が実際に実行されるレイヤーを確認してください。
この機能が確立しない事項
IOMMUフラグが存在しても、すべての周辺機器が個別に分離されていることや、保護がアクティブであることは証明されません。CPUのページテーブル保護だけでは、すべてのデバイスDMAを制約することはできません。サポート外のトポロジーオーバーライドは分離を弱める可能性があり、日常的な互換性の修正策ではありません。
実際の互換性とパフォーマンス
CPU実行、ゲストメモリ変換、およびデバイスDMA再マッピングは別々の機能です。単一の仮想化フィールドからパススルーや分離を推測しないでください。ハイパーバイザーのサポートされている診断機能と、正確なプラットフォーム/デバイス要件を使用してください。
実践的な検証チェックリスト
- 関係する正確なプロセッサまたはプラットフォームのモデル、ならびにアプリケーション、OS、ランタイムのバージョンを記録してください。実際のエラーや要件の文言をそのまま保持してください。
- その正確なモデルの製造元リファレンスを確認し、プログラムが実行される環境で実効的な機能と有効化状態を検査してください。
- 選択したバイナリまたはバックエンドのすべての要件を比較してください。類似した名前の機能、エイリアス、または広範な技術表記だけでは不十分です。
- アプリケーションが意図した実装を選択したことを確認してください。要件が満たされていない場合は、文書化された診断機能とサポートされているフォールバックを使用してください。
- 一度に1つのサポート対象の変更のみを行い、同じワークロードを繰り返してください。元の構成と復旧手順を常に利用可能な状態にしておいてください。
機能が記載されているにもかかわらずソフトウェアで使用できない場合
正確にどのコンポーネントが失敗しているかから調査を開始してください。ハードウェアデータベースに記載されているのは記録された機能です。オペレーティングシステムまたはハイパーバイザーは、異なる実効環境を公開することがあります。破損や無関係な未サポート命令でも同様の症状が発生する可能性があるため、不正命令エラーの場合も実際にフォールトの原因となった命令とバイナリビルドの調査が必要です。
正確なプラットフォーム向けにサポートされているアプリケーション、ドライバ、またはランタイムのバージョンをインストールし、必要に応じてベンダーが文書化しているベースラインまたはフォールバックビルドを使用してください。ソフトウェアアップデートによってプロセッサに欠落している命令を作り出すことはできません。ファームウェアおよびセキュリティポリシーの変更は、一般的な最適化レシピではなく、システム製造元の手順と復旧計画に従う必要があります。
本説明のソースと対象範囲
Intel Virtualization Technology for Directed I/O Architecture Specification · Linux kernel: VFIO device access and IOMMU groups
これらのリファレンスは、アーキテクチャの動作およびソフトウェア要件を規定しています。リンクされたハードウェアモデルページのすべての機能値を個別に検証するものではありません。モデルのサポート状況については、そのページの製造元エビデンスを使用し、実際の実効システム構成を確認してください。この記事はベンチマーク、認定、または独立したレビュー日を提供するものではありません。
出典と検証
エディトリアル所有権: Feex。独立したレビュー日は記録されていません。 調査方法.
- Intel Virtualization Technology for Directed I/O Architecture Specification · DMA再マッピングアーキテクチャ、変換ドメイン、割り込み再マッピング、およびファームウェアのレポート構造。プラットフォームのサポートは個別に確立する必要があります。
- Linux kernel: VFIO device access and IOMMU groups · パススルーに関連する分離グループ、デバイスの所有権、および制約について説明しています。特定のマザーボード用の互換性リストではありません。
この記事は役に立ちましたか?
「はい」または「いいえ」を選択するだけで完了します。必要に応じて理由を選択するか、簡単なメモを追加してください。
ご協力ありがとうございます。ページの改善に役立てられます。