Hi, mpt size calculation is wrong, we don''t allocate enougth 2MB pages and pagefault in the memset which clears the mpt. Gerd --- xen/arch/x86/x86_32/mm.c.pae 2005-08-05 15:39:23.000000000 +0200 +++ xen/arch/x86/x86_32/mm.c 2005-08-05 16:05:39.115794436 +0200 @@ -98,7 +98,9 @@ * installed, but at least 4MB to cover 4GB address space. This is needed * to make PCI I/O memory address lookups work in guests. */ - if ( (mpt_size = max_page * 4) < (4*1024*1024) ) +#define L2_MASK ((1<<L2_PAGETABLE_SHIFT)-1) + mpt_size = (max_page * 4 + L2_MASK) & ~L2_MASK; + if (mpt_size < 4*1024*1024) mpt_size = 4*1024*1024; for ( i = 0; i < (mpt_size >> L2_PAGETABLE_SHIFT); i++ ) { _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel