問題タブ [iommu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1074 参照

virtualization - VT-d (IOMMU) テクノロジについて詳しく知りたいのですが、どこから始めればよいですか?

私は低レベルのエンチュアティストです。Intel VT-x が大好きで、最近、読んで楽しむ時間がありました。私は最近、デバイスごとに「デバイス レルム」を作成できる VT-d という用語を使い始めました。これについて詳しく知りたいのですが、 [1] [2] で検索すると、インテルはこのテクノロジーに関するドキュメントを公開していませんか? もしそうなら - どこで?

私は Xen src を読みたくありません (これはオプションですが)。Intel がこの件に関して公開した実際のドキュメントを読みたいです。

おそらく、あなたたちはここで助けてくれるでしょう。

[1] http://download.intel.com/products/processor/manual/252046.pdf [2] http://download.intel.com/products/processor/manual/325462.pdf

0 投票する
3 に答える
3448 参照

linux - Intel vPro テクノロジー用の Linux CPU フラグはありますか?

Linux カーネル/proc/cpuinfoは、プロセッサーがIntel vProテクノロジーをサポートしていることを示す CPU フラグを提供しますか? 具体的には、オペレーティング システム内から、物理ハードウェアがIntel AMTをサポートしているかどうか、および実際に有効になっているかどうかを確認したいと思います。(TCP 16992 をポートスキャンできることは知っていますが、面倒です!)

Intel VTを示すvmxフラグ、またはIntel DRNGを示すrdrandフラグのようなものを期待しています。

0 投票する
2 に答える
1871 参照

x86-64 - AMD-V 割り込み仮想化 (AVIC): ハードウェアのサポートと IOMMU の相互作用

AMD64 Architecture Programming Manual (APM)、Volume 2 で Advanced Virtual Interrupt Controller (AVIC) に出くわしました。いくつかのビットは私には不明でした。そのため、人気のあるオープンソース ハイパーバイザー (Qemu/KVM およびAMD IOMMU と一緒にどのように使用されるかを確認するには、Xen など) のソースを参照してください。それらのどれも AVIC を使用していないようで、Bochs/Qemu もそれをエミュレートしていません (Qemu には IOMMU エミュレーションがありますが、割り込みを仮想化しないリビジョン 1 用です)。

したがって、次の 2 つの疑問が生じます。

  1. なぜAVICはそれほど「不人気」なのですか?おそらく、現在市場に出回っている CPU では広くサポートされていないのでしょうか。それとも、これらすべてのハイパーバイザーには長い歴史があり、割り込みを独自に仮想化しているため、AVIC への移植が最優先事項ではないためでしょうか? (または、ソースで何かを見逃したのでしょうか?)

  2. [元の質問] IOMMU のデバイス テーブル エントリのゲスト仮想 APIC テーブル ルート ポインタは、APM Vol. 2 で定義されている物理 APIC ID テーブルへのポインタですか。2、セクション。15.29.2.3?

説明ありがとうございます。

0 投票する
0 に答える
1910 参照

x86 - ARM SMMU と x86 IOMMU の機能の違いは?

I/O 仮想化についていくつか調査しました。IOMMU は、ハードウェア支援による I/O 仮想化の主要なハードウェア コンポーネントであることがわかりました。

ARM SMMU はどうですか?ARM SMMU と x86 IOMMU に違いはありますか?

ありがとう!

0 投票する
1 に答える
2358 参照

linux-kernel - BIOS サポートなしの IOMMU 初期化

: IOMMU をサポートするマザーボードに AMD A55 チップセットが搭載されている場合は、そのコピー/sys/firmware/acpi/tables/DMAR(または IOMMU を説明する名前) を私に送ってください。あなたには何のリスクもありません。ありがとう!


ほとんどのマザーボード メーカーは、IOMMU 対応の BIOS (BIOS にオプションなし) をわざわざリリースすることはありません。

AMD からのこのドキュメントを誤解しているのは、BIOS が ACPI テーブルを追加して IOMMU を初期化することです。

したがって、マザーボードは異なるが、IOMMU をサポートする同じチップセットを搭載したシステムから ACPI テーブル (acpidump/acpiextract) のダンプを取得できた場合、iommu モジュールが実行される前のある時点でこれらのテーブルを挿入することで、IOMMU をアクティブにすることが可能でしょうか?ロードされた?

iommu が (モジュールとしてではなく) カーネルに組み込まれている場合、カーネル ブートの初期段階でオンザフライで acpi テーブルを変更できるメカニズムはありますか? それ以外の場合は、ブートローダー (grub/lilo) がそれを行うことができますか?

これらの「新しい」テーブル内の一部のアドレスは、更新が必要になる可能性が非常に高くなります。これらのアドレスは既存の ACPI テーブルにありますか (差分が役立つように)?

0 投票する
2 に答える
6124 参照

linux-kernel - Linux IOMMU ページ テーブル

Linux でのIOMMUサポートについて読んでいて、IOMMU のページ テーブルに関していくつか質問があります。

  1. IOMMU は VA → PA マッピングを格納するために CPU MMU ページ テーブルを使用しますか?
  2. そうでない場合、つまり仮想アドレスが異なる場合、マッピングはデバイスごとまたは IOMMU ユニットごとに作成されますか?

私はまだドライバー コードを見ていないので、サンプル ドライバー コードを教えていただけると助かります。

0 投票する
1 に答える
1466 参照

c - ユーザー空間アドレスでの Linux IOMMU API の使用

dma_map_pageユーザー空間アドレスを dma アドレスにマップするために現在使用している pci デバイス ドライバーがあります。これは正常に機能していますが、これを iommu api に移植して、グループとドメインを使用する利点をいくつか得ようとしています。

現在のコード: これは正常に動作します

IOMMU コード: これは機能しません

すべての関数が正常に返されますが、iova をデバイスに渡すと、デバイスはそれを使用できません。以前に iommu を使用したことがあり、私の問題がどこにあるのか、またはどこを見ればよいかを知っている人はいますか? Linux の iommu 実装については、どこにもあまり見つけることができませんでした。

編集: dmesg には、初めて見逃したエントリがいくつかありました。

0 投票する
1 に答える
95 参照

iommu - VT-d を使用する Xen 環境で、1 つのドメインに複数の iommu ページ テーブルを設定できますか

ご存知のように、IOMMU は GPA から HPA への再マッピングを行います。xen パススルー ドライバのコードを調べてみると、dom0 に属するすべてのデバイス (domu は同じ) が 1 つの IOMMU ページ テーブルを共有しているようです。

私の現在のプロジェクトは Intel VT-d を使用しており、指定された 1 つのデバイスに対して 1 つの個別の IOMMU ページ テーブルが必要です。したがって、dom0 には合計 2 つの iommu ページ テーブルがあり、1 つは 1:1 マッピング、もう 1 つは私の分離したページ テーブルです。

この要件を満たすことができるのだろうか?もしそうなら、IOMMU はどのように iotlb を実行しますか?