AMD64 Architecture Programming Manual (APM)、Volume 2 で Advanced Virtual Interrupt Controller (AVIC) に出くわしました。いくつかのビットは私には不明でした。そのため、人気のあるオープンソース ハイパーバイザー (Qemu/KVM およびAMD IOMMU と一緒にどのように使用されるかを確認するには、Xen など) のソースを参照してください。それらのどれも AVIC を使用していないようで、Bochs/Qemu もそれをエミュレートしていません (Qemu には IOMMU エミュレーションがありますが、割り込みを仮想化しないリビジョン 1 用です)。
したがって、次の 2 つの疑問が生じます。
なぜAVICはそれほど「不人気」なのですか?おそらく、現在市場に出回っている CPU では広くサポートされていないのでしょうか。それとも、これらすべてのハイパーバイザーには長い歴史があり、割り込みを独自に仮想化しているため、AVIC への移植が最優先事項ではないためでしょうか? (または、ソースで何かを見逃したのでしょうか?)
[元の質問] IOMMU のデバイス テーブル エントリのゲスト仮想 APIC テーブル ルート ポインタは、APM Vol. 2 で定義されている物理 APIC ID テーブルへのポインタですか。2、セクション。15.29.2.3?
説明ありがとうございます。