EPT は、ゲストの物理アドレスをホストの物理アドレスにマップします。
EPT (GPA<-->HPA のハードウェア サポート) サポートが導入される前は、ハイパーバイザーはゲスト ページ テーブル マッピング エントリのシャドウ コピーを手動で維持する必要がありました。実際のゲスト ページ テーブルのPTE
エントリは低下access permissions
します。つまり、実際のアクセス許可が書き込みであった場合、読み取りまで低下します。これpage fault
により、ハイパーバイザーによってインターセプトされる が発生します。
次に、ハイパーバイザーは、対応するシャドウ ページ テーブル エントリを更新します。このプロセス全体が非常に遅いものでした。これが、GPA から HPA への変換がハードウェア自体によって行われるように EPT が導入された理由です。
では、最初の質問に答えますが、そうではありません。EPT をサポートしない OS を仮想化する場合でも、ゲスト OS のページ テーブルとは別に、追加のシャドウ ページ テーブル構造を維持する必要があります。
Q3 --Guest Virtual Address(GVA)
は、ネイティブ ハードウェアで実行されている OS で行われるように、ゲスト OS のページ テーブルをトラバースすることにより、ハードウェアによって通常どおり変換されます。Guest Physical Address(GPA)
この翻訳を行った後、EPT が表示されます。現在、ハードウェアは、実際に認識されているアドレスに変換GPA
さHPA
れます。HPA
CPU
guest physical address(GPA)
Ept 違反 VMExit は、EPTに toの既存のマッピングがない場合に発生しhost physical address(HPA)
ます。これにより、VMM への vmExit が発生し、新しいマッピングが作成されます。(Ept 違反は、通常の OS のページ フォールトと同じですが、唯一の違いは、作成されるマッピングの種類です。)