Thread (3 messages) flat view 3 messages, 2 authors, 2014-11-05

Re: [PATCH v2 1/6] vfio: implement iommu driver capabilities with an enum

From: Antonios Motakis <hidden>
Date: 2014-11-05 09:50:27
Also in: kvm, linux-iommu, lkml

On Fri, Oct 31, 2014 at 9:04 PM, Alex Williamson
[off-list ref] wrote:
On Mon, 2014-10-27 at 19:05 +0100, Antonios Motakis wrote:
quoted
Currently a VFIO driver's IOMMU capabilities are encoded as a series of
numerical defines. Replace this with an enum for future maintainability.

Signed-off-by: Antonios Motakis <a.motakis-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@public.gmane.org>
---
 include/uapi/linux/vfio.h | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h
index 6612974..1e39842 100644
--- a/include/uapi/linux/vfio.h
+++ b/include/uapi/linux/vfio.h
@@ -19,19 +19,18 @@

 /* Kernel & User level defines for VFIO IOCTLs. */

-/* Extensions */
-
-#define VFIO_TYPE1_IOMMU             1
-#define VFIO_SPAPR_TCE_IOMMU         2
-#define VFIO_TYPE1v2_IOMMU           3
 /*
- * IOMMU enforces DMA cache coherence (ex. PCIe NoSnoop stripping).  This
- * capability is subject to change as groups are added or removed.
+ * Capabilities exposed by the VFIO IOMMU driver. Some capabilities are subject
+ * to change as groups are added or removed.
  */
-#define VFIO_DMA_CC_IOMMU            4
-
-/* Check if EEH is supported */
-#define VFIO_EEH                     5
+enum vfio_iommu_cap {
+     VFIO_TYPE1_IOMMU        = 1,
+     VFIO_SPAPR_TCE_IOMMU    = 2,
+     VFIO_TYPE1v2_IOMMU      = 3,
+     VFIO_DMA_CC_IOMMU       = 4, /* IOMMU enforces DMA cache coherence
+                                     (ex. PCIe NoSnoop stripping) */
+     VFIO_EEH                = 5, /* Check if EEH is supported */
+};
Your code base is a little out of date, you're missing:

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/include/uapi/linux/vfio.h?id=f5c9ecebaf2a2c9381973798e389cc019dd983e0

I think the logic looks ok in the rest, but you'll need to use index 7
and the above commit touched the type1 c file as well so you may need to
adjustment there too.  Thanks,
Hello,

I will reapply on the latest version then.

Thanks
Alex
quoted
 /*
  * The IOCTL interface is designed for extensibility by embedding the
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help