--- a/xen/arch/x86/mm/p2m-ept.c +++ b/xen/arch/x86/mm/p2m-ept.c @@ -521,13 +521,13 @@ static mfn_t ept_get_entry(struct p2m_do } /* Populate this superpage */ - ASSERT(i == 1); +if(i >= 2) printk("PoD[%lx] level=%d\n", gfn, i);//temp + 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;