From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert VanVossen Subject: Re: [PATCH v2] xen/passthrough: Support a single iommu_domain per xen domain per SMMU Date: Tue, 24 Mar 2015 10:04:29 -0400 Message-ID: <55116EED.8010704@dornerworks.com> References: <1427118384-7312-1-git-send-email-robert.vanvossen@dornerworks.com> <55114563.2050400@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" 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 1YaPSQ-0000Eg-Ge for xen-devel@lists.xenproject.org; Tue, 24 Mar 2015 14:05:26 +0000 In-Reply-To: <55114563.2050400@caviumnetworks.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Manish Jaggi , xen-devel@lists.xenproject.org Cc: julien.grall@citrix.com, edgar.iglesias@xilinx.com, Josh.Whitehead@dornerworks.com, Ian.Campbell@citrix.com, Stefano.Stabellini@eu.citrix.com List-Id: xen-devel@lists.xenproject.org On 3/24/2015 7:07 AM, Manish Jaggi wrote: > > On Monday 23 March 2015 07:16 PM, Robbie VanVossen wrote: >> If multiple devices are being passed through to the same domain and they >> share a single SMMU, then they only require a single iommu_domain. >> >> In arm_smmu_assign_dev, before a new iommu_domain is created, the >> xen_domain->contexts is checked for any iommu_domains that are already >> assigned to device that uses the same SMMU as the current device. If one >> is found, attach the device to that iommu_domain. If a new one isn't >> found, create a new iommu_domain just like before. >> >> The arm_smmu_deassign_dev function assumes that there is a single >> device per iommu_domain. This meant that when the first device was >> deassigned, the iommu_domain was freed and when another device was >> deassigned a crash occured in xen. >> >> To fix this, a reference counter was added to the iommu_domain struct. >> When an arm_smmu_xen_device references an iommu_domain, the >> iommu_domains ref is incremented. When that reference is removed, the >> iommu_domains ref is decremented. The iommu_domain will only be freed >> when the ref is 0. >> >> Signed-off-by: Robbie VanVossen > Hi, > Are you adding a PCI passthrough support to Xen ?. I am in process of > sending smmu driver patches based on juliens latest code. > Nope, I am just working on what this patch describes Thanks, Robbie VanVossen DornerWorks