From: Jan Beulich Date: Thu, 16 Aug 2012 16:38:05 +0000 (+0100) Subject: EPT/PoD: fix interaction with 1Gb pages X-Git-Tag: 4.2.0-rc3~17 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=98bd89a61939c4b70b612825fc73c87b91ba77a1;p=people%2Fdwmw2%2Fxen.git 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 Acked-by: Tim Deegan Committed-by: Tim Deegan --- diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c index 49c044e59f..c964f542b4 100644 --- a/xen/arch/x86/mm/p2m-ept.c +++ b/xen/arch/x86/mm/p2m-ept.c @@ -521,13 +521,12 @@ static mfn_t ept_get_entry(struct p2m_domain *p2m, } /* Populate this superpage */ - ASSERT(i == 1); + ASSERT(i <= 2); index = gfn_remainder >> ( i * EPT_TABLE_ORDER); ept_entry = table + index; - if ( !p2m_pod_demand_populate(p2m, gfn, - PAGE_ORDER_2M, q) ) + if ( !p2m_pod_demand_populate(p2m, gfn, i * EPT_TABLE_ORDER, q) ) goto retry; else goto out;