iommu: Better document the IOMMU_PRIV flag

This is a fairly subtle thing - let's make sure it's described as
clearly as possible to avoid potential misunderstandings.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
Robin Murphy 2017-01-27 12:22:54 +00:00 committed by Will Deacon
parent c02ed2e75e
commit adf5e5168b
1 changed files with 7 additions and 4 deletions

View File

@ -32,10 +32,13 @@
#define IOMMU_NOEXEC (1 << 3) #define IOMMU_NOEXEC (1 << 3)
#define IOMMU_MMIO (1 << 4) /* e.g. things like MSI doorbells */ #define IOMMU_MMIO (1 << 4) /* e.g. things like MSI doorbells */
/* /*
* This is to make the IOMMU API setup privileged * Where the bus hardware includes a privilege level as part of its access type
* mapppings accessible by the master only at higher * markings, and certain devices are capable of issuing transactions marked as
* privileged execution level and inaccessible at * either 'supervisor' or 'user', the IOMMU_PRIV flag requests that the other
* less privileged levels. * given permission flags only apply to accesses at the higher privilege level,
* and that unprivileged transactions should have as little access as possible.
* This would usually imply the same permissions as kernel mappings on the CPU,
* if the IOMMU page table format is equivalent.
*/ */
#define IOMMU_PRIV (1 << 5) #define IOMMU_PRIV (1 << 5)