[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v4 27/83] virtio: introduce __virtio_queue_reset()
From: |
Michael S. Tsirkin |
Subject: |
[PULL v4 27/83] virtio: introduce __virtio_queue_reset() |
Date: |
Mon, 7 Nov 2022 17:49:47 -0500 |
From: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Separate the logic of vq reset. This logic will be called directly
later.
Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20221017092558.111082-2-xuanzhuo@linux.alibaba.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/virtio/virtio.c | 37 +++++++++++++++++++++----------------
1 file changed, 21 insertions(+), 16 deletions(-)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 808446b4c9..6f42fcadd7 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -2464,6 +2464,26 @@ static enum virtio_device_endian
virtio_current_cpu_endian(void)
}
}
+static void __virtio_queue_reset(VirtIODevice *vdev, uint32_t i)
+{
+ vdev->vq[i].vring.desc = 0;
+ vdev->vq[i].vring.avail = 0;
+ vdev->vq[i].vring.used = 0;
+ vdev->vq[i].last_avail_idx = 0;
+ vdev->vq[i].shadow_avail_idx = 0;
+ vdev->vq[i].used_idx = 0;
+ vdev->vq[i].last_avail_wrap_counter = true;
+ vdev->vq[i].shadow_avail_wrap_counter = true;
+ vdev->vq[i].used_wrap_counter = true;
+ virtio_queue_set_vector(vdev, i, VIRTIO_NO_VECTOR);
+ vdev->vq[i].signalled_used = 0;
+ vdev->vq[i].signalled_used_valid = false;
+ vdev->vq[i].notification = true;
+ vdev->vq[i].vring.num = vdev->vq[i].vring.num_default;
+ vdev->vq[i].inuse = 0;
+ virtio_virtqueue_reset_region_cache(&vdev->vq[i]);
+}
+
void virtio_reset(void *opaque)
{
VirtIODevice *vdev = opaque;
@@ -2495,22 +2515,7 @@ void virtio_reset(void *opaque)
virtio_notify_vector(vdev, vdev->config_vector);
for(i = 0; i < VIRTIO_QUEUE_MAX; i++) {
- vdev->vq[i].vring.desc = 0;
- vdev->vq[i].vring.avail = 0;
- vdev->vq[i].vring.used = 0;
- vdev->vq[i].last_avail_idx = 0;
- vdev->vq[i].shadow_avail_idx = 0;
- vdev->vq[i].used_idx = 0;
- vdev->vq[i].last_avail_wrap_counter = true;
- vdev->vq[i].shadow_avail_wrap_counter = true;
- vdev->vq[i].used_wrap_counter = true;
- virtio_queue_set_vector(vdev, i, VIRTIO_NO_VECTOR);
- vdev->vq[i].signalled_used = 0;
- vdev->vq[i].signalled_used_valid = false;
- vdev->vq[i].notification = true;
- vdev->vq[i].vring.num = vdev->vq[i].vring.num_default;
- vdev->vq[i].inuse = 0;
- virtio_virtqueue_reset_region_cache(&vdev->vq[i]);
+ __virtio_queue_reset(vdev, i);
}
}
--
MST
- [PULL v4 17/83] tests/acpi: virt: allow acpi MADT and FADT changes, (continued)
- [PULL v4 17/83] tests/acpi: virt: allow acpi MADT and FADT changes, Michael S. Tsirkin, 2022/11/07
- [PULL v4 18/83] acpi: fadt: support revision 6.0 of the ACPI specification, Michael S. Tsirkin, 2022/11/07
- [PULL v4 19/83] acpi: arm/virt: madt: bump to revision 4 accordingly to ACPI 6.0 Errata A, Michael S. Tsirkin, 2022/11/07
- [PULL v4 20/83] tests/acpi: virt: update ACPI MADT and FADT binaries, Michael S. Tsirkin, 2022/11/07
- [PULL v4 21/83] hw/pci: PCIe Data Object Exchange emulation, Michael S. Tsirkin, 2022/11/07
- [PULL v4 22/83] hw/mem/cxl-type3: Add MSIX support, Michael S. Tsirkin, 2022/11/07
- [PULL v4 23/83] hw/cxl/cdat: CXL CDAT Data Object Exchange implementation, Michael S. Tsirkin, 2022/11/07
- [PULL v4 24/83] hw/mem/cxl-type3: Add CXL CDAT Data Object Exchange, Michael S. Tsirkin, 2022/11/07
- [PULL v4 25/83] hw/pci-bridge/cxl-upstream: Add a CDAT table access DOE, Michael S. Tsirkin, 2022/11/07
- [PULL v4 26/83] hw/virtio/virtio-iommu-pci: Enforce the device is plugged on the root bus, Michael S. Tsirkin, 2022/11/07
- [PULL v4 27/83] virtio: introduce __virtio_queue_reset(),
Michael S. Tsirkin <=
- [PULL v4 28/83] virtio: introduce virtio_queue_reset(), Michael S. Tsirkin, 2022/11/07
- [PULL v4 29/83] virtio: introduce virtio_queue_enable(), Michael S. Tsirkin, 2022/11/07
- Re: [PULL v4 29/83] virtio: introduce virtio_queue_enable(), Stefan Hajnoczi, 2022/11/08
- Re: [PULL v4 29/83] virtio: introduce virtio_queue_enable(), Jason Wang, 2022/11/08
- Re: [PULL v4 29/83] virtio: introduce virtio_queue_enable(), Michael S. Tsirkin, 2022/11/09
- Re: [PULL v4 29/83] virtio: introduce virtio_queue_enable(), Xuan Zhuo, 2022/11/09
- Re: [PULL v4 29/83] virtio: introduce virtio_queue_enable(), Michael S. Tsirkin, 2022/11/09
- Re: [PULL v4 29/83] virtio: introduce virtio_queue_enable(), Xuan Zhuo, 2022/11/09
- Re: [PULL v4 29/83] virtio: introduce virtio_queue_enable(), Michael S. Tsirkin, 2022/11/09
- Re: [PULL v4 29/83] virtio: introduce virtio_queue_enable(), Jason Wang, 2022/11/09