Re: [PATCH v2 1/3] iommu/uapi: Define uapi version and capabilities

From: Jacob Pan
Date: Fri Mar 27 2020 - 19:47:57 EST


On Fri, 27 Mar 2020 00:47:02 -0700
Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:

> On Fri, Mar 27, 2020 at 02:49:55AM +0000, Tian, Kevin wrote:
> > If those API calls are inter-dependent for composing a feature
> > (e.g. SVA), shouldn't we need a way to check them together before
> > exposing the feature to the guest, e.g. through a
> > iommu_get_uapi_capabilities interface?
>
> Yes, that makes sense. The important bit is to have a capability
> flags and not version numbers.

The challenge is that there are two consumers in the kernel for this.
1. VFIO only look for compatibility, and size of each data struct such
that it can copy_from_user.

2. IOMMU driver, the "real consumer" of the content.

For 2, I agree and we do plan to use the capability flags to check
content and maintain backward compatibility etc.

For VFIO, it is difficult to do size look up based on capability flags.


Jacob