diff -r 3f660d0e12f7 xen/arch/x86/mm/p2m.c --- a/xen/arch/x86/mm/p2m.c Fri Aug 19 15:26:03 2011 +0200 +++ b/xen/arch/x86/mm/p2m.c Mon Aug 22 13:52:51 2011 +0200 @@ -247,6 +247,7 @@ int p2m_alloc_table(struct p2m_domain *p P2M_PRINTK("populating p2m table\n"); /* Initialise physmap tables for slot zero. Other code assumes this. */ + p2m->defer_nested_flush = 1; if ( !set_p2m_entry(p2m, 0, _mfn(INVALID_MFN), 0, p2m_invalid, p2m->default_access) ) { @@ -277,6 +278,7 @@ int p2m_alloc_table(struct p2m_domain *p } spin_unlock(&p2m->domain->page_alloc_lock); } + p2m->defer_nested_flush = 0; P2M_PRINTK("p2m table initialised (%u pages)\n", page_count); p2m_unlock(p2m);