virtio: add create_virtqueues and delete_virtqueues in virtio_dispatch

This is the first step to decoupling the virtio device and transport
layer.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
This commit is contained in:
Bowen Wang
2023-07-12 10:56:55 +02:00
committed by Arnaud Pouliquen
parent dcc21e6657
commit 7f906105a9
2 changed files with 215 additions and 0 deletions
File diff suppressed because it is too large Load Diff
+8
View File
@@ -104,6 +104,14 @@ int virtio_create_virtqueues(struct virtio_device *vdev, unsigned int flags,
int ret;
(void)flags;
if (!vdev)
return -EINVAL;
if (vdev->func && vdev->func->create_virtqueues) {
return vdev->func->create_virtqueues(vdev, flags, nvqs,
names, callbacks);
}
num_vrings = vdev->vrings_num;
if (nvqs > num_vrings)
return ERROR_VQUEUE_INVLD_PARAM;