The comment had the meaning of mmu.gva_to_gpa and nested_mmu.gva_to_gpa
swapped. Fix that, and also add some details describing how each translation
works.

Signed-off-by: David Matlack <dmatl...@google.com>
---
 arch/x86/kvm/mmu.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index e7c2c14..098a9c2 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -4058,10 +4058,12 @@ static void init_kvm_nested_mmu(struct kvm_vcpu *vcpu)
        g_context->inject_page_fault = kvm_inject_page_fault;
 
        /*
-        * Note that arch.mmu.gva_to_gpa translates l2_gva to l1_gpa. The
-        * translation of l2_gpa to l1_gpa addresses is done using the
-        * arch.nested_mmu.gva_to_gpa function. Basically the gva_to_gpa
-        * functions between mmu and nested_mmu are swapped.
+        * Note that arch.mmu.gva_to_gpa translates l2_gpa to l1_gpa using
+        * L1's nested page tables (e.g. EPT12). The nested translation
+        * of l2_gva to l1_gpa is done by arch.nested_mmu.gva_to_gpa using
+        * L2's page tables as the first level of translation and L1's
+        * nested page tables as the second level of translation. Basically
+        * the gva_to_gpa functions between mmu and nested_mmu are swapped.
         */
        if (!is_paging(vcpu)) {
                g_context->nx = false;
-- 
2.6.0.rc2.230.g3dd15c0

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to