問題タブ [ept]
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.
virtual-machine - EPT の Accessed フラグと Dirty フラグでプロセッサを識別する方法
EPT アクセス/ダーティ ビットをサポートする Intel プロセッサを探していますが、今のところ見つかりません。インテルの開発者マニュアルには、一部のプロセッサがそれをサポートしていると書かれていましたが、これは明確ではありませんでした。
rdmsr を使用して、EPT テーブルがアクセス ビットとダーティ ビットをサポートしているかどうかを判断できることはわかっています。ただし、このサポートを備えたプロセッサを購入する前に識別する方法を知りたいです。
virtualization - Intel EPT テーブルは 4 レベルのページ テーブルですか?
図はここから取られます。
Q1. EPT テーブルはゲスト ページ テーブルの全体のコピーを保持しているようで、4 レベルのページ テーブルになっています。あれは正しいですか?
Q2. ちょっと無駄なスペースじゃない?
Q3. EPT 違反とは正確には何ですか? つまり、ゲストは新しいゲスト仮想アドレス (gVA) にアクセスしようとしていますが、EPT テーブルにはまだレコードがないため、VMM にトラップされ、2 つの gVA および gPA エントリが EPT テーブルに追加されます。あれは正しいですか?
memory-management - インテルの拡張ページ テーブル (EPT) では、TLB はゲストの仮想アドレスをゲストの物理アドレスにキャッシュしますか?
仮想化をサポートする Intel の EPT について読んでいます。ネストされたページテーブルについて読みました。私の質問は、TLB はゲスト VA をゲスト PA にキャッシュするだけでなく、ゲスト PA をホスト マシン アドレスにキャッシュするのですか? それともマシンアドレスへの仮想アドレスですか?
x86 - EPT違反が発生した場合のTLBキャッシュの無効化?
現在、ハイパーバイザー機能を開発中です。
EPT 違反が発生したときに TLB 無効化をどうするかについて混乱しています
i7 CPUを使用して、Linuxで開発しています。私の実装:
- VPID と EPT が有効
- 最初に、すべての EPT エントリの書き込みアクセスがクリアされます (読み取りおよび実行アクセスが設定されます)。
- EPT違反が発生した場合(書き込みを試みたとき)、書き込みアクセスを設定し、エントリを別のページ(別のhpa)を指すように変更します
インテルのマニュアルによると、
「EPT 違反は、EPT 違反の原因となったゲスト物理アドレスの変換に使用されるゲスト物理マッピング (現在の EP4TA に関連付けられている) を無効にします。また、結合されたマッピングも無効にします」
この部分で迷っています。
EPT 違反が、現在のコアの TLB キャッシュだけでなく、他のコアの TLB キャッシュでも対応する TLB エントリを無効にすることを保証しますか?
もしそうなら、tlb シュートダウンせずに、書き込みアクセスを設定して新しい hpa を割り当てるだけでよいでしょうか?