Subject: [PATCH V8 1/9] iommu: add IOMMU_PRIV attribute

From: [email-masked] (Sricharan)
Date: Fri, 6 Jan 2017 17:35:25 +0530

Hi Joerg,

>-----Original Message-----
>From: linux-arm-kernel [mailto:linux-arm-kernel-bounces at lists.infradead.org] On Behalf Of Joerg Roedel
>Sent: Friday, January 06, 2017 4:36 PM
>To: Sricharan R <[email-masked]>
>Cc: mitchelh at codeaurora.org; pdaly at codeaurora.org; vinod.koul at intel.com; jgebben at codeaurora.org; will.deacon at arm.com;
>linux-kernel at vger.kernel.org; iommu at lists.linux-foundation.org; linux at armlinux.org.uk; jcrouse at codeaurora.org;
>dan.j.williams at intel.com; pratikp at codeaurora.org; tzeng at codeaurora.org; linux-arm-kernel at lists.infradead.org;
>robin.murphy at arm.com
>Subject: Re: [PATCH V8 1/9] iommu: add IOMMU_PRIV attribute
>
>On Mon, Jan 02, 2017 at 06:42:36PM +0530, Sricharan R wrote:
>> From: Mitchel Humpherys <[email-masked]>
>>
>> Add the IOMMU_PRIV attribute, which is used to indicate privileged
>> mappings.
>>
>> Reviewed-by: Robin Murphy <[email-masked]>
>> Tested-by: Robin Murphy <[email-masked]>
>> Signed-off-by: Mitchel Humpherys <[email-masked]>
>> Acked-by: Will Deacon <[email-masked]>
>> ---
>>  include/linux/iommu.h | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/include/linux/iommu.h b/include/linux/iommu.h
>> index 0ff5111..8c15ada 100644
>> --- a/include/linux/iommu.h
>> +++ b/include/linux/iommu.h
>> @@ -31,6 +31,7 @@
>>  #define IOMMU_CACHE	(1 << 2) /* DMA cache coherency */
>>  #define IOMMU_NOEXEC	(1 << 3)
>>  #define IOMMU_MMIO	(1 << 4) /* e.g. things like MSI doorbells */
>> +#define IOMMU_PRIV	(1 << 5) /* privileged */
>
>Since this is a new generic global flag, can you please add a more
>verbose comment telling what a 'privileged' mapping is about in the
>iommu-case? We should have a clear defined semantic for this flag or we
>might end up with different meanings for it with different
>iommu-hardware.

This flag is to inform the iommu api to setup privileged mappings
for the caller which can be accessed only by the master running with
supervisor/privileged permissions and inaccessible to less privileged
execution levels.

i will repost this with comment added.

Regards,
 Sricharan