* [PATCH 0/2] Update VFIO doc
@ 2023-02-02 8:01 Yi Liu
2023-02-02 8:02 ` [PATCH 1/2] vfio: Update the kdoc for vfio_device_ops Yi Liu
2023-02-02 8:02 ` [PATCH 2/2] docs: vfio: Update vfio.rst per latest interfaces Yi Liu
0 siblings, 2 replies; 10+ messages in thread
From: Yi Liu @ 2023-02-02 8:01 UTC (permalink / raw)
To: alex.williamson, jgg
Cc: kevin.tian, chao.p.peng, eric.auger, yi.l.liu, yi.y.sun, kvm
Two updates VFIO doc.
Yi Liu (2):
vfio: Update the kdoc for vfio_device_ops
docs: vfio: Update vfio.rst per latest interfaces
Documentation/driver-api/vfio.rst | 71 +++++++++++++++++++++----------
include/linux/vfio.h | 4 ++
2 files changed, 52 insertions(+), 23 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/2] vfio: Update the kdoc for vfio_device_ops
2023-02-02 8:01 [PATCH 0/2] Update VFIO doc Yi Liu
@ 2023-02-02 8:02 ` Yi Liu
2023-02-03 4:01 ` Tian, Kevin
2023-02-02 8:02 ` [PATCH 2/2] docs: vfio: Update vfio.rst per latest interfaces Yi Liu
1 sibling, 1 reply; 10+ messages in thread
From: Yi Liu @ 2023-02-02 8:02 UTC (permalink / raw)
To: alex.williamson, jgg
Cc: kevin.tian, chao.p.peng, eric.auger, yi.l.liu, yi.y.sun, kvm
this is missed when adding bind_iommufd/unbind_iommufd and attach_ioas.
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
---
include/linux/vfio.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/linux/vfio.h b/include/linux/vfio.h
index 35be78e9ae57..cc7685386b53 100644
--- a/include/linux/vfio.h
+++ b/include/linux/vfio.h
@@ -70,6 +70,10 @@ struct vfio_device {
*
* @init: initialize private fields in device structure
* @release: Reclaim private fields in device structure
+ * @bind_iommufd: Called when binding the device to an iommufd
+ * @unbind_iommufd: Opposite of bind_iommufd
+ * @attach_ioas: Called when attaching device to an IOAS/HWPT managed by the
+ * bound iommufd. Undo in unbind_iommufd.
* @open_device: Called when the first file descriptor is opened for this device
* @close_device: Opposite of open_device
* @read: Perform read(2) on device file descriptor
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/2] docs: vfio: Update vfio.rst per latest interfaces
2023-02-02 8:01 [PATCH 0/2] Update VFIO doc Yi Liu
2023-02-02 8:02 ` [PATCH 1/2] vfio: Update the kdoc for vfio_device_ops Yi Liu
@ 2023-02-02 8:02 ` Yi Liu
2023-02-02 22:01 ` Alex Williamson
2023-02-03 4:07 ` Tian, Kevin
1 sibling, 2 replies; 10+ messages in thread
From: Yi Liu @ 2023-02-02 8:02 UTC (permalink / raw)
To: alex.williamson, jgg
Cc: kevin.tian, chao.p.peng, eric.auger, yi.l.liu, yi.y.sun, kvm
this imports the latest vfio_device_ops definition to vfio.rst.
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
---
Documentation/driver-api/vfio.rst | 71 +++++++++++++++++++++----------
1 file changed, 48 insertions(+), 23 deletions(-)
diff --git a/Documentation/driver-api/vfio.rst b/Documentation/driver-api/vfio.rst
index c663b6f97825..10d84f01fda1 100644
--- a/Documentation/driver-api/vfio.rst
+++ b/Documentation/driver-api/vfio.rst
@@ -249,19 +249,22 @@ VFIO bus driver API
VFIO bus drivers, such as vfio-pci make use of only a few interfaces
into VFIO core. When devices are bound and unbound to the driver,
-the driver should call vfio_register_group_dev() and
-vfio_unregister_group_dev() respectively::
+the driver should call vfio_register_group_dev() or
+vfio_register_emulated_iommu_dev() and vfio_unregister_group_dev()
+respectively::
- void vfio_init_group_dev(struct vfio_device *device,
- struct device *dev,
- const struct vfio_device_ops *ops);
- void vfio_uninit_group_dev(struct vfio_device *device);
int vfio_register_group_dev(struct vfio_device *device);
+ int vfio_register_emulated_iommu_dev(struct vfio_device *device);
void vfio_unregister_group_dev(struct vfio_device *device);
The driver should embed the vfio_device in its own structure and call
-vfio_init_group_dev() to pre-configure it before going to registration
-and call vfio_uninit_group_dev() after completing the un-registration.
+vfio_alloc_device() or _vfio_alloc_device() to allocate the structure,
+and can register @init/@release callbacks to manage any private state
+wrapping the vfio_device.
+
+ vfio_alloc_device(dev_struct, member, dev, ops);
+ void vfio_put_device(struct vfio_device *device);
+
vfio_register_group_dev() indicates to the core to begin tracking the
iommu_group of the specified dev and register the dev as owned by a VFIO bus
driver. Once vfio_register_group_dev() returns it is possible for userspace to
@@ -270,28 +273,50 @@ ready before calling it. The driver provides an ops structure for callbacks
similar to a file operations structure::
struct vfio_device_ops {
- int (*open)(struct vfio_device *vdev);
+ char *name;
+ int (*init)(struct vfio_device *vdev);
void (*release)(struct vfio_device *vdev);
+ int (*bind_iommufd)(struct vfio_device *vdev,
+ struct iommufd_ctx *ictx, u32 *out_device_id);
+ void (*unbind_iommufd)(struct vfio_device *vdev);
+ int (*attach_ioas)(struct vfio_device *vdev, u32 *pt_id);
+ int (*open_device)(struct vfio_device *vdev);
+ void (*close_device)(struct vfio_device *vdev);
ssize_t (*read)(struct vfio_device *vdev, char __user *buf,
size_t count, loff_t *ppos);
- ssize_t (*write)(struct vfio_device *vdev,
- const char __user *buf,
- size_t size, loff_t *ppos);
+ ssize_t (*write)(struct vfio_device *vdev, const char __user *buf,
+ size_t count, loff_t *size);
long (*ioctl)(struct vfio_device *vdev, unsigned int cmd,
unsigned long arg);
- int (*mmap)(struct vfio_device *vdev,
- struct vm_area_struct *vma);
- };
+ int (*mmap)(struct vfio_device *vdev, struct vm_area_struct *vma);
+ void (*request)(struct vfio_device *vdev, unsigned int count);
+ int (*match)(struct vfio_device *vdev, char *buf);
+ void (*dma_unmap)(struct vfio_device *vdev, u64 iova, u64 length);
+ int (*device_feature)(struct vfio_device *device, u32 flags,
+ void __user *arg, size_t argsz);
+};
Each function is passed the vdev that was originally registered
-in the vfio_register_group_dev() call above. This allows the bus driver
-to obtain its private data using container_of(). The open/release
-callbacks are issued when a new file descriptor is created for a
-device (via VFIO_GROUP_GET_DEVICE_FD). The ioctl interface provides
-a direct pass through for VFIO_DEVICE_* ioctls. The read/write/mmap
-interfaces implement the device region access defined by the device's
-own VFIO_DEVICE_GET_REGION_INFO ioctl.
-
+in the vfio_register_group_dev() or vfio_register_emulated_iommu_dev()
+call above. This allows the bus driver to obtain its private data using
+container_of().
+- The init/release callbacks are issued in the drivers's structure allocation
+ and put.
+- The open/close_device callbacks are issued when a new file descriptor is
+ created for a device (via VFIO_GROUP_GET_DEVICE_FD).
+- The ioctl interface provides a direct pass through for VFIO_DEVICE_* ioctls.
+- The [un]bind_iommufd callbacks are issued when the device is bound to iommufd.
+ 'unbound' is implied if iommufd is being used.
+- The attach_ioas callback is issued when the device is attached to an IOAS
+ managed by the bound iommufd. The attached IOAS is automatically detached
+ when the device is unbound from the iommufd.
+- The read/write/mmap interfaces implement the device region access defined by
+ the device's own VFIO_DEVICE_GET_REGION_INFO ioctl.
+- The request callback is issued when device is going to be unregistered.
+- The dma_unmap callback is issued when a range of iova's are unmapped in
+ the container or IOAS attached by the device. Drivers which care about
+ DMA unmap can implement this callback and must tolerate receiving unmap
+ notifications before the device is opened.
PPC64 sPAPR implementation note
-------------------------------
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] docs: vfio: Update vfio.rst per latest interfaces
2023-02-02 8:02 ` [PATCH 2/2] docs: vfio: Update vfio.rst per latest interfaces Yi Liu
@ 2023-02-02 22:01 ` Alex Williamson
2023-02-03 4:02 ` Tian, Kevin
2023-02-03 8:00 ` Liu, Yi L
2023-02-03 4:07 ` Tian, Kevin
1 sibling, 2 replies; 10+ messages in thread
From: Alex Williamson @ 2023-02-02 22:01 UTC (permalink / raw)
To: Yi Liu; +Cc: jgg, kevin.tian, chao.p.peng, eric.auger, yi.y.sun, kvm
On Thu, 2 Feb 2023 00:02:01 -0800
Yi Liu <yi.l.liu@intel.com> wrote:
> this imports the latest vfio_device_ops definition to vfio.rst.
>
> Signed-off-by: Yi Liu <yi.l.liu@intel.com>
> ---
> Documentation/driver-api/vfio.rst | 71 +++++++++++++++++++++----------
> 1 file changed, 48 insertions(+), 23 deletions(-)
>
> diff --git a/Documentation/driver-api/vfio.rst b/Documentation/driver-api/vfio.rst
> index c663b6f97825..10d84f01fda1 100644
> --- a/Documentation/driver-api/vfio.rst
> +++ b/Documentation/driver-api/vfio.rst
> @@ -249,19 +249,22 @@ VFIO bus driver API
>
> VFIO bus drivers, such as vfio-pci make use of only a few interfaces
> into VFIO core. When devices are bound and unbound to the driver,
> -the driver should call vfio_register_group_dev() and
> -vfio_unregister_group_dev() respectively::
> +the driver should call vfio_register_group_dev() or
> +vfio_register_emulated_iommu_dev() and vfio_unregister_group_dev()
> +respectively::
>
> - void vfio_init_group_dev(struct vfio_device *device,
> - struct device *dev,
> - const struct vfio_device_ops *ops);
> - void vfio_uninit_group_dev(struct vfio_device *device);
> int vfio_register_group_dev(struct vfio_device *device);
> + int vfio_register_emulated_iommu_dev(struct vfio_device *device);
> void vfio_unregister_group_dev(struct vfio_device *device);
>
> The driver should embed the vfio_device in its own structure and call
> -vfio_init_group_dev() to pre-configure it before going to registration
> -and call vfio_uninit_group_dev() after completing the un-registration.
> +vfio_alloc_device() or _vfio_alloc_device() to allocate the structure,
AIUI, _vfio_alloc_device() is only exported because it's used by
vfio_alloc_device() which is a macro. I don't think we want to list
_vfio_alloc_device() as an equal alternative, if anything we should
discourage any direct use.
> +and can register @init/@release callbacks to manage any private state
> +wrapping the vfio_device.
> +
> + vfio_alloc_device(dev_struct, member, dev, ops);
> + void vfio_put_device(struct vfio_device *device);
> +
> vfio_register_group_dev() indicates to the core to begin tracking the
> iommu_group of the specified dev and register the dev as owned by a VFIO bus
> driver. Once vfio_register_group_dev() returns it is possible for userspace to
> @@ -270,28 +273,50 @@ ready before calling it. The driver provides an ops structure for callbacks
> similar to a file operations structure::
>
> struct vfio_device_ops {
> - int (*open)(struct vfio_device *vdev);
> + char *name;
> + int (*init)(struct vfio_device *vdev);
> void (*release)(struct vfio_device *vdev);
> + int (*bind_iommufd)(struct vfio_device *vdev,
> + struct iommufd_ctx *ictx, u32 *out_device_id);
> + void (*unbind_iommufd)(struct vfio_device *vdev);
> + int (*attach_ioas)(struct vfio_device *vdev, u32 *pt_id);
> + int (*open_device)(struct vfio_device *vdev);
> + void (*close_device)(struct vfio_device *vdev);
> ssize_t (*read)(struct vfio_device *vdev, char __user *buf,
> size_t count, loff_t *ppos);
> - ssize_t (*write)(struct vfio_device *vdev,
> - const char __user *buf,
> - size_t size, loff_t *ppos);
> + ssize_t (*write)(struct vfio_device *vdev, const char __user *buf,
> + size_t count, loff_t *size);
> long (*ioctl)(struct vfio_device *vdev, unsigned int cmd,
> unsigned long arg);
> - int (*mmap)(struct vfio_device *vdev,
> - struct vm_area_struct *vma);
> - };
> + int (*mmap)(struct vfio_device *vdev, struct vm_area_struct *vma);
> + void (*request)(struct vfio_device *vdev, unsigned int count);
> + int (*match)(struct vfio_device *vdev, char *buf);
> + void (*dma_unmap)(struct vfio_device *vdev, u64 iova, u64 length);
> + int (*device_feature)(struct vfio_device *device, u32 flags,
> + void __user *arg, size_t argsz);
> +};
>
> Each function is passed the vdev that was originally registered
> -in the vfio_register_group_dev() call above. This allows the bus driver
> -to obtain its private data using container_of(). The open/release
> -callbacks are issued when a new file descriptor is created for a
> -device (via VFIO_GROUP_GET_DEVICE_FD). The ioctl interface provides
> -a direct pass through for VFIO_DEVICE_* ioctls. The read/write/mmap
> -interfaces implement the device region access defined by the device's
> -own VFIO_DEVICE_GET_REGION_INFO ioctl.
> -
> +in the vfio_register_group_dev() or vfio_register_emulated_iommu_dev()
> +call above. This allows the bus driver to obtain its private data using
> +container_of().
> +- The init/release callbacks are issued in the drivers's structure allocation
drivers' is the possessive of plural drivers. Thanks,
Alex
> + and put.
> +- The open/close_device callbacks are issued when a new file descriptor is
> + created for a device (via VFIO_GROUP_GET_DEVICE_FD).
> +- The ioctl interface provides a direct pass through for VFIO_DEVICE_* ioctls.
> +- The [un]bind_iommufd callbacks are issued when the device is bound to iommufd.
> + 'unbound' is implied if iommufd is being used.
> +- The attach_ioas callback is issued when the device is attached to an IOAS
> + managed by the bound iommufd. The attached IOAS is automatically detached
> + when the device is unbound from the iommufd.
> +- The read/write/mmap interfaces implement the device region access defined by
> + the device's own VFIO_DEVICE_GET_REGION_INFO ioctl.
> +- The request callback is issued when device is going to be unregistered.
> +- The dma_unmap callback is issued when a range of iova's are unmapped in
> + the container or IOAS attached by the device. Drivers which care about
> + DMA unmap can implement this callback and must tolerate receiving unmap
> + notifications before the device is opened.
>
> PPC64 sPAPR implementation note
> -------------------------------
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [PATCH 1/2] vfio: Update the kdoc for vfio_device_ops
2023-02-02 8:02 ` [PATCH 1/2] vfio: Update the kdoc for vfio_device_ops Yi Liu
@ 2023-02-03 4:01 ` Tian, Kevin
0 siblings, 0 replies; 10+ messages in thread
From: Tian, Kevin @ 2023-02-03 4:01 UTC (permalink / raw)
To: Liu, Yi L, alex.williamson, jgg; +Cc: chao.p.peng, eric.auger, yi.y.sun, kvm
> From: Liu, Yi L <yi.l.liu@intel.com>
> Sent: Thursday, February 2, 2023 4:02 PM
>
> this is missed when adding bind_iommufd/unbind_iommufd and attach_ioas.
>
> Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [PATCH 2/2] docs: vfio: Update vfio.rst per latest interfaces
2023-02-02 22:01 ` Alex Williamson
@ 2023-02-03 4:02 ` Tian, Kevin
2023-02-03 7:58 ` Liu, Yi L
2023-02-03 8:00 ` Liu, Yi L
1 sibling, 1 reply; 10+ messages in thread
From: Tian, Kevin @ 2023-02-03 4:02 UTC (permalink / raw)
To: Alex Williamson, Liu, Yi L; +Cc: jgg, chao.p.peng, eric.auger, yi.y.sun, kvm
> From: Alex Williamson <alex.williamson@redhat.com>
> Sent: Friday, February 3, 2023 6:01 AM
> >
> > The driver should embed the vfio_device in its own structure and call
> > -vfio_init_group_dev() to pre-configure it before going to registration
> > -and call vfio_uninit_group_dev() after completing the un-registration.
> > +vfio_alloc_device() or _vfio_alloc_device() to allocate the structure,
>
> AIUI, _vfio_alloc_device() is only exported because it's used by
> vfio_alloc_device() which is a macro. I don't think we want to list
> _vfio_alloc_device() as an equal alternative, if anything we should
> discourage any direct use.
>
Agree
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [PATCH 2/2] docs: vfio: Update vfio.rst per latest interfaces
2023-02-02 8:02 ` [PATCH 2/2] docs: vfio: Update vfio.rst per latest interfaces Yi Liu
2023-02-02 22:01 ` Alex Williamson
@ 2023-02-03 4:07 ` Tian, Kevin
2023-02-03 7:59 ` Liu, Yi L
1 sibling, 1 reply; 10+ messages in thread
From: Tian, Kevin @ 2023-02-03 4:07 UTC (permalink / raw)
To: Liu, Yi L, alex.williamson, jgg; +Cc: chao.p.peng, eric.auger, yi.y.sun, kvm
> From: Liu, Yi L <yi.l.liu@intel.com>
> Sent: Thursday, February 2, 2023 4:02 PM
>
>
> VFIO bus drivers, such as vfio-pci make use of only a few interfaces
> into VFIO core. When devices are bound and unbound to the driver,
> -the driver should call vfio_register_group_dev() and
> -vfio_unregister_group_dev() respectively::
> +the driver should call vfio_register_group_dev() or
> +vfio_register_emulated_iommu_dev() and vfio_unregister_group_dev()
> +respectively::
No need to duplicate every function name with the below list. Probably
just say that "Following interfaces are called when devices are bound
to and unbound from the driver:"
> +in the vfio_register_group_dev() or vfio_register_emulated_iommu_dev()
> +call above. This allows the bus driver to obtain its private data using
> +container_of().
> +- The init/release callbacks are issued in the drivers's structure allocation
> + and put.
"issued when vfio_device is initialized and released"
> +- The open/close_device callbacks are issued when a new file descriptor is
> + created for a device (via VFIO_GROUP_GET_DEVICE_FD).
> +- The ioctl interface provides a direct pass through for VFIO_DEVICE_* ioctls.
> +- The [un]bind_iommufd callbacks are issued when the device is bound to
> iommufd.
> + 'unbound' is implied if iommufd is being used.
I didn't get what the last sentence tries to say
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [PATCH 2/2] docs: vfio: Update vfio.rst per latest interfaces
2023-02-03 4:02 ` Tian, Kevin
@ 2023-02-03 7:58 ` Liu, Yi L
0 siblings, 0 replies; 10+ messages in thread
From: Liu, Yi L @ 2023-02-03 7:58 UTC (permalink / raw)
To: Tian, Kevin, Alex Williamson; +Cc: jgg, chao.p.peng, eric.auger, yi.y.sun, kvm
> From: Tian, Kevin <kevin.tian@intel.com>
> Sent: Friday, February 3, 2023 12:02 PM
>
> > From: Alex Williamson <alex.williamson@redhat.com>
> > Sent: Friday, February 3, 2023 6:01 AM
> > >
> > > The driver should embed the vfio_device in its own structure and call
> > > -vfio_init_group_dev() to pre-configure it before going to registration
> > > -and call vfio_uninit_group_dev() after completing the un-registration.
> > > +vfio_alloc_device() or _vfio_alloc_device() to allocate the structure,
> >
> > AIUI, _vfio_alloc_device() is only exported because it's used by
> > vfio_alloc_device() which is a macro. I don't think we want to list
> > _vfio_alloc_device() as an equal alternative, if anything we should
> > discourage any direct use.
> >
>
> Agree
Done.
Regards,
Yi Liu
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [PATCH 2/2] docs: vfio: Update vfio.rst per latest interfaces
2023-02-03 4:07 ` Tian, Kevin
@ 2023-02-03 7:59 ` Liu, Yi L
0 siblings, 0 replies; 10+ messages in thread
From: Liu, Yi L @ 2023-02-03 7:59 UTC (permalink / raw)
To: Tian, Kevin, alex.williamson, jgg; +Cc: chao.p.peng, eric.auger, yi.y.sun, kvm
> From: Tian, Kevin <kevin.tian@intel.com>
> Sent: Friday, February 3, 2023 12:08 PM
>
> > From: Liu, Yi L <yi.l.liu@intel.com>
> > Sent: Thursday, February 2, 2023 4:02 PM
> >
> >
> > VFIO bus drivers, such as vfio-pci make use of only a few interfaces
> > into VFIO core. When devices are bound and unbound to the driver,
> > -the driver should call vfio_register_group_dev() and
> > -vfio_unregister_group_dev() respectively::
> > +the driver should call vfio_register_group_dev() or
> > +vfio_register_emulated_iommu_dev() and vfio_unregister_group_dev()
> > +respectively::
>
> No need to duplicate every function name with the below list. Probably
> just say that "Following interfaces are called when devices are bound
> to and unbound from the driver:"
Got it.
>
> > +in the vfio_register_group_dev() or
> vfio_register_emulated_iommu_dev()
> > +call above. This allows the bus driver to obtain its private data using
> > +container_of().
> > +- The init/release callbacks are issued in the drivers's structure allocation
> > + and put.
>
> "issued when vfio_device is initialized and released"
Got it.
> > +- The open/close_device callbacks are issued when a new file descriptor
> is
> > + created for a device (via VFIO_GROUP_GET_DEVICE_FD).
> > +- The ioctl interface provides a direct pass through for VFIO_DEVICE_*
> ioctls.
> > +- The [un]bind_iommufd callbacks are issued when the device is bound to
> > iommufd.
> > + 'unbound' is implied if iommufd is being used.
>
> I didn't get what the last sentence tries to say
Oops, it is a rebase error. ☹ removed.
Regards,
Yi Liu
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [PATCH 2/2] docs: vfio: Update vfio.rst per latest interfaces
2023-02-02 22:01 ` Alex Williamson
2023-02-03 4:02 ` Tian, Kevin
@ 2023-02-03 8:00 ` Liu, Yi L
1 sibling, 0 replies; 10+ messages in thread
From: Liu, Yi L @ 2023-02-03 8:00 UTC (permalink / raw)
To: Alex Williamson; +Cc: jgg, Tian, Kevin, chao.p.peng, eric.auger, yi.y.sun, kvm
> From: Alex Williamson <alex.williamson@redhat.com>
> Sent: Friday, February 3, 2023 6:01 AM
> On Thu, 2 Feb 2023 00:02:01 -0800
> > +in the vfio_register_group_dev() or
> vfio_register_emulated_iommu_dev()
> > +call above. This allows the bus driver to obtain its private data using
> > +container_of().
> > +- The init/release callbacks are issued in the drivers's structure allocation
>
> drivers' is the possessive of plural drivers. Thanks,
>
Yes. Thanks.
Regards,
Yi Liu
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-02-03 8:02 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-02 8:01 [PATCH 0/2] Update VFIO doc Yi Liu
2023-02-02 8:02 ` [PATCH 1/2] vfio: Update the kdoc for vfio_device_ops Yi Liu
2023-02-03 4:01 ` Tian, Kevin
2023-02-02 8:02 ` [PATCH 2/2] docs: vfio: Update vfio.rst per latest interfaces Yi Liu
2023-02-02 22:01 ` Alex Williamson
2023-02-03 4:02 ` Tian, Kevin
2023-02-03 7:58 ` Liu, Yi L
2023-02-03 8:00 ` Liu, Yi L
2023-02-03 4:07 ` Tian, Kevin
2023-02-03 7:59 ` Liu, Yi L
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.