Lines Matching +full:virtio +full:- +full:device
2 VDUSE - "vDPA Device in Userspace"
5 vDPA (virtio data path acceleration) device is a device that uses a
6 datapath which complies with the virtio specifications with vendor
9 possible to implement software-emulated vDPA devices in userspace. And
10 to make the device emulation more secure, the emulated vDPA device's
14 Note that only virtio block device is supported by VDUSE framework now,
16 the data path is run by an unprivileged user. The support for other device
17 types can be added after the security issue of corresponding device driver
21 ----------------------------
49 .. code-block:: c
59 return -ENOMEM;
92 return -1;
96 ---------------
98 As mentioned above, a VDUSE device is created by ioctl(VDUSE_CREATE_DEV) on
100 such as device name (uniquely identify a VDUSE device), virtio features, virtio
101 configuration space, the number of virtqueues and so on for this emulated device.
102 Then a char device interface (/dev/vduse/$NAME) is exported to userspace for device
104 add per-virtqueue configuration such as the max size of virtqueue to the device.
106 After the initialization, the VDUSE device can be attached to vDPA bus via
111 .. code-block:: c
121 return -1;
133 return -1;
140 - VDUSE_GET_VQ_STATE: Get the state for virtqueue, userspace should return
141 avail index for split virtqueue or the device/driver ring wrap counters and
144 - VDUSE_SET_STATUS: Set the device status, userspace should follow
145 the virtio spec: https://docs.oasis-open.org/virtio/virtio/v1.1/virtio-v1.1.html
146 to process this message. For example, fail to set the FEATURES_OK device
147 status bit if the device can not accept the negotiated virtio features
150 - VDUSE_UPDATE_IOTLB: Notify userspace to update the memory mapping for specified
164 .. code-block:: c
203 size = entry.last - entry.start + 1;
204 *len = entry.last - iova + 1;
215 * message is received or the device is reset.
218 return addr + iova - entry.start;