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

From: Antonios Motakis
Date: Wed Nov 05 2014 - 04:50:30 EST


On Fri, Oct 31, 2014 at 9:04 PM, Alex Williamson
<alex.williamson@xxxxxxxxxx> wrote:
>
> On Mon, 2014-10-27 at 19:05 +0100, Antonios Motakis wrote:
> > 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@xxxxxxxxxxxxxxxxxxxxxx>
> > ---
> > 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
> >
> > /*
> > * The IOCTL interface is designed for extensibility by embedding the
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/