From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: Re: Panic on cpu0 Date: Thu, 16 Dec 2010 11:47:59 +0000 Message-ID: <4D0A0A7F0200007800028595@vpn.id2.novell.com> References: <20101216075912.GG2754@reaktio.net> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: ZhouPeng Cc: "Xen-Devel (E-mail)" , keir.fraser@eu.citrix.com List-Id: xen-devel@lists.xenproject.org >>> On 16.12.10 at 10:30, ZhouPeng wrote: > The err msg appears in > void *map_domain_page(unsigned long mfn) > BUG_ON(idx >=3D MAPCACHE_ENTRIES); >=20 > printk idx is 1024 and BUG_ON is called. >=20 > I print Xen call trace msg: >=20 > [] map_domain_page+0x1a2/0x230 > [] unmap_domain_page+0x148/0x160 > addr_to_dma_page_maddr+0x1f6/0x250 > __find_next_zero_bit+0x80/0x90 > intel_iommu_map_page+0x14a/0x250 > domain_context_mapping+0x14a/0x250 > rmrr_identity_mapping+0xb7/0x120 > intel_iommu_dom0_init+0x143/0x1eb > construct_dom0+0x138f/0x16b0 > __start_xen+0x109a/0x1680 > e820nf+0x0/0x4 > __high_start+0x58/0x5a Could you give the below patch a try? Jan --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -1331,6 +1331,7 @@ int domain_context_mapping_one( if ( context_set_domain_id(context, domain, iommu) ) { spin_unlock(&iommu->lock); + unmap_vtd_domain_page(context_entries); return -EFAULT; } =20 @@ -1672,6 +1673,7 @@ static int intel_iommu_map_page( if ( old.val =3D=3D new.val ) { spin_unlock(&hd->mapping_lock); + unmap_vtd_domain_page(page); return 0; } *pte =3D new;