On Mon, Jun 01, 2020 at 10:20:18AM +0300, Paraschiv, Andra-Irina wrote:
Great. The ideas are orthogonal and not all of them need to be used
On 01/06/2020 06:02, Benjamin Herrenschmidt wrote:
On Wed, 2020-05-27 at 09:49 +0100, Stefan Hajnoczi wrote:I see there are several thoughts with regard to extensions possibilities. :)
What about feature bits or a API version number field? If you addBeware, Greg might disagree :)
features to the NE driver, how will userspace detect them?
Even if you intend to always compile userspace against the exact kernel
headers that the program will run on, it can still be useful to have an
API version for informational purposes and to easily prevent user
errors (running a new userspace binary on an old kernel where the API is
different).
Finally, reserved struct fields may come in handy in the future. That
way userspace and the kernel don't need to explicitly handle multiple
struct sizes.
That said, yes, at least a way to query the API version would be
useful.
I added an ioctl for getting the API version, we have now a way to query
that info. Also, I updated the sample in this patch series to check for the
API version.
together. As long as their is a way of extending the API cleanly in the
future then extensions can be made without breaking userspace.