On Tue, 19 Jul 2022 15:45:17 +0800 "陈能" <chenneng@xxxxxxxxxxxxxx> wrote: > Hi Maintainers, > We try to develop a user space driver based on > VFIO, but we don't know the version of the kernel on host machine. > Maybe it's a latest kernel(5.x) or an older kernel(3.x). However the > kernel supports VFIO from version 3.6.And VFIO of the 5.10 kernel > version has about 1000 lines of code more than VFIO of the 3.6 kernel > version.we don't know the functional difference between VFIO of each > version. For example, a driver based on the latest VFIO, can I run it > on the older VFIO? Besides, Can you help provide the function > list/release note of each version of VFIO? Thanks a lot. You can certainly look at the commit log of the documented uAPI: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/include/uapi/linux/vfio.h In general the uAPI is backwards compatible, there's essentially a base set of features along with capabilities and extensions that can be discovered. You can look at other userspace drivers like QEMU or DPDK which also don't specifically rely on knowing the underlying kernel version, they make use of features and capabilities as they're available. Thanks, Alex