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 --- 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_do } /* 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;