From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
Jason Wang <jasowang@redhat.com>
Subject: [PULL v3 33/81] virtio: introduce virtio_queue_reset()
Date: Sat, 5 Nov 2022 13:17:04 -0400 [thread overview]
Message-ID: <20221105171116.432921-34-mst@redhat.com> (raw)
In-Reply-To: <20221105171116.432921-1-mst@redhat.com>
From: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Introduce a new interface function virtio_queue_reset() to implement
reset for vq.
Add a new callback to VirtioDeviceClass for queue reset operation for
each child device.
Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20221017092558.111082-3-xuanzhuo@linux.alibaba.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
include/hw/virtio/virtio.h | 2 ++
hw/virtio/virtio.c | 11 +++++++++++
2 files changed, 13 insertions(+)
diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
index f41b4a7e64..74d76c1dbc 100644
--- a/include/hw/virtio/virtio.h
+++ b/include/hw/virtio/virtio.h
@@ -148,6 +148,7 @@ struct VirtioDeviceClass {
void (*set_config)(VirtIODevice *vdev, const uint8_t *config);
void (*reset)(VirtIODevice *vdev);
void (*set_status)(VirtIODevice *vdev, uint8_t val);
+ void (*queue_reset)(VirtIODevice *vdev, uint32_t queue_index);
/* For transitional devices, this is a bitmap of features
* that are only exposed on the legacy interface but not
* the modern one.
@@ -286,6 +287,7 @@ int virtio_queue_set_host_notifier_mr(VirtIODevice *vdev, int n,
MemoryRegion *mr, bool assign);
int virtio_set_status(VirtIODevice *vdev, uint8_t val);
void virtio_reset(void *opaque);
+void virtio_queue_reset(VirtIODevice *vdev, uint32_t queue_index);
void virtio_update_irq(VirtIODevice *vdev);
int virtio_set_features(VirtIODevice *vdev, uint64_t val);
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 6f42fcadd7..cf5f9ca387 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -2484,6 +2484,17 @@ static void __virtio_queue_reset(VirtIODevice *vdev, uint32_t i)
virtio_virtqueue_reset_region_cache(&vdev->vq[i]);
}
+void virtio_queue_reset(VirtIODevice *vdev, uint32_t queue_index)
+{
+ VirtioDeviceClass *k = VIRTIO_DEVICE_GET_CLASS(vdev);
+
+ if (k->queue_reset) {
+ k->queue_reset(vdev, queue_index);
+ }
+
+ __virtio_queue_reset(vdev, queue_index);
+}
+
void virtio_reset(void *opaque)
{
VirtIODevice *vdev = opaque;
--
MST
next prev parent reply other threads:[~2022-11-05 17:54 UTC|newest]
Thread overview: 97+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-05 17:15 [PULL v3 00/81] pci,pc,virtio: features, tests, fixes, cleanups Michael S. Tsirkin
2022-11-05 17:15 ` [PULL v3 01/81] hw/i386/e820: remove legacy reserved entries for e820 Michael S. Tsirkin
2022-11-05 17:15 ` [PULL v3 02/81] tests/acpi: allow SSDT changes Michael S. Tsirkin
2022-11-05 17:15 ` [PULL v3 03/81] acpi/ssdt: Fix aml_or() and aml_and() in if clause Michael S. Tsirkin
2022-11-05 17:15 ` [PULL v3 04/81] acpi/nvdimm: define macro for NVDIMM Device _DSM Michael S. Tsirkin
2022-11-05 17:15 ` [PULL v3 05/81] acpi/nvdimm: Implement ACPI NVDIMM Label Methods Michael S. Tsirkin
2022-11-05 17:15 ` [PULL v3 06/81] test/acpi/bios-tables-test: SSDT: update golden master binaries Michael S. Tsirkin
2022-11-05 17:15 ` [PULL v3 07/81] virtio-crypto: Support asynchronous mode Michael S. Tsirkin
2022-11-05 17:15 ` [PULL v3 08/81] crypto: Support DER encodings Michael S. Tsirkin
2022-11-05 17:15 ` [PULL v3 09/81] crypto: Support export akcipher to pkcs8 Michael S. Tsirkin
2022-11-05 17:15 ` [PULL v3 10/81] cryptodev: Add a lkcf-backend for cryptodev Michael S. Tsirkin
2022-11-05 17:15 ` [PULL v3 11/81] acpi/tests/avocado/bits: initial commit of test scripts that are run by biosbits Michael S. Tsirkin
2022-11-05 17:15 ` [PULL v3 12/81] acpi/tests/avocado/bits: disable acpi PSS tests that are failing in biosbits Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 13/81] acpi/tests/avocado/bits: add biosbits config file for running bios tests Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 14/81] acpi/tests/avocado/bits: add acpi and smbios avocado tests that uses biosbits Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 15/81] acpi/tests/avocado/bits/doc: add a doc file to describe the acpi bits test Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 16/81] MAINTAINERS: add myself as the maintainer for acpi biosbits avocado tests Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 17/81] hw/smbios: add core_count2 to smbios table type 4 Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 18/81] bios-tables-test: teach test to use smbios 3.0 tables Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 19/81] tests/acpi: allow changes for core_count2 test Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 20/81] bios-tables-test: add test for number of cores > 255 Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 21/81] tests/acpi: update tables for new core count test Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 22/81] tests/acpi: virt: allow acpi MADT and FADT changes Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 23/81] acpi: fadt: support revision 6.0 of the ACPI specification Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 24/81] acpi: arm/virt: madt: bump to revision 4 accordingly to ACPI 6.0 Errata A Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 25/81] tests/acpi: virt: update ACPI MADT and FADT binaries Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 26/81] hw/pci: PCIe Data Object Exchange emulation Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 27/81] hw/mem/cxl-type3: Add MSIX support Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 28/81] hw/cxl/cdat: CXL CDAT Data Object Exchange implementation Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 29/81] hw/mem/cxl-type3: Add CXL CDAT Data Object Exchange Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 30/81] hw/pci-bridge/cxl-upstream: Add a CDAT table access DOE Michael S. Tsirkin
2022-11-05 17:16 ` [PULL v3 31/81] hw/virtio/virtio-iommu-pci: Enforce the device is plugged on the root bus Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 32/81] virtio: introduce __virtio_queue_reset() Michael S. Tsirkin
2022-11-05 17:17 ` Michael S. Tsirkin [this message]
2022-11-05 17:17 ` [PULL v3 34/81] virtio: introduce virtio_queue_enable() Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 35/81] virtio: core: vq reset feature negotation support Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 36/81] virtio-pci: support queue reset Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 37/81] virtio-pci: support queue enable Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 38/81] vhost: expose vhost_virtqueue_start() Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 39/81] vhost: expose vhost_virtqueue_stop() Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 40/81] vhost-net: vhost-kernel: introduce vhost_net_virtqueue_reset() Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 41/81] vhost-net: vhost-kernel: introduce vhost_net_virtqueue_restart() Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 42/81] virtio-net: introduce flush_or_purge_queued_packets() Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 43/81] virtio-net: support queue reset Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 44/81] virtio-net: support queue_enable Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 45/81] vhost: vhost-kernel: enable vq reset feature Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 46/81] virtio-net: " Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 47/81] virtio-rng-pci: Allow setting nvectors, so we can use MSI-X Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 48/81] vhost-user: Fix out of order vring host notification handling Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 49/81] acpi: pc: vga: use AcpiDevAmlIf interface to build VGA device descriptors Michael S. Tsirkin
2022-11-06 21:16 ` Bernhard Beschow
2022-11-06 21:39 ` Bernhard Beschow
2022-11-07 7:42 ` Ani Sinha
2022-11-07 12:32 ` Michael S. Tsirkin
2022-11-07 12:46 ` Ani Sinha
2022-11-07 13:00 ` Michael S. Tsirkin
2022-11-07 22:07 ` Bernhard Beschow
2022-11-07 22:28 ` Michael S. Tsirkin
2022-11-08 21:34 ` B
2022-11-05 17:17 ` [PULL v3 50/81] tests: acpi: whitelist DSDT before generating PCI-ISA bridge AML automatically Michael S. Tsirkin
2022-11-06 21:48 ` Bernhard Beschow
2022-11-07 8:36 ` Ani Sinha
2022-11-07 12:51 ` Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 51/81] acpi: pc/q35: drop ad-hoc PCI-ISA bridge AML routines and let bus ennumeration generate AML Michael S. Tsirkin
2022-11-05 17:17 ` [PULL v3 52/81] tests: acpi: update expected DSDT after ISA bridge is moved directly under PCI host bridge Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 53/81] tests: acpi: whitelist DSDT before generating ICH9_SMB AML automatically Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 54/81] acpi: add get_dev_aml_func() helper Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 55/81] acpi: enumerate SMB bridge automatically along with other PCI devices Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 56/81] tests: acpi: update expected blobs Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 57/81] tests: acpi: pc/q35 whitelist DSDT before \_GPE cleanup Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 58/81] acpi: pc/35: sanitize _GPE declaration order Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 59/81] tests: acpi: update expected blobs Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 60/81] hw/acpi/erst.c: Fix memory handling issues Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 61/81] MAINTAINERS: Add qapi/virtio.json to section "virtio" Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 62/81] msix: Assert that specified vector is in range Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 63/81] hw/i386/pc.c: CXL Fixed Memory Window should not reserve e820 in bios Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 64/81] hw/i386/acpi-build: Remove unused struct Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 65/81] hw/i386/acpi-build: Resolve redundant attribute Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 66/81] hw/i386/acpi-build: Resolve north rather than south bridges Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 67/81] hmat acpi: Don't require initiator value in -numa Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 68/81] tests: acpi: add and whitelist *.hmat-noinitiator expected blobs Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 69/81] tests: acpi: q35: add test for hmat nodes without initiators Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 70/81] tests: acpi: q35: update expected blobs *.hmat-noinitiators expected HMAT: Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 71/81] tests: Add HMAT AArch64/virt empty table files Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 72/81] hw/arm/virt: Enable HMAT on arm virt machine Michael S. Tsirkin
2022-11-05 17:18 ` [PULL v3 73/81] tests: acpi: aarch64/virt: add a test for hmat nodes with no initiators Michael S. Tsirkin
2022-11-05 17:19 ` [PULL v3 74/81] tests: virt: Update expected *.acpihmatvirt tables Michael S. Tsirkin
2022-11-05 17:19 ` [PULL v3 75/81] vfio: move implement of vfio_get_xlat_addr() to memory.c Michael S. Tsirkin
2022-11-05 17:19 ` [PULL v3 76/81] intel-iommu: don't warn guest errors when getting rid2pasid entry Michael S. Tsirkin
2022-11-05 17:19 ` [PULL v3 77/81] intel-iommu: drop VTDBus Michael S. Tsirkin
2022-11-05 17:19 ` [PULL v3 78/81] intel-iommu: convert VTD_PE_GET_FPD_ERR() to be a function Michael S. Tsirkin
2022-11-05 17:19 ` [PULL v3 79/81] intel-iommu: PASID support Michael S. Tsirkin
2022-11-05 17:19 ` [PULL v3 80/81] vhost: Change the sequence of device start Michael S. Tsirkin
2022-11-05 17:19 ` [PULL v3 81/81] vhost-user: Support vhost_dev_start Michael S. Tsirkin
2022-11-07 10:43 ` [PULL v3 00/81] pci,pc,virtio: features, tests, fixes, cleanups Stefan Hajnoczi
2022-11-07 12:30 ` Michael S. Tsirkin
2022-11-08 13:32 ` Igor Mammedov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221105171116.432921-34-mst@redhat.com \
--to=mst@redhat.com \
--cc=jasowang@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=xuanzhuo@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).