From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v3 3/3] xen/arm: introduce XENFEAT_grant_map_identity Date: Thu, 24 Jul 2014 16:17:10 +0100 Message-ID: <53D12376.6090307@linaro.org> References: <1406208666-23547-3-git-send-email-stefano.stabellini@eu.citrix.com> <53D1292802000078000258E6@mail.emea.novell.com> <53D137B402000078000259DB@mail.emea.novell.com> <53D11C9E.3060700@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XAKlg-0001re-TG for xen-devel@lists.xenproject.org; Thu, 24 Jul 2014 15:17:17 +0000 Received: by mail-wg0-f44.google.com with SMTP id m15so2867186wgh.15 for ; Thu, 24 Jul 2014 08:17:15 -0700 (PDT) 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: Stefano Stabellini Cc: julien.grall@citrix.com, xen-devel , Ian.Campbell@citrix.com, Jan Beulich List-Id: xen-devel@lists.xenproject.org On 07/24/2014 04:02 PM, Stefano Stabellini wrote: > On Thu, 24 Jul 2014, Julien Grall wrote: >> On 07/24/2014 03:43 PM, Jan Beulich wrote: >>>>>> On 24.07.14 at 16:10, wrote: >>>> On Thu, 24 Jul 2014, Jan Beulich wrote: >>>>>>>> On 24.07.14 at 15:31, wrote: >>>>>> --- a/xen/common/grant_table.c >>>>>> +++ b/xen/common/grant_table.c >>>>>> @@ -727,7 +727,7 @@ __gnttab_map_grant_ref( >>>>>> >>>>>> double_gt_lock(lgt, rgt); >>>>>> >>>>>> - if ( gnttab_need_iommu_mapping(ld) ) >>>>>> + if ( gnttab_need_iommu_mapping(ld) || gnttab_need_identity_mapping(ld) >>>> ) >>>>> >>>>> As before I think this change is pointless. >>>> >>>> I don't understand how you propose to solve the problem. >>> >>> I think ARM's gnttab_need_iommu_mapping() needs to just be >>> is_domain_direct_mapped() then. > > That's not correct either. It would work, but it is conceptually wrong. > From the ARM perspective we have 2 distinct cases to cover: > - we have an smmu and we need to create a mapping for it > - we don't have an smmu and we need an identity mapping > > >> So ARM people will think we need an iommu to add the identity mapping. >> Why don't we rename gnttab_need_iommu_mapping into >> gnttab_need_identity_mapping? >> >> It would less confusing for both x86 and ARM. > > I don't think that would be any better. > We have 2 distinct cases to cover, we need to treat them as such. The cases are not so distinct. We need the 1:1 grant mapping for the IOMMU because of the swiotlb and the 1:1 memory mapping. Without it we can easily bypass this code. -- Julien Grall