From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Chen, Tiejun" Subject: Re: FreeBSD Dom0 IOMMU issues (resent) Date: Thu, 07 May 2015 10:47:38 +0800 Message-ID: <554AD24A.2010708@intel.com> References: <554A457E.30102@callfortesting.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1YqBqh-00022N-B1 for xen-devel@lists.xenproject.org; Thu, 07 May 2015 02:47:43 +0000 In-Reply-To: <554A457E.30102@callfortesting.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Michael Dexter , =?windows-1252?Q?Roger_?= =?windows-1252?Q?Pau_Monn=E9?= , jbeulich@suse.com, yang.z.zhang@intel.com, kevin.tian@intel.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org On 2015/5/7 0:46, Michael Dexter wrote: > > Hello all, > > (Resend: I cropped out too much and have added 'pciconf -lv' output) > > I have been working with Roger Pau Monne to bring FreeBSD Dom0 support > to a production-ready state but we appear to have hit an IOMMU issue. > > Hardware: Lenovo ThinkPad T420 i7-2640M CPU @ 2.80GHz with 16GB RAM. > > I am attaching my console logs which first show my loader.conf file the > DomU .cfg file and then DomU boot with Xorg starting. I just feel this resembles one known problem but I'm not 100% sure, so just please take a try, #1. Disable interrupt message generation diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c index 1248a17..f0915d7 100644 --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -2018,7 +2018,7 @@ static int init_vtd_hw(void) clear_fault_bits(iommu); spin_lock_irqsave(&iommu->register_lock, flags); - dmar_writel(iommu->reg, DMAR_FECTL_REG, 0); + dmar_writel(iommu->reg, DMAR_FECTL_REG, DMA_FECTL_IM); spin_unlock_irqrestore(&iommu->register_lock, flags); } > > In the end I get: > > (XEN) **************************************** > (XEN) Panic on CPU 2: > (XEN) queue invalidate wait descriptor was not executed > (XEN) **************************************** > > Please let me know if you want me to try any configuration changes. > #2. Please add 'cpuidle=0 msi=1'. Thanks Tiejun