Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753130AbcLFR2P (ORCPT ); Tue, 6 Dec 2016 12:28:15 -0500 Received: from foss.arm.com ([217.140.101.70]:48446 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751802AbcLFR2M (ORCPT ); Tue, 6 Dec 2016 12:28:12 -0500 Subject: Re: [RFC v3 03/10] iommu: Add new reserved IOMMU attributes To: Eric Auger , eric.auger.pro@gmail.com, christoffer.dall@linaro.org, marc.zyngier@arm.com, alex.williamson@redhat.com, will.deacon@arm.com, joro@8bytes.org, tglx@linutronix.de, jason@lakedaemon.net, linux-arm-kernel@lists.infradead.org References: <1479215363-2898-1-git-send-email-eric.auger@redhat.com> <1479215363-2898-4-git-send-email-eric.auger@redhat.com> Cc: kvm@vger.kernel.org, drjones@redhat.com, linux-kernel@vger.kernel.org, pranav.sawargaonkar@gmail.com, iommu@lists.linux-foundation.org, punit.agrawal@arm.com, diana.craciun@nxp.com From: Robin Murphy Message-ID: <2b80e62b-5a1a-d2d0-eeb0-ad1d7ed0f44b@arm.com> Date: Tue, 6 Dec 2016 17:28:08 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <1479215363-2898-4-git-send-email-eric.auger@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1246 Lines: 36 On 15/11/16 13:09, Eric Auger wrote: > IOMMU_RESV_NOMAP is used to tag reserved IOVAs that are not > supposed to be IOMMU mapped. IOMMU_RESV_MSI tags IOVAs > corresponding to MSIs that need to be IOMMU mapped. > > IOMMU_RESV_MASK allows to check if the IOVA is reserved. > > Signed-off-by: Eric Auger > --- > include/linux/iommu.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/include/linux/iommu.h b/include/linux/iommu.h > index 7f6ebd0..02cf565 100644 > --- a/include/linux/iommu.h > +++ b/include/linux/iommu.h > @@ -32,6 +32,10 @@ > #define IOMMU_NOEXEC (1 << 3) > #define IOMMU_MMIO (1 << 4) /* e.g. things like MSI doorbells */ > > +#define IOMMU_RESV_MASK 0x300 /* Reserved IOVA mask */ > +#define IOMMU_RESV_NOMAP (1 << 8) /* IOVA that cannot be mapped */ > +#define IOMMU_RESV_MSI (1 << 9) /* MSI region transparently mapped */ It feels a bit grotty encoding these in prot - NOMAP sort of fits, but MSI really is something else entirely. On reflection I think a separate iommu_resv_region::type field would be better, particularly as it's something we might potentially want to expose via the sysfs entry. Robin. > + > struct iommu_ops; > struct iommu_group; > struct bus_type; >