File 25757-x86-EPT-PoD-1Gb-assert.patch of Package xen.openSUSE_12.1_Update

# HG changeset patch
# User Jan Beulich <jbeulich@suse.com>
# Date 1345135085 -3600
# Node ID 3468a834be8d7d36e135706639c4c61965ab8116
# Parent  8918737c7e80fb3e5fd410c6f386cd21afa0683a
EPT/PoD: fix interaction with 1Gb pages

When PoD got enabled to support 1Gb pages, ept_get_entry() didn't get
updated to match - the assertion in there triggered, indicating that
the call to p2m_pod_demand_populate() needed adjustment.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>

--- a/xen/arch/x86/mm/hap/p2m-ept.c
+++ b/xen/arch/x86/mm/hap/p2m-ept.c
@@ -542,13 +542,13 @@ static mfn_t ept_get_entry(struct p2m_do
             }
 
             /* Populate this superpage */
-            ASSERT(i == 1);
+            ASSERT(i <= 2);
 
             index = gfn_remainder >> ( i * EPT_TABLE_ORDER);
             ept_entry = table + index;
 
-            if ( !ept_pod_check_and_populate(p2m, gfn,
-                                             ept_entry, 9, q) )
+            if ( !ept_pod_check_and_populate(p2m, gfn, ept_entry,
+                                             i * EPT_TABLE_ORDER, q) )
                 goto retry;
             else
                 goto out;
openSUSE Build Service is sponsored by