1. [Wiki](https://feex.it/wiki/)
2. [ハードウェア](https://feex.it/wiki/hardware/)
3. [システムとアーキテクチャ](https://feex.it/wiki/hardware/system/)
4. VT-d

# VT-d

アーキテクチャリファレンス: Feex

VT-d (DMA Remapping) とも呼ばれます

Intel VT-dは、プラットフォームおよびオペレーティングシステムの制御下でDMA再マッピングなどのダイレクトI/O機能を提供します。これは、VT-xによるCPU実行の仮想化とは異なるプラットフォーム機能です。

## 確認しておくべき要点

Intel VT-dは、プラットフォームおよびオペレーティングシステムの制御下でDMA再マッピングなどのダイレクトI/O機能を提供します。これは、VT-xによるCPU実行の仮想化とは異なるプラットフォーム機能です。

## 仕組み

I/O再マッピングユニットは、構成されたドメインと変換構造を使用して、デバイスのDMAトランザクションを変換およびチェックします。割り込み再マッピングは、独自の要件を持つ関連機能です。ファームウェアは再マッピングハードウェアとデバイスの関係をOSに記述し、OSは適切なマッピングと分離を確立する必要があります。

## 有用な場面

ハイパーバイザーは適切なデバイスをVMに割り当てるときにDMA再マッピングを使用でき、OSはデバイスのメモリへのアクセスを制限するためにこれを使用できます。デバイストポロジ、分離グループ、リセット動作、およびドライバーのサポートは、特定の割り当てが安全かつサポートされているかどうかに影響します。

## サポートと有効化の確認方法

システム製造元のVT-dサポートとファームウェア構成、プラットフォームのDMAR記述、およびOS/ハイパーバイザーのIOMMUステータスを確認してください。パススルーを行う前に、対象デバイスの正確な分離要件とリセット要件を検証してください。

仮想化された展開には複数のレイヤーが存在します。物理機能、ファームウェアの許可、アクティブなホストハイパーバイザー、公開されたゲスト機能、およびゲストOSのサポートです。関連する場合はネステッド仮想化を含め、操作が実際に実行されるレイヤーを確認してください。

## この機能が確立しない事項

VT-dフィールドが存在しても、すべてのPCIeデバイスが個別に割り当て可能であること、ファームウェアテーブルが正しいこと、またはDMA保護が有効になっていることは証明されません。VT-xおよびEPTはVT-dの代用にはなりません。ストレージまたは再マッピングのポリシーを変更すると、アクティブなデバイスに影響を与える可能性があります。

## 実際の互換性とパフォーマンス

CPU実行、ゲストメモリ変換、およびデバイスDMA再マッピングは別々の機能です。単一の仮想化フィールドからパススルーや分離を推測しないでください。ハイパーバイザーのサポートされている診断機能と、正確なプラットフォーム/デバイス要件を使用してください。

## 実践的な検証チェックリスト

1. 関係する正確なプロセッサまたはプラットフォームのモデル、ならびにアプリケーション、OS、ランタイムのバージョンを記録してください。実際のエラーや要件の文言をそのまま保持してください。
2. その正確なモデルの製造元リファレンスを確認し、プログラムが実行される環境で実効的な機能と有効化状態を検査してください。
3. 選択したバイナリまたはバックエンドのすべての要件を比較してください。類似した名前の機能、エイリアス、または広範な技術表記だけでは不十分です。
4. アプリケーションが意図した実装を選択したことを確認してください。要件が満たされていない場合は、文書化された診断機能とサポートされているフォールバックを使用してください。
5. 一度に1つのサポート対象の変更のみを行い、同じワークロードを繰り返してください。元の構成と復旧手順を常に利用可能な状態にしておいてください。

## 機能が記載されているにもかかわらずソフトウェアで使用できない場合

正確にどのコンポーネントが失敗しているかから調査を開始してください。ハードウェアデータベースに記載されているのは記録された機能です。オペレーティングシステムまたはハイパーバイザーは、異なる実効環境を公開することがあります。破損や無関係な未サポート命令でも同様の症状が発生する可能性があるため、不正命令エラーの場合も実際にフォールトの原因となった命令とバイナリビルドの調査が必要です。

正確なプラットフォーム向けにサポートされているアプリケーション、ドライバ、またはランタイムのバージョンをインストールし、必要に応じてベンダーが文書化しているベースラインまたはフォールバックビルドを使用してください。ソフトウェアアップデートによってプロセッサに欠落している命令を作り出すことはできません。ファームウェアおよびセキュリティポリシーの変更は、一般的な最適化レシピではなく、システム製造元の手順と復旧計画に従う必要があります。

## 関連機能と有用な相違点

[IOMMU](https://feex.it/wiki/l/ja/hardware/system/iommu/) · [VT-x](https://feex.it/wiki/l/ja/hardware/system/vt-x/) · [Extended Page Tables (EPT)](https://feex.it/wiki/l/ja/hardware/system/ept/)

## 本説明のソースと対象範囲

[Intel Virtualization Technology for Directed I/O Architecture Specification](https://cdrdv2-public.intel.com/831418/vt-directed-io-spec.pdf) · [Linux kernel: VFIO device access and IOMMU groups](https://docs.kernel.org/driver-api/vfio.html)

これらのリファレンスは、アーキテクチャの動作およびソフトウェア要件を規定しています。リンクされたハードウェアモデルページのすべての機能値を個別に検証するものではありません。モデルのサポート状況については、そのページの製造元エビデンスを使用し、実際の実効システム構成を確認してください。この記事はベンチマーク、認定、または独立したレビュー日を提供するものではありません。

## 関連情報

これらはこの記事に関連する項目です。リンクごとに種別が表示されます。

[IOMMU: アーキテクチャリファレンス](https://feex.it/wiki/l/ja/hardware/system/iommu/)[VT-x: アーキテクチャリファレンス](https://feex.it/wiki/l/ja/hardware/system/vt-x/)[Extended Page Tables (EPT): アーキテクチャリファレンス](https://feex.it/wiki/l/ja/hardware/system/ept/)

## 出典と検証

エディトリアル所有権: Feex。独立したレビュー日は記録されていません。 [調査方法](https://feex.it/wiki/research/).

- [Intel Virtualization Technology for Directed I/O Architecture Specification ](https://cdrdv2-public.intel.com/831418/vt-directed-io-spec.pdf)· DMA再マッピングアーキテクチャ、変換ドメイン、割り込み再マッピング、およびファームウェアのレポート構造。プラットフォームのサポートは個別に確立する必要があります。
- [Linux kernel: VFIO device access and IOMMU groups ](https://docs.kernel.org/driver-api/vfio.html)· パススルーに関連する分離グループ、デバイスの所有権、および制約について説明しています。特定のマザーボード用の互換性リストではありません。

## この記事は役に立ちましたか？

「はい」または「いいえ」を選択するだけで完了します。必要に応じて理由を選択するか、簡単なメモを追加してください。

概要情報

このページの簡単な要約です。仕様、情報源、詳細な内容は記事本文に記載されています。

---

Source: [Canonical Feex Wiki page](https://feex.it/wiki/l/ja/hardware/system/vt-d/)

[Developer guide](https://feex.it/wiki/developers/) | [API policy](https://feex.it/developers/api-policy/) | [Agent guidance](https://feex.it/wiki/llms.txt)
