All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@redhat.com>
To: Yi Liu <yi.l.liu@intel.com>
Cc: mjrosato@linux.ibm.com, jasowang@redhat.com,
	xudong.hao@intel.com, peterx@redhat.com, terrence.xu@intel.com,
	chao.p.peng@linux.intel.com, linux-s390@vger.kernel.org,
	kvm@vger.kernel.org, lulu@redhat.com, yanting.jiang@intel.com,
	joro@8bytes.org, nicolinc@nvidia.com, jgg@nvidia.com,
	yan.y.zhao@intel.com, intel-gfx@lists.freedesktop.org,
	eric.auger@redhat.com, intel-gvt-dev@lists.freedesktop.org,
	yi.y.sun@linux.intel.com, cohuck@redhat.com,
	shameerali.kolothum.thodi@huawei.com,
	suravee.suthikulpanit@amd.com, robin.murphy@arm.com
Subject: Re: [Intel-gfx] [PATCH v8 24/24] docs: vfio: Add vfio device cdev description
Date: Wed, 29 Mar 2023 16:47:49 -0600	[thread overview]
Message-ID: <20230329164749.2778aa04.alex.williamson@redhat.com> (raw)
In-Reply-To: <20230327094047.47215-25-yi.l.liu@intel.com>

On Mon, 27 Mar 2023 02:40:47 -0700
Yi Liu <yi.l.liu@intel.com> wrote:

> This gives notes for userspace applications on device cdev usage.
> 
> Reviewed-by: Kevin Tian <kevin.tian@intel.com>
> Signed-off-by: Yi Liu <yi.l.liu@intel.com>
> ---
>  Documentation/driver-api/vfio.rst | 127 ++++++++++++++++++++++++++++++
>  1 file changed, 127 insertions(+)
> 
> diff --git a/Documentation/driver-api/vfio.rst b/Documentation/driver-api/vfio.rst
> index 363e12c90b87..77408788b98d 100644
> --- a/Documentation/driver-api/vfio.rst
> +++ b/Documentation/driver-api/vfio.rst
> @@ -239,6 +239,125 @@ group and can access them as follows::
>  	/* Gratuitous device reset and go... */
>  	ioctl(device, VFIO_DEVICE_RESET);
>  
> +IOMMUFD and vfio_iommu_type1
> +----------------------------
> +
> +IOMMUFD is the new user API to manage I/O page tables from userspace.
> +It intends to be the portal of delivering advanced userspace DMA
> +features (nested translation [5], PASID [6], etc.) while being backward
> +compatible with the vfio_iommu_type1 driver.  Eventually vfio_iommu_type1
> +will be deprecated.

"... while also providing a backwards compatibility interface for
existing VFIO_TYPE1v2_IOMMU use cases.  Eventually the vfio_iommu_type1
driver, as well as the legacy vfio container and group model is
intended to be deprecated."

> +
> +With the backward compatibility, no change is required for legacy
> VFIO +drivers or applications to connect a VFIO device to IOMMUFD.
> +
> +	When CONFIG_IOMMUFD_VFIO_CONTAINER=n, VFIO container still provides
> +	/dev/vfio/vfio which connects to vfio_iommu_type1.  To disable VFIO
> +	container and vfio_iommu_type1, the administrator could symbol link
> +	/dev/vfio/vfio to /dev/iommu to enable VFIO container emulation
> +	in IOMMUFD.
> +
> +	When CONFIG_IOMMUFD_VFIO_CONTAINER=y, IOMMUFD directly provides
> +	/dev/vfio/vfio while the VFIO container and vfio_iommu_type1 are
> +	explicitly disabled.
> +

"The IOMMUFD backwards compatibility interface can be enabled two ways.
In the first method, the kernel can be configured with
CONFIG_IOMMUFD_VFIO_CONTAINER, in which case the IOMMUFD subsystem
transparently provides the entire infrastructure for the the VFIO
container and IOMMU backend interfaces.  The compatibility mode can
also be accessed if the VFIO container interface, ie. /dev/vfio/vfio is
simply symlink'd to /dev/iommu.  Note that at the time of writing, the
compatibility mode is not entirely feature complete relative to
VFIO_TYPE1v2_IOMMU (ex. DMA mapping MMIO) and does not attempt to
provide compatibility to the VFIO_SPAPR_TCE_IOMMU interface.  Therefore
it is not generally advisable at this time to switch from native VFIO
implementations to the IOMMUFD compatibility interfaces.

Long term, VFIO users should migrate to device access through the cdev
interface described below, and native access through the IOMMUFD
provided interfaces."

Thanks,
Alex

> +VFIO Device cdev
> +----------------
> +
> +Traditionally user acquires a device fd via VFIO_GROUP_GET_DEVICE_FD
> +in a VFIO group.
> +
> +With CONFIG_VFIO_DEVICE_CDEV=y the user can now acquire a device fd
> +by directly opening a character device /dev/vfio/devices/vfioX where
> +"X" is the number allocated uniquely by VFIO for registered devices.
> +For noiommu devices, the character device would be named with
> "noiommu-" +prefix. e.g. /dev/vfio/devices/noiommu-vfioX.
> +
> +The cdev only works with IOMMUFD.  Both VFIO drivers and applications
> +must adapt to the new cdev security model which requires using
> +VFIO_DEVICE_BIND_IOMMUFD to claim DMA ownership before starting to
> +actually use the device.  Once BIND succeeds then a VFIO device can
> +be fully accessed by the user.
> +
> +VFIO device cdev doesn't rely on VFIO group/container/iommu drivers.
> +Hence those modules can be fully compiled out in an environment
> +where no legacy VFIO application exists.
> +
> +So far SPAPR does not support IOMMUFD yet.  So it cannot support
> device +cdev neither.
> +
> +Device cdev Example
> +-------------------
> +
> +Assume user wants to access PCI device 0000:6a:01.0::
> +
> +	$ ls /sys/bus/pci/devices/0000:6a:01.0/vfio-dev/
> +	vfio0
> +
> +This device is therefore represented as vfio0.  The user can verify
> +its existence::
> +
> +	$ ls -l /dev/vfio/devices/vfio0
> +	crw------- 1 root root 511, 0 Feb 16 01:22
> /dev/vfio/devices/vfio0
> +	$ cat /sys/bus/pci/devices/0000:6a:01.0/vfio-dev/vfio0/dev
> +	511:0
> +	$ ls -l /dev/char/511\:0
> +	lrwxrwxrwx 1 root root 21 Feb 16 01:22 /dev/char/511:0 ->
> ../vfio/devices/vfio0 +
> +Then provide the user with access to the device if unprivileged
> +operation is desired::
> +
> +	$ chown user:user /dev/vfio/devices/vfio0
> +
> +Finally the user could get cdev fd by::
> +
> +	cdev_fd = open("/dev/vfio/devices/vfio0", O_RDWR);
> +
> +An opened cdev_fd doesn't give the user any permission of accessing
> +the device except binding the cdev_fd to an iommufd.  After that
> point +then the device is fully accessible including attaching it to
> an +IOMMUFD IOAS/HWPT to enable userspace DMA::
> +
> +	struct vfio_device_bind_iommufd bind = {
> +		.argsz = sizeof(bind),
> +		.flags = 0,
> +	};
> +	struct iommu_ioas_alloc alloc_data  = {
> +		.size = sizeof(alloc_data),
> +		.flags = 0,
> +	};
> +	struct vfio_device_attach_iommufd_pt attach_data = {
> +		.argsz = sizeof(attach_data),
> +		.flags = 0,
> +	};
> +	struct iommu_ioas_map map = {
> +		.size = sizeof(map),
> +		.flags = IOMMU_IOAS_MAP_READABLE |
> +			 IOMMU_IOAS_MAP_WRITEABLE |
> +			 IOMMU_IOAS_MAP_FIXED_IOVA,
> +		.__reserved = 0,
> +	};
> +
> +	iommufd = open("/dev/iommu", O_RDWR);
> +
> +	bind.iommufd = iommufd; // negative value means vfio-noiommu
> mode
> +	ioctl(cdev_fd, VFIO_DEVICE_BIND_IOMMUFD, &bind);
> +
> +	ioctl(iommufd, IOMMU_IOAS_ALLOC, &alloc_data);
> +	attach_data.pt_id = alloc_data.out_ioas_id;
> +	ioctl(cdev_fd, VFIO_DEVICE_ATTACH_IOMMUFD_PT, &attach_data);
> +
> +	/* Allocate some space and setup a DMA mapping */
> +	map.user_va = (int64_t)mmap(0, 1024 * 1024, PROT_READ |
> PROT_WRITE,
> +				    MAP_PRIVATE | MAP_ANONYMOUS, 0,
> 0);
> +	map.iova = 0; /* 1MB starting at 0x0 from device view */
> +	map.length = 1024 * 1024;
> +	map.ioas_id = alloc_data.out_ioas_id;;
> +
> +	ioctl(iommufd, IOMMU_IOAS_MAP, &map);
> +
> +	/* Other device operations as stated in "VFIO Usage Example"
> */ +
>  VFIO User API
>  -------------------------------------------------------------------------------
>  
> @@ -566,3 +685,11 @@ This implementation has some specifics:
>  				\-0d.1
>  
>  	00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev
> 90) +
> +.. [5] Nested translation is an IOMMU feature which supports two
> stage
> +   address translations.  This improves the address translation
> efficiency
> +   in IOMMU virtualization.
> +
> +.. [6] PASID stands for Process Address Space ID, introduced by PCI
> +   Express.  It is a prerequisite for Shared Virtual Addressing (SVA)
> +   and Scalable I/O Virtualization (Scalable IOV).


WARNING: multiple messages have this Message-ID (diff)
From: Alex Williamson <alex.williamson@redhat.com>
To: Yi Liu <yi.l.liu@intel.com>
Cc: jgg@nvidia.com, kevin.tian@intel.com, joro@8bytes.org,
	robin.murphy@arm.com, cohuck@redhat.com, eric.auger@redhat.com,
	nicolinc@nvidia.com, kvm@vger.kernel.org, mjrosato@linux.ibm.com,
	chao.p.peng@linux.intel.com, yi.y.sun@linux.intel.com,
	peterx@redhat.com, jasowang@redhat.com,
	shameerali.kolothum.thodi@huawei.com, lulu@redhat.com,
	suravee.suthikulpanit@amd.com,
	intel-gvt-dev@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, linux-s390@vger.kernel.org,
	xudong.hao@intel.com, yan.y.zhao@intel.com,
	terrence.xu@intel.com, yanting.jiang@intel.com
Subject: Re: [PATCH v8 24/24] docs: vfio: Add vfio device cdev description
Date: Wed, 29 Mar 2023 16:47:49 -0600	[thread overview]
Message-ID: <20230329164749.2778aa04.alex.williamson@redhat.com> (raw)
In-Reply-To: <20230327094047.47215-25-yi.l.liu@intel.com>

On Mon, 27 Mar 2023 02:40:47 -0700
Yi Liu <yi.l.liu@intel.com> wrote:

> This gives notes for userspace applications on device cdev usage.
> 
> Reviewed-by: Kevin Tian <kevin.tian@intel.com>
> Signed-off-by: Yi Liu <yi.l.liu@intel.com>
> ---
>  Documentation/driver-api/vfio.rst | 127 ++++++++++++++++++++++++++++++
>  1 file changed, 127 insertions(+)
> 
> diff --git a/Documentation/driver-api/vfio.rst b/Documentation/driver-api/vfio.rst
> index 363e12c90b87..77408788b98d 100644
> --- a/Documentation/driver-api/vfio.rst
> +++ b/Documentation/driver-api/vfio.rst
> @@ -239,6 +239,125 @@ group and can access them as follows::
>  	/* Gratuitous device reset and go... */
>  	ioctl(device, VFIO_DEVICE_RESET);
>  
> +IOMMUFD and vfio_iommu_type1
> +----------------------------
> +
> +IOMMUFD is the new user API to manage I/O page tables from userspace.
> +It intends to be the portal of delivering advanced userspace DMA
> +features (nested translation [5], PASID [6], etc.) while being backward
> +compatible with the vfio_iommu_type1 driver.  Eventually vfio_iommu_type1
> +will be deprecated.

"... while also providing a backwards compatibility interface for
existing VFIO_TYPE1v2_IOMMU use cases.  Eventually the vfio_iommu_type1
driver, as well as the legacy vfio container and group model is
intended to be deprecated."

> +
> +With the backward compatibility, no change is required for legacy
> VFIO +drivers or applications to connect a VFIO device to IOMMUFD.
> +
> +	When CONFIG_IOMMUFD_VFIO_CONTAINER=n, VFIO container still provides
> +	/dev/vfio/vfio which connects to vfio_iommu_type1.  To disable VFIO
> +	container and vfio_iommu_type1, the administrator could symbol link
> +	/dev/vfio/vfio to /dev/iommu to enable VFIO container emulation
> +	in IOMMUFD.
> +
> +	When CONFIG_IOMMUFD_VFIO_CONTAINER=y, IOMMUFD directly provides
> +	/dev/vfio/vfio while the VFIO container and vfio_iommu_type1 are
> +	explicitly disabled.
> +

"The IOMMUFD backwards compatibility interface can be enabled two ways.
In the first method, the kernel can be configured with
CONFIG_IOMMUFD_VFIO_CONTAINER, in which case the IOMMUFD subsystem
transparently provides the entire infrastructure for the the VFIO
container and IOMMU backend interfaces.  The compatibility mode can
also be accessed if the VFIO container interface, ie. /dev/vfio/vfio is
simply symlink'd to /dev/iommu.  Note that at the time of writing, the
compatibility mode is not entirely feature complete relative to
VFIO_TYPE1v2_IOMMU (ex. DMA mapping MMIO) and does not attempt to
provide compatibility to the VFIO_SPAPR_TCE_IOMMU interface.  Therefore
it is not generally advisable at this time to switch from native VFIO
implementations to the IOMMUFD compatibility interfaces.

Long term, VFIO users should migrate to device access through the cdev
interface described below, and native access through the IOMMUFD
provided interfaces."

Thanks,
Alex

> +VFIO Device cdev
> +----------------
> +
> +Traditionally user acquires a device fd via VFIO_GROUP_GET_DEVICE_FD
> +in a VFIO group.
> +
> +With CONFIG_VFIO_DEVICE_CDEV=y the user can now acquire a device fd
> +by directly opening a character device /dev/vfio/devices/vfioX where
> +"X" is the number allocated uniquely by VFIO for registered devices.
> +For noiommu devices, the character device would be named with
> "noiommu-" +prefix. e.g. /dev/vfio/devices/noiommu-vfioX.
> +
> +The cdev only works with IOMMUFD.  Both VFIO drivers and applications
> +must adapt to the new cdev security model which requires using
> +VFIO_DEVICE_BIND_IOMMUFD to claim DMA ownership before starting to
> +actually use the device.  Once BIND succeeds then a VFIO device can
> +be fully accessed by the user.
> +
> +VFIO device cdev doesn't rely on VFIO group/container/iommu drivers.
> +Hence those modules can be fully compiled out in an environment
> +where no legacy VFIO application exists.
> +
> +So far SPAPR does not support IOMMUFD yet.  So it cannot support
> device +cdev neither.
> +
> +Device cdev Example
> +-------------------
> +
> +Assume user wants to access PCI device 0000:6a:01.0::
> +
> +	$ ls /sys/bus/pci/devices/0000:6a:01.0/vfio-dev/
> +	vfio0
> +
> +This device is therefore represented as vfio0.  The user can verify
> +its existence::
> +
> +	$ ls -l /dev/vfio/devices/vfio0
> +	crw------- 1 root root 511, 0 Feb 16 01:22
> /dev/vfio/devices/vfio0
> +	$ cat /sys/bus/pci/devices/0000:6a:01.0/vfio-dev/vfio0/dev
> +	511:0
> +	$ ls -l /dev/char/511\:0
> +	lrwxrwxrwx 1 root root 21 Feb 16 01:22 /dev/char/511:0 ->
> ../vfio/devices/vfio0 +
> +Then provide the user with access to the device if unprivileged
> +operation is desired::
> +
> +	$ chown user:user /dev/vfio/devices/vfio0
> +
> +Finally the user could get cdev fd by::
> +
> +	cdev_fd = open("/dev/vfio/devices/vfio0", O_RDWR);
> +
> +An opened cdev_fd doesn't give the user any permission of accessing
> +the device except binding the cdev_fd to an iommufd.  After that
> point +then the device is fully accessible including attaching it to
> an +IOMMUFD IOAS/HWPT to enable userspace DMA::
> +
> +	struct vfio_device_bind_iommufd bind = {
> +		.argsz = sizeof(bind),
> +		.flags = 0,
> +	};
> +	struct iommu_ioas_alloc alloc_data  = {
> +		.size = sizeof(alloc_data),
> +		.flags = 0,
> +	};
> +	struct vfio_device_attach_iommufd_pt attach_data = {
> +		.argsz = sizeof(attach_data),
> +		.flags = 0,
> +	};
> +	struct iommu_ioas_map map = {
> +		.size = sizeof(map),
> +		.flags = IOMMU_IOAS_MAP_READABLE |
> +			 IOMMU_IOAS_MAP_WRITEABLE |
> +			 IOMMU_IOAS_MAP_FIXED_IOVA,
> +		.__reserved = 0,
> +	};
> +
> +	iommufd = open("/dev/iommu", O_RDWR);
> +
> +	bind.iommufd = iommufd; // negative value means vfio-noiommu
> mode
> +	ioctl(cdev_fd, VFIO_DEVICE_BIND_IOMMUFD, &bind);
> +
> +	ioctl(iommufd, IOMMU_IOAS_ALLOC, &alloc_data);
> +	attach_data.pt_id = alloc_data.out_ioas_id;
> +	ioctl(cdev_fd, VFIO_DEVICE_ATTACH_IOMMUFD_PT, &attach_data);
> +
> +	/* Allocate some space and setup a DMA mapping */
> +	map.user_va = (int64_t)mmap(0, 1024 * 1024, PROT_READ |
> PROT_WRITE,
> +				    MAP_PRIVATE | MAP_ANONYMOUS, 0,
> 0);
> +	map.iova = 0; /* 1MB starting at 0x0 from device view */
> +	map.length = 1024 * 1024;
> +	map.ioas_id = alloc_data.out_ioas_id;;
> +
> +	ioctl(iommufd, IOMMU_IOAS_MAP, &map);
> +
> +	/* Other device operations as stated in "VFIO Usage Example"
> */ +
>  VFIO User API
>  -------------------------------------------------------------------------------
>  
> @@ -566,3 +685,11 @@ This implementation has some specifics:
>  				\-0d.1
>  
>  	00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev
> 90) +
> +.. [5] Nested translation is an IOMMU feature which supports two
> stage
> +   address translations.  This improves the address translation
> efficiency
> +   in IOMMU virtualization.
> +
> +.. [6] PASID stands for Process Address Space ID, introduced by PCI
> +   Express.  It is a prerequisite for Shared Virtual Addressing (SVA)
> +   and Scalable I/O Virtualization (Scalable IOV).


  reply	other threads:[~2023-03-29 22:47 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-27  9:40 [PATCH v8 00/24] Add vfio_device cdev for iommufd support Yi Liu
2023-03-27  9:40 ` [Intel-gfx] " Yi Liu
2023-03-27  9:40 ` [PATCH v8 01/24] vfio: Allocate per device file structure Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-27  9:40 ` [PATCH v8 02/24] vfio: Refine vfio file kAPIs for KVM Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-27  9:40 ` [PATCH v8 03/24] vfio: Remove vfio_file_is_group() Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-30 23:50   ` Jason Gunthorpe
2023-03-30 23:50     ` [Intel-gfx] " Jason Gunthorpe
2023-03-27  9:40 ` [PATCH v8 04/24] vfio: Accept vfio device file in the KVM facing kAPI Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-27  9:40 ` [PATCH v8 05/24] kvm/vfio: Rename kvm_vfio_group to prepare for accepting vfio device fd Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-27  9:40 ` [PATCH v8 06/24] kvm/vfio: Accept vfio device file from userspace Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-27  9:40 ` [PATCH v8 07/24] vfio: Pass struct vfio_device_file * to vfio_device_open/close() Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-27  9:40 ` [PATCH v8 08/24] vfio: Block device access via device fd until device is opened Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-28 21:33   ` Alex Williamson
2023-03-28 21:33     ` Alex Williamson
2023-03-29  2:23     ` Liu, Yi L
2023-03-29  2:23       ` [Intel-gfx] " Liu, Yi L
2023-03-27  9:40 ` [PATCH v8 09/24] vfio: Add cdev_device_open_cnt to vfio_group Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-27  9:40 ` [PATCH v8 10/24] vfio: Make vfio_device_open() single open for device cdev path Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-30 23:52   ` Jason Gunthorpe
2023-03-30 23:52     ` [Intel-gfx] " Jason Gunthorpe
2023-03-27  9:40 ` [PATCH v8 11/24] vfio: Make vfio_device_first_open() to accept NULL iommufd for noiommu Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-30 23:56   ` Jason Gunthorpe
2023-03-30 23:56     ` [Intel-gfx] " Jason Gunthorpe
2023-03-27  9:40 ` [PATCH v8 12/24] vfio-iommufd: Move noiommu support out of vfio_iommufd_bind() Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-27  9:40 ` [PATCH v8 13/24] vfio-iommufd: Split bind/attach into two steps Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-27  9:40 ` [PATCH v8 14/24] vfio: Record devid in vfio_device_file Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-27  9:40 ` [PATCH v8 15/24] vfio-iommufd: Add detach_ioas support for physical VFIO devices Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-27  9:40 ` [PATCH v8 16/24] iommufd/device: Add iommufd_access_detach() API Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-28  2:23   ` Jon Pan-Doh
2023-03-28  2:23     ` [Intel-gfx] " Jon Pan-Doh
2023-03-28 15:54     ` Nicolin Chen
2023-03-28 15:54       ` [Intel-gfx] " Nicolin Chen
2023-03-29  2:24       ` Liu, Yi L
2023-03-29  2:24         ` [Intel-gfx] " Liu, Yi L
2023-03-27  9:40 ` [PATCH v8 17/24] vfio-iommufd: Add detach_ioas support for emulated VFIO devices Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-27  9:40 ` [PATCH v8 18/24] vfio: Determine noiommu in vfio_device registration Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-28  6:36   ` Tian, Kevin
2023-03-28  6:36     ` [Intel-gfx] " Tian, Kevin
2023-03-27  9:40 ` [PATCH v8 19/24] vfio: Name noiommu vfio_device with "noiommu-" prefix Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-28  6:37   ` Tian, Kevin
2023-03-28  6:37     ` [Intel-gfx] " Tian, Kevin
2023-03-27  9:40 ` [PATCH v8 20/24] vfio: Add cdev for vfio_device Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-29 19:57   ` Alex Williamson
2023-03-29 19:57     ` [Intel-gfx] " Alex Williamson
2023-03-30  5:35     ` Liu, Yi L
2023-03-30  5:35       ` [Intel-gfx] " Liu, Yi L
2023-03-27  9:40 ` [PATCH v8 21/24] vfio: Add VFIO_DEVICE_BIND_IOMMUFD Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-29 21:00   ` Alex Williamson
2023-03-29 21:00     ` Alex Williamson
2023-03-29 23:22     ` Jason Gunthorpe
2023-03-29 23:22       ` [Intel-gfx] " Jason Gunthorpe
2023-03-30 12:52       ` Liu, Yi L
2023-03-30 12:52         ` [Intel-gfx] " Liu, Yi L
2023-03-30 12:59         ` Jason Gunthorpe
2023-03-30 12:59           ` [Intel-gfx] " Jason Gunthorpe
2023-03-30  7:09     ` Liu, Yi L
2023-03-30  7:09       ` [Intel-gfx] " Liu, Yi L
2023-03-30 11:52       ` Jason Gunthorpe
2023-03-30 11:52         ` Jason Gunthorpe
2023-03-30 12:53         ` Liu, Yi L
2023-03-30 12:53           ` [Intel-gfx] " Liu, Yi L
2023-03-27  9:40 ` [PATCH v8 22/24] vfio: Add VFIO_DEVICE_AT[DE]TACH_IOMMUFD_PT Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-29 21:19   ` Alex Williamson
2023-03-29 21:19     ` [Intel-gfx] " Alex Williamson
2023-03-30 13:02     ` Liu, Yi L
2023-03-30 13:02       ` Liu, Yi L
2023-03-27  9:40 ` [PATCH v8 23/24] vfio: Compile group optionally Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-29 21:51   ` Alex Williamson
2023-03-29 21:51     ` Alex Williamson
2023-03-30 13:06     ` Liu, Yi L
2023-03-30 13:06       ` [Intel-gfx] " Liu, Yi L
2023-03-27  9:40 ` [PATCH v8 24/24] docs: vfio: Add vfio device cdev description Yi Liu
2023-03-27  9:40   ` [Intel-gfx] " Yi Liu
2023-03-29 22:47   ` Alex Williamson [this message]
2023-03-29 22:47     ` Alex Williamson
2023-03-29 22:57     ` Alex Williamson
2023-03-29 22:57       ` [Intel-gfx] " Alex Williamson
2023-03-30 13:11     ` Liu, Yi L
2023-03-30 13:11       ` [Intel-gfx] " Liu, Yi L
2023-03-27 12:03 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for Add vfio_device cdev for iommufd support (rev9) Patchwork
2023-03-27 17:48 ` [Intel-gfx] [PATCH v8 00/24] Add vfio_device cdev for iommufd support Nicolin Chen
2023-03-27 17:48   ` Nicolin Chen
2023-03-28 23:16 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for Add vfio_device cdev for iommufd support (rev10) Patchwork
2023-03-31  3:10 ` [PATCH v8 00/24] Add vfio_device cdev for iommufd support Jiang, Yanting
2023-03-31  3:10   ` [Intel-gfx] " Jiang, Yanting
2023-03-31  5:01 ` Jiang, Yanting
2023-03-31  5:01   ` [Intel-gfx] " Jiang, Yanting

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230329164749.2778aa04.alex.williamson@redhat.com \
    --to=alex.williamson@redhat.com \
    --cc=chao.p.peng@linux.intel.com \
    --cc=cohuck@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-gvt-dev@lists.freedesktop.org \
    --cc=jasowang@redhat.com \
    --cc=jgg@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=lulu@redhat.com \
    --cc=mjrosato@linux.ibm.com \
    --cc=nicolinc@nvidia.com \
    --cc=peterx@redhat.com \
    --cc=robin.murphy@arm.com \
    --cc=shameerali.kolothum.thodi@huawei.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=terrence.xu@intel.com \
    --cc=xudong.hao@intel.com \
    --cc=yan.y.zhao@intel.com \
    --cc=yanting.jiang@intel.com \
    --cc=yi.l.liu@intel.com \
    --cc=yi.y.sun@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.