From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Chen, Tiejun" Subject: Re: [PATCH 15/16] xen/vtd: prevent from assign the device with shared rmrr Date: Sun, 6 Sep 2015 12:19:49 +0800 Message-ID: <55EBBEE5.2090700@intel.com> References: <1437579859-24485-1-git-send-email-ian.jackson@eu.citrix.com> <1437579859-24485-16-git-send-email-ian.jackson@eu.citrix.com> <55E96FD0020000780009F86A@prv-mh.provo.novell.com> <55EBA1E9.5040509@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Tamas K Lengyel Cc: Kevin Tian , xen-devel@lists.xensource.com, Wei Liu , Ian Campbell , George Dunlap , Ian Jackson , Jan Beulich , Yang Zhang List-Id: xen-devel@lists.xenproject.org On 9/6/2015 11:19 AM, Tamas K Lengyel wrote: >> >> diff --git a/xen/drivers/passthrough/vtd/iommu.c >> b/xen/drivers/passthrough/vtd/iommu.c >> index 836aed5..038776a 100644 >> --- a/xen/drivers/passthrough/vtd/iommu.c >> +++ b/xen/drivers/passthrough/vtd/iommu.c >> @@ -2310,12 +2310,16 @@ static int intel_iommu_assign_device( >> PCI_DEVFN2(bdf) == devfn && >> rmrr->scope.devices_cnt > 1 ) >> { >> + u32 relaxed = flag & XEN_DOMCTL_DEV_RDM_RELAXED; >> + >> printk(XENLOG_G_ERR VTDPREFIX >> - " cannot assign %04x:%02x:%02x.%u" >> + " Currently its %s to assign %04x:%02x:%02x.%u" >> " with shared RMRR at %"PRIx64" for Dom%d.\n", >> + relaxed ? "disallowed" : "risky", >> > > This debug message is backwards? Yeah. Its indeed like this, relaxed ? "risky" : "disallowed" But lets wait Jan's comment to step next. > > >> seg, bus, PCI_SLOT(devfn), PCI_FUNC(devfn), >> rmrr->base_address, d->domain_id); >> - return -EPERM; >> + if ( !relaxed ) >> + return -EPERM; >> } >> } >> >> >> Tamas, do you actually mean to assign these to _different_ >>>> guests, considering the log fragment above?) >>>> >>>> >>> No, I actually want to assign them to the same domain. The domain creation >>> fails with either of those devices specified for passthrough whether they >>> are to be attached to the same domain or not. >>> >>> >> Tamas, could you try this in your case? >> > > Took me a while to find the xl config option to set this flag (pci = [ > 'sbdf, rdm_policy=strict/relaxed' ]) but now it works as expected! > I remember 'relaxed' is a default value so 'rdm_policy' can't be dropped here if you like this. Thanks Tiejun