On Mon, Dec 05, 2022 at 04:49:43PM +0800, Longpeng(Mike) wrote:
> From: Longpeng <longpe...@huawei.com>
> 
> Signed-off-by: Longpeng <longpe...@huawei.com>

Dropped 5/5 for now due to comments and build errors.

> ---
>  .../devices/vhost-vdpa-generic-device.rst     | 66 +++++++++++++++++++
>  1 file changed, 66 insertions(+)
>  create mode 100644 docs/system/devices/vhost-vdpa-generic-device.rst
> 
> diff --git a/docs/system/devices/vhost-vdpa-generic-device.rst 
> b/docs/system/devices/vhost-vdpa-generic-device.rst
> new file mode 100644
> index 0000000000..7d13359ea1
> --- /dev/null
> +++ b/docs/system/devices/vhost-vdpa-generic-device.rst
> @@ -0,0 +1,66 @@
> +
> +=========================
> +vhost-vDPA generic device
> +=========================
> +
> +This document explains the usage of the vhost-vDPA generic device.
> +
> +Description
> +-----------
> +
> +vDPA(virtio data path acceleration) device is a device that uses a datapath
> +which complies with the virtio specifications with vendor specific control
> +path.
> +
> +QEMU provides two types of vhost-vDPA devices to enable the vDPA device, one
> +is type sensitive which means QEMU needs to know the actual device type
> +(e.g. net, blk, scsi) and another is called "vhost-vDPA generic device" which
> +is type insensitive.
> +
> +The vhost-vDPA generic device builds on the vhost-vdpa subsystem and virtio
> +subsystem. It is quite small, but it can support any type of virtio device.
> +
> +Examples
> +--------
> +
> +1. Please make sure the modules listed bellow are installed:
> +    vhost.ko
> +    vhost_iotlb.ko
> +    vdpa.ko
> +    vhost_vdpa.ko
> +
> +
> +2. Prepare the vhost-vDPA backends, here is an example using vdpa_sim_blk
> +   device:
> +
> +::
> +  host# modprobe vdpa_sim_blk
> +  host# vdpa dev add mgmtdev vdpasim_blk name blk0
> +  (...you can see the vhost-vDPA device under /dev directory now...)
> +  host# ls -l /dev/vhost-vdpa-*
> +  crw------- 1 root root 236, 0 Nov  2 00:49 /dev/vhost-vdpa-0
> +
> +Note:
> +It needs some vendor-specific steps to provision the vDPA device if you're
> +using real HW devices, such as installing the vendor-specific vDPA driver
> +and binding the device to the driver.
> +
> +
> +3. Start the virtual machine:
> +
> +Start QEMU with virtio-mmio bus:
> +
> +::
> +  host# qemu-system                                                  \
> +      -M microvm -m 512 -smp 2 -kernel ... -initrd ...               \
> +      -device vhost-vdpa-device,vhostdev=/dev/vhost-vdpa-0           \
> +      ...
> +
> +
> +Start QEMU with virtio-pci bus:
> +
> +::
> +  host# qemu-system                                                  \
> +      -M pc -m 512 -smp 2                                            \
> +      -device vhost-vdpa-device-pci,vhostdev=/dev/vhost-vdpa-0       \
> +      ...
> -- 
> 2.23.0


Reply via email to